Vinted API endpoint
Returns Vinted listings for a specific category, with optional price filtering and sort order. `order` values: `relevance`, `newest_first`, `price_high_to_low`, `price_low_to_high`. Public data, sourced from Vinted's own server-rendered category page.
/vinted/categoryQuery parameters:
id (required) — the numeric Vinted category ID, from a
/vinted/item result's categories breadcrumb link.price_from (optional) — minimum price.price_to (optional) — maximum price.order (optional) — sort order. Allowed values: relevance,
newest_first, price_high_to_low, price_low_to_high. Defaults to
relevance.page (optional) — page number, starting at 1. Defaults to 1.Notable response behavior:
id is usable directly as the id query parameter to
/vinted/item.404 rather than an empty
200 list.| Field | Filled in, of 58 checked | Values in the sample |
|---|---|---|
| id | 58 | |
| title | 58 | “Michael Kors Black Sweater , L” and 57 other values |
| url | 58 | vinted.com |
| brand | 58 | “Michael Kors” and 51 other values |
| size | 57 | “L / US 12-14” and 11 other values |
| condition | 58 | Very good (36), Good (10), New without tags (9) and 2 more |
| price_raw | 58 | “$6.00” and 17 other values |
| total_price_raw | 58 | “$7.00” and 17 other values |
| image_url | 58 | images1.vinted.net |
| favourite_count | 39 | 1 to 137, median 8 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| id | string | Yes | Numeric Vinted category ID, from a /vinted/item result's categories breadcrumb link | 1904 | |
| price_from | number | No | Minimum price | 10 | |
| price_to | number | No | Maximum price | 50 | |
| order | string | No | Sort order. Allowed values: relevance, newest_first, price_high_to_low, price_low_to_high Allowed values: relevance, newest_first, price_high_to_low, price_low_to_high. | price_low_to_high | |
| page | integer | No | Page number, starting at 1 | 1 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/vinted/category?id=1904&order=relevance&page=1" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"id": "1904",
"name": "Women",
"page": 1,
"url": "https://www.vinted.com/catalog/1904",
"items": [
{
"id": "9402122092",
"title": "Denim jacket",
"url": "https://www.vinted.com/items/9402122092-denim-jacket",
"condition": "Very good",
"price_raw": "$15.00",
"total_price_raw": "$16.20"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/vinted.categoryResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | vinted.CategoryResponse | No | ||||
| data.fetched_at | string | No | 2026-08-07T12:00:00Z | |||
| data.id | string | No | 1904 | |||
| data.items | array | No | ItemCard record, 10 fields: brand, condition, favourite_count, id, image_url, price_raw, size, title, total_price_raw, url. Described under Vinted brand API. | |||
| data.name | string | No | Women | |||
| data.page | integer | No | 1 | |||
| data.source_url | string | No | https://www.vinted.com/catalog/1904 | |||
| data.url | string | No | https://www.vinted.com/catalog/1904 | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 500 | Internal Server Error | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/vinted/category?id=1904&order=relevance&page=1" \
-H "x-api-key: $CRAWLORA_API_KEY"