# Vinted API
> Live data from Vinted, Europe's largest second-hand fashion marketplace, with no account and no key. Vinted's public catalogue sits behind an anonymous session; this API bootstraps that session and reads Vinted's own internal JSON, returning clean results. Search the live catalogue by keyword with a price range and sort order (newest, price low-to-high, price high-to-low, relevance) — each listing with its price, brand, size, condition, primary photo, favourite count and seller. List any seller's public listings (their "closet"). And read a seller's public profile — item count, follower and following counts, positive/negative feedback counts and reputation. The resale / second-hand-commerce layer for shopping aggregators, price-comparison, fashion-resale analytics and deal-finding tools. Distinct from new-goods marketplace readers. Live from Vinted; short cache only.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/vinted-api/..."
```

## Pricing
- **Free** (Free) — 9,300 calls/Mo, 3 req/s
- **Starter** ($8/Mo) — 176,000 calls/Mo, 10 req/s
- **Pro** ($26/Mo) — 920,000 calls/Mo, 25 req/s
- **Scale** ($75/Mo) — 5,750,000 calls/Mo, 60 req/s

## Endpoints

### Search

#### `GET /v1/search` — Search the Vinted catalogue

**Parameters:**
- `q` (query, optional, string) — Keyword (omit to browse newest) Example: `nike`
- `price_from` (query, optional, string) — Min price
- `price_to` (query, optional, string) — Max price
- `order` (query, optional, string) — newest | price_low | price_high | relevance Example: `newest`
- `limit` (query, optional, string) — Page size (1-96) Example: `20`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/vinted-api/v1/search?q=nike&order=newest&limit=20"
```

**Response:**
```json
{
    "data": {
        "note": "Live Vinted catalogue search — second-hand fashion listings matching a keyword, each with its price, brand, size, condition status, primary photo, favourite count and seller. Filter with q (keyword), price_from / price_to, and order (newest, price_low, price_high, relevance). Omit q to browse the newest listings.",
        "count": 0,
        "items": [],
        "query": "nike",
        "source": "Vinted"
    },
    "meta": {
        "timestamp": "2026-06-14T17:03:45.320Z",
        "request_id": "60b6f5f8-4925-449d-a8b7-14a15771b48c"
    },
    "status": "ok",
    "message": "Items retrieved successfully",
    "success": true
}
```

### Closet

#### `GET /v1/closet` — A seller's public listings

**Parameters:**
- `id` (query, optional, string) — Seller user id (numeric); omit for a recent seller
- `limit` (query, optional, string) — Page size (1-96) Example: `20`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/vinted-api/v1/closet?limit=20"
```

**Response:**
```json
{
    "data": {
        "note": "A Vinted seller's public listings (their 'closet') — every item the seller currently has for sale, each with price, brand, size, condition, photo and favourite count. Pass id (the seller's numeric user id from /v1/user or /v1/search), or omit to use a recent seller.",
        "count": 20,
        "items": [
            {
                "id": 9173913426,
                "url": "https://www.vinted.com/items/9173913426-momcozy-22oz-mint-green-insulated-breast-milk-cooler-designed-for-safe-travel",
                "size": null,
                "brand": "Momcozy",
                "photo": "https://images1.vinted.net/t/06_01fc9_7p2JF357tkwMEWwUn9sHxirg/f800/1781456613.jpeg?s=c4770b230ee82449495d94cf2c5f9ce31cccc194",
                "price": 65,
                "title": "Momcozy 22oz mint green insulated breast milk cooler designed for safe, travel",
                "seller": "dorifindings1",
                "status": "New with tags",
                "currency": "USD",
                "seller_id": 3150832693,
                "favourites": 0
            },
            {
                "id": 9173913284,
                "url": "https://www.vinted.com/items/9173913284-jane-delancey-womens-striped-button-up-shirt-star-embroidery-1x-summer-resort",
                "size": "Other",
                "brand": "Jane and Delancey",
                "photo": "https://images1.vinted.net/t/06_01494_BAGZ1Fg4tbgvjc3maUuqmurS/f800/1781456612.jpeg?s=ba5f24ea81ab691
…(truncated, see openapi.json for full schema)
```

### User

#### `GET /v1/user` — A seller's public profile

**Parameters:**
- `id` (query, optional, string) — Seller user id (numeric); omit for a recent seller

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/vinted-api/v1/user"
```

**Response:**
```json
{
    "data": {
        "id": 3150832693,
        "note": "A Vinted seller's public profile — their item count, follower/following counts, positive/negative feedback counts and reputation. Omit id to use a recent listing's seller.",
        "login": "dorifindings1",
        "avatar": "https://images1.vinted.net/t/01_00386_XAPBUGVvr598nHM7TZppDNMh/f800/1777039113.jpeg?s=5e29b7d02f397d6808553bf1324301d8792c195b",
        "source": "Vinted",
        "country": "United States",
        "created_at": null,
        "item_count": 73,
        "profile_url": "https://www.vinted.com/member/3150832693-dorifindings1",
        "followers_count": 1,
        "following_count": 0,
        "given_item_count": 19,
        "feedback_reputation": 1,
        "negative_feedback_count": 0,
        "positive_feedback_count": 15
    },
    "meta": {
        "timestamp": "2026-06-14T17:03:46.424Z",
        "request_id": "b6075107-bb33-47d5-b2e8-9ed303251b6d"
    },
    "status": "ok",
    "message": "User retrieved successfully",
    "success": true
}
```

### Meta

#### `GET /v1/meta` — Service metadata

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/vinted-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "sample": {
            "newest": "Momcozy 22oz mint green insulated breast milk cooler designed for safe, travel"
        },
        "source": "Vinted public web API (vinted.com/api/v2), anonymous-session, keyless",
        "service": "vinted-api",
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/user": "A seller's public profile (id; omit for a recent seller).",
            "GET /v1/closet": "A seller's public listings (id; omit for a recent seller).",
            "GET /v1/search": "Search the Vinted catalogue (q, price_from, price_to, order, limit)."
        },
        "description": "Live Vinted second-hand fashion marketplace data with no key: search the catalogue by keyword with price filters and sort, list a seller's public listings (their closet), and read a seller's public profile (ratings, item and follower counts). The resale / second-hand-commerce layer for shopping aggregators, price-comparison and fashion-resale analytics. Vinted's public API sits behind an anonymous session; this bootstraps it. Live, short cache only.",
        "upstream_status": "ok"
    },
    "meta": {
        "timestamp": "2026-06-14T17:03:46.528Z",
        "request_id": "9a489f86-d3b0-446d-9708-4b3b581add50"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


---
Marketplace page: https://www.oanor.com/api/vinted-api
OpenAPI spec: https://www.oanor.com/api/vinted-api/openapi.json
