Wallapop API endpoint
Returns the complete live search taxonomy as a flat parent-linked list, including all descendant IDs used by /wallapop/search. Only IDs from this search taxonomy are accepted; legacy navigation-only IDs are excluded. Re-fetch periodically because the upstream taxonomy changes.
/wallapop/categoriesReturns the complete current search taxonomy as a flat list with id, name, parent_id, root_id, depth, path, vertical_id, and is_leaf. The live search taxonomy is the authority for category values accepted by /wallapop/search; navigation-only legacy IDs are excluded. Refresh this endpoint rather than pinning category IDs in clients.
The live snapshot on 2026-10-25 contained 997 categories across 18 roots and five levels. parent_id=0 identifies a root. For any non-root category_id, /wallapop/search keeps the root in Wallapop's category_id parameter and sends the selected descendant in subcategory_ids.
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/wallapop/categories" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"count": 997,
"root_count": 18,
"max_depth": 5,
"categories": [
{
"id": 12465,
"name": "Fashion & accessories",
"parent_id": 0,
"root_id": 12465,
"depth": 1,
"is_leaf": false
},
{
"id": 11002,
"name": "Women",
"parent_id": 12465,
"root_id": 12465,
"depth": 2,
"is_leaf": false
}
]
}
}Request schema
No body schema
Response schema
#/definitions/wallapop.categoriesResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | wallapop.CategoriesResponse | No | ||||
| data.categories | array | No | ||||
| data.categories[].depth | integer | No | 1 | |||
| data.categories[].id | integer | No | 12465 | |||
| data.categories[].is_leaf | boolean | No | false | |||
| data.categories[].name | string | No | Fashion & accessories | |||
| data.categories[].parent_id | integer | No | 11002 | |||
| data.categories[].path | string | No | fashion-and-accessories/women | |||
| data.categories[].root_id | integer | No | 12465 | |||
| data.categories[].vertical_id | string | No | fashion | |||
| data.count | integer | No | 997 | |||
| data.fetched_at | string | No | 2026-10-25T00:00:00Z | |||
| data.max_depth | integer | No | 5 | |||
| data.root_count | integer | No | 18 | |||
| data.source_url | string | No | https://api.wallapop.com/api/v3/categories?context=search | |||
| 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/wallapop/categories" \
-H "x-api-key: $CRAWLORA_API_KEY"