Lazada API endpoint
Returns one Lazada country storefront's anonymous homepage feed: current flash-sale product cards, featured category links, and (where shown) an official-stores carousel. Product-detail and free-text catalog pages are not included because Lazada's stateless routes currently return an anti-bot challenge on every country domain.
/lazada/homeReturns one Lazada country storefront's current anonymous homepage feed. flash_sale_items contains flash-sale product cards with item ids, canonical product URLs, images, prices in the storefront's own currency, and discount labels. categories contains featured category links from the same page. official_stores contains a featured official-store carousel when the storefront currently shows one -- this is not guaranteed to be present on every storefront, so an empty or missing list is not itself an error.
No login, cookies, or Lazada Open Platform credentials are required. Product detail and free-text catalog routes are intentionally not exposed because stateless requests currently receive Lazada's X5 anti-bot challenge on every country domain.
Parameters:
country (optional): Lazada country storefront. Defaults to id.
Allowed values: id, ph, th, my, vn, sg.x-api-key (required): Crawlora API key.price and original_price are always in the storefront's major currency
unit (matching currency), never minor/cent units -- e.g. 524 for a
฿524.00 Thailand item, 42.9 for a RM42.90 Malaysia item.
Example response (country=th):
{
"code": 200,
"msg": "OK",
"data": {
"region": "TH",
"flash_sale_items": [
{
"item_id": 467168,
"title": "Vichy Dercos Aminexil Anti-hair loss Shampoo 200ml",
"url": "https://www.lazada.co.th/products/pdp-i467168-s510044.html",
"image": "https://img.lazcdn.com/g/ff/kf/example.jpg",
"price": 524,
"original_price": 570,
"discount": "-8%",
"currency": "THB"
}
],
"categories": [
{"name": "Mobiles", "url": "https://www.lazada.co.th/shop-mobiles"}
],
"official_stores": [
{
"name": "CB Cotton",
"url": "https://www.lazada.co.th/shop/cb-cotton",
"brand_image": "https://img.lazcdn.com/live/th/p/example.jpg",
"shop_image": "https://img.lazcdn.com/live/th/shop/example.jpg"
}
],
"source_url": "https://www.lazada.co.th/",
"fetched_at": "2026-09-01T00:00:00Z"
}
}
| Field | Filled in, of 6 checked | Values in the sample |
|---|---|---|
| item_id | 6 | |
| title | 6 | “Superchia Organic Chia Seeds 500g USDA-certified(expiry 202…” and 5 other values |
| url | 6 | lazada.sg |
| image | 6 | img.lazcdn.com |
| price | 6 | 6.93 to 195.13, median 30.9 |
| original_price | 6 | 10.9 to 205.4, median 38 |
| discount | 5 | “-58%” and 4 other values |
| currency | 6 | SGD in all 6 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| country | string | No | id | Lazada country storefront. Defaults to id. Allowed values: id, ph, th, my, vn, sg. | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/lazada/home?country=us" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"region": "TH",
"flash_sale_items": [
{
"item_id": 467168,
"title": "Vichy Dercos Aminexil Anti-hair loss Shampoo 200ml",
"url": "https://www.lazada.co.th/products/pdp-i467168-s510044.html",
"image": "https://img.lazcdn.com/g/ff/kf/example.jpg",
"price": 524,
"original_price": 570,
"discount": "-8%",
"currency": "THB"
}
],
"categories": [
{
"name": "Mobiles",
"url": "https://www.lazada.co.th/shop-mobiles"
}
],
"official_stores": [
{
"name": "CB Cotton",
"url": "https://www.lazada.co.th/shop/cb-cotton",
"brand_image": "https://img.lazcdn.com/live/th/p/example.jpg",
"shop_image": "https://img.lazcdn.com/live/th/shop/example.jpg"
}
],
"source_url": "https://www.lazada.co.th/",
"fetched_at": "2026-09-01T00:00:00Z"
}
}Request schema
No body schema
Response schema
#/definitions/lazada.homeResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | lazada.HomeResponse | No | ||||
| data.categories | array | No | ||||
| data.categories[].name | string | No | Handphone | |||
| data.categories[].url | string | No | https://www.lazada.co.id/beli-handphone | |||
| data.fetched_at | string | No | 2026-08-28T04:00:00Z | |||
| data.flash_sale_items | array | No | ||||
| data.flash_sale_items[].currency | string | No | IDR | |||
| data.flash_sale_items[].discount | string | No | -32% | |||
| data.flash_sale_items[].image | string | No | https://img.lazcdn.com/g/p/example.jpg | |||
| data.flash_sale_items[].item_id | integer | No | 159992555 | |||
| data.flash_sale_items[].original_price | number | No | 190500 | |||
| data.flash_sale_items[].price | number | No | 129000 | |||
| data.flash_sale_items[].title | string | No | PANTENE Shampoo Hair Fall Control 990ml | |||
| data.flash_sale_items[].url | string | No | https://www.lazada.co.id/products/pdp-i159992555-s181803572.html | |||
| data.official_stores | array | No | OfficialStores lists featured official-store shops from the same homepage. This carousel was observed absent on one storefront (Philippines) during a live check; treat an empty list as "not currently shown", not as evidence of parser drift. | |||
| data.official_stores[].brand_image | string | No | https://img.lazcdn.com/g/p/example.jpg | |||
| data.official_stores[].name | string | No | Alfalink | |||
| data.official_stores[].shop_image | string | No | https://img.lazcdn.com/g/shop/example.jpeg | |||
| data.official_stores[].url | string | No | https://www.lazada.co.id/shop/alfalink | |||
| data.region | string | No | ID | |||
| data.source_url | string | No | https://www.lazada.co.id/ | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/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/lazada/home?country=us" \
-H "x-api-key: $CRAWLORA_API_KEY"