Vinted API endpoint
Returns Vinted's top-level catalog categories (e.g. Women, Men, Kids, Home, Electronics, Sports, Entertainment, Hobbies & collectibles). This is the root level only -- Vinted's full category tree goes several levels deeper on the live site, but deeper levels aren't server-rendered so aren't covered here. Each entry's `id` is usable directly as the `id` query parameter to /vinted/category. Public data, sourced from Vinted's own server-rendered catalog navigation.
/vinted/categoriesRequires the x-api-key header. No parameters.
Notable response behavior:
id is usable directly as the id query parameter to
/vinted/category.| Field | Filled in, of 8 checked | Values in the sample |
|---|---|---|
| id | 8 | |
| name | 8 | “Women” and 7 other values |
| url | 8 | vinted.com |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/vinted/categories" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"source_url": "https://www.vinted.com/catalog",
"categories": [
{
"id": "1904",
"name": "Women",
"url": "https://www.vinted.com/catalog/1904-women_root"
},
{
"id": "5",
"name": "Men",
"url": "https://www.vinted.com/catalog/5-mens"
},
{
"id": "1193",
"name": "Kids",
"url": "https://www.vinted.com/catalog/1193-children_new"
},
{
"id": "1918",
"name": "Home",
"url": "https://www.vinted.com/catalog/1918-home"
},
{
"id": "2994",
"name": "Electronics",
"url": "https://www.vinted.com/catalog/2994-electronics"
},
{
"id": "4332",
"name": "Sports",
"url": "https://www.vinted.com/catalog/4332-sports"
},
{
"id": "2309",
"name": "Entertainment",
"url": "https://www.vinted.com/catalog/2309-entertainment"
},
{
"id": "4824",
"name": "Hobbies & collectibles",
"url": "https://www.vinted.com/catalog/4824-hobbies_collectables"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/vinted.categoriesResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | vinted.CategoriesResponse | No | ||||
| data.categories | array | No | ||||
| data.categories[].id | string | No | 1904 | |||
| data.categories[].name | string | No | Women | |||
| data.categories[].url | string | No | https://www.vinted.com/catalog/1904-women_root | |||
| data.fetched_at | string | No | 2026-08-07T12:00:00Z | |||
| data.source_url | string | No | https://www.vinted.com/catalog | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 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/categories" \
-H "x-api-key: $CRAWLORA_API_KEY"