Shopee API endpoint
Returns Shopee's search-landing prefill/trending cards from the credential-free `api/v4/search/search_prefills` JSON. Public, credential-free endpoint.
/shopee/prefillsPublic endpoint. Credential-free: no cookie, login or af-ac-enc-dat
anti-content header is required. Backed by Shopee's
api/v4/search/search_prefills JSON, fetched over a browser-impersonated HTTP
profile because Shopee rejects a bare client with error 90309999.
This surface is deliberately keyword-free: the keyword variant of the upstream endpoint is gated, while the search-landing prefills are open.
Query parameters:
region (optional, default my) — one of my, sg, id, th, vn, ph, tw, br, mx, co, cl.Response includes region and a de-duplicated prefills list. Each item has
hint, image, and url.
| Field | Filled in, of 1 checked | Values in the sample |
|---|---|---|
| hint | 1 | “Sign Up & Get Your First Order Free!” |
| image | 1 | cf.shopee.com.my |
| url | 1 | shopee.com.my |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| region | string | No | Shopee region: my, sg, id, th, vn, ph, tw, br, mx, co, cl (default my) Allowed values: my, sg, id, th, vn, ph, tw, br, mx, co, cl. | my | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/shopee/prefills?region=my" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"region": "my",
"prefills": [
{
"hint": "Sign Up & Get Your First Order Free!",
"image": "https://cf.shopee.com.my/file/e92ab33ccea0695b",
"url": "https://shopee.com.my/m/welcome-package"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/shopee.prefillsResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | shopee.PrefillsResponse | No | ||||
| data.prefills | array | No | ||||
| data.prefills[].hint | string | No | Sign Up & Get Your First Order Free! | |||
| data.prefills[].image | string | No | ||||
| data.prefills[].url | string | No | ||||
| data.region | string | No | my | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/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/shopee/prefills?region=my" \
-H "x-api-key: $CRAWLORA_API_KEY"