Tokopedia API endpoint
Returns the live filter tree and supported sort choices for a Tokopedia product search. The response includes categories when the current query exposes them, store type, delivery location, price, rating, offer, condition, recency, shipping, and stock options as applicable.
/tokopedia/search/filtersq (required): product keyword, for example sepatu.Returns the live option tree for the current query. It includes applicable
category, store type, location, delivery, price, rating, offer, condition,
recency, and availability controls. Each option has its upstream key and
value; clients should treat the list as dynamic. The sorts array lists all
currently supported sorts, including 23 (most relevant), 5 (most reviewed),
9 (newest), 4 (highest price), and 3 (lowest price).
| Field | Filled in, of 10 checked | Values in the sample |
|---|---|---|
| title | 10 | “Durasi Pengiriman” and 9 other values |
| options | 10 | median 2 entries |
| template | 5 | “template_location” and 4 other values |
| searchable | 1 | true in 1 of 1 |
| placeholder | 1 | “Cari Lokasi” |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| q | string | Yes | Product keyword | sepatu | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/tokopedia/search/filters?q=sepatu" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"query": "sepatu",
"filters": [
{
"title": "Jenis toko",
"options": [
{
"name": "Mall",
"key": "shop_tier",
"value": "2",
"input_type": "checkbox"
}
]
}
],
"sorts": [
{
"name": "Paling Sesuai",
"key": "ob",
"value": "23",
"input_type": "radio"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/tokopedia.searchFiltersResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | tokopedia.SearchFiltersResponse | No | ||||
| data.fetched_at | string | No | ||||
| data.filters | array | No | ||||
| data.filters[].options | array | No | ||||
| data.filters[].options[].children | array | No | ||||
| data.filters[].options[].description | string | No | ||||
| data.filters[].options[].hex_color | string | No | ||||
| data.filters[].options[].icon | string | No | ||||
| data.filters[].options[].input_type | string | No | ||||
| data.filters[].options[].key | string | No | ||||
| data.filters[].options[].max | string | No | ||||
| data.filters[].options[].min | string | No | ||||
| data.filters[].options[].name | string | No | ||||
| data.filters[].options[].total_data | string | No | ||||
| data.filters[].options[].value | string | No | ||||
| data.filters[].placeholder | string | No | ||||
| data.filters[].searchable | boolean | No | ||||
| data.filters[].template | string | No | ||||
| data.filters[].title | string | No | ||||
| data.query | string | No | ||||
| data.sorts | array | No | ||||
| data.sorts[].apply_filter | string | No | ||||
| data.sorts[].input_type | string | No | ||||
| data.sorts[].key | string | No | ||||
| data.sorts[].name | string | No | ||||
| data.sorts[].value | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 429 | Too Many Requests | #/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/tokopedia/search/filters?q=sepatu" \
-H "x-api-key: $CRAWLORA_API_KEY"