Tokopedia API endpoint
Returns public product-card recommendations for a current Tokopedia home tab. Omit `tab_id` for the first available tab; discover other tabs through `/tokopedia/home/tabs`.
/tokopedia/homeQuery parameters:
tab_id (optional): a current tab id from GET /tokopedia/home/tabs; omitting it selects the first tab.page (optional): recommendation page 1 through 5; default 1.Returns public product cards for the selected current home tab. browser_rendered
is always false; the response does not expose upstream recommendation tokens.
| Field | Filled in, of 19 checked | Values in the sample |
|---|---|---|
| name | 19 | “Mieia Panci Presto Rumah Tangga Serbaguna Pengoperasian Sat…” and 18 other values |
| url | 19 | tokopedia.com |
| image_url | 19 | p16-images-sign-sg.tokopedia-static.net and 2 other hosts |
| price | 19 | 21,888 to 400,000, median 97,020 |
| price_text | 19 | “Rp255.420” and 18 other values |
| rating | 19 | 4.7 to 5, median 4.9 |
| shop_name | 19 | “Mieia” and 16 other values |
| shop_city | 19 | “Kab. Tangerang” and 9 other values |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| tab_id | string | No | Current ID from /tokopedia/home/tabs | 1 | |
| page | integer | No | Recommendation page from 1 through 5 | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/tokopedia/home?page=1" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"tab": {
"id": "1",
"name": "For You"
},
"page": 1,
"browser_rendered": false,
"products": [
{
"name": "Example product",
"price": 24514000,
"price_text": "Rp24.514.000"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/tokopedia.homeResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | tokopedia.HomeResponse | No | ||||
| data.browser_rendered | boolean | No | ||||
| data.fetched_at | string | No | ||||
| data.has_next_page | boolean | No | ||||
| data.page | integer | No | ||||
| data.products | array | No | ||||
| data.products[].image_url | string | No | ||||
| data.products[].name | string | No | ||||
| data.products[].price | integer | No | ||||
| data.products[].price_text | string | No | ||||
| data.products[].rating | string | No | ||||
| data.products[].shop_city | string | No | ||||
| data.products[].shop_name | string | No | ||||
| data.products[].url | string | No | ||||
| data.tab | tokopedia.HomeTab | No | ||||
| data.tab.id | string | No | ||||
| data.tab.image_url | string | No | ||||
| data.tab.name | 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/home?page=1" \
-H "x-api-key: $CRAWLORA_API_KEY"