Wallapop API endpoint
Returns Wallapop's live search filter schema for a query and optional category. Each filter includes its current type, the upstream search-enabled flag when provided, accepted parameter names, inline option values or slider bounds, and a category-scoped /wallapop/filter-options link for remote value lists.
/wallapop/filtersReturns Wallapop's live filters for a free-text query and optional category. Each definition contains the filter ID/type, title, the optional upstream is_search_enabled flag when provided, exact upstream parameter mapping, current inline option values or numeric ranges, and an API link for remote option lists. Remote filter IDs and inline values vary by category; use the returned options_endpoint and options[].id rather than guessing. Condition sets can add category-specific values such as un_worn, in_box, and un_opened. Category-specific local filters can include multi-select storage_capacity and toggles such as has_warranty; even when Wallapop reports is_search_enabled:false, anonymous search-component probes may still echo and forward the selected value. Remote examples include item_language and size; size maps to fashion_size and supports multiple option IDs.
q (optional): search phrase used by Wallapop when selecting relevant filters.category_id (optional): any live category ID from /wallapop/categories.Filter IDs and values can change by category. Use the returned search_params mapping rather than guessing query names. Inline list values are options[].id. Remote filters expose /wallapop/filter-options; pass the filter_id from options_endpoint and the category ID returned by this response.
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| q | string | No | Optional search phrase used to select relevant filters | iphone | |
| category_id | integer | No | Any live search taxonomy ID from /wallapop/categories | 100 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/wallapop/filters?q=coffee" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"category_id": 100,
"root_category_id": 100,
"count": 2,
"filters": [
{
"id": "color",
"title": "Color",
"type": "list",
"search_params": {
"list_param": {
"param_key": "color"
}
},
"is_search_enabled": true,
"options": [
{
"id": "Black",
"title": "Black"
}
]
},
{
"id": "brand",
"title": "Brand",
"type": "list",
"search_params": {
"list_param": {
"param_key": "brand"
}
},
"is_search_enabled": true,
"options_endpoint": "/wallapop/filter-options?category_id=100&filter_id=brand"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/wallapop.filtersResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | wallapop.FiltersResponse | No | ||||
| data.category_id | integer | No | ||||
| data.count | integer | No | ||||
| data.fetched_at | string | No | ||||
| data.filters | array | No | ||||
| data.filters[].format | string | No | ||||
| data.filters[].id | string | No | ||||
| data.filters[].is_search_enabled | boolean | No | ||||
| data.filters[].label | string | No | ||||
| data.filters[].options | array | No | ||||
| data.filters[].options[].id | string | No | ||||
| data.filters[].options[].title | string | No | ||||
| data.filters[].options_endpoint | string | No | ||||
| data.filters[].reload_when_changed | boolean | No | ||||
| data.filters[].search_params | object | No | ||||
| data.filters[].selection | string | No | ||||
| data.filters[].source | string | No | ||||
| data.filters[].steps | array | No | ||||
| data.filters[].steps[].end | number | No | ||||
| data.filters[].steps[].increment | number | No | ||||
| data.filters[].steps[].start | number | No | ||||
| data.filters[].title | string | No | ||||
| data.filters[].type | string | No | ||||
| data.filters[].unit | string | No | ||||
| data.query | string | No | ||||
| data.root_category_id | integer | No | ||||
| data.source_url | string | No | ||||
| 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/wallapop/filters?q=coffee" \
-H "x-api-key: $CRAWLORA_API_KEY"