Zalora
Zalora
/zalora/v1/search1 creditSearch one Zalora country storefront by keyword, with the site's own filters (brand, category, colour, size, price range, minimum rating, minimum discount, seller) and sorts. Returns up to 100 products per page with the sale price, the struck-through original, the discount badge, rating, review count, seller, images and the category breadcrumb. Set include_sponsored to also get the promoted rows Zalora shows first.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| q | required | — | Search keyword — a product type, brand or description ('summer dress', 'nike air force', 'linen shirt', 'tas wanita'). |
| country = ph | optional | ph · sg · my · id · hk | Which Zalora country storefront to read. Catalogue, prices and currency differ per country; Taiwan is not served by Zalora any more and is not offered here. |
| page = 1 | optional | 1–250 | 1-based page number. Page forward with meta.next_page until meta.has_more is false. |
| limit = 40 | optional | 1–100 | Rows per page, 1-100 (the source caps at 100; a larger value is clamped, not rejected). |
| sort = popularity | optional | popularity · top_rated · price_low_to_high · price_high_to_low · latest_arrival · discount · top_selling | Result ordering — Zalora's own sort options, exactly as the site offers them. Note that Zalora's price sort steers the page rather than strictly ordering it: over 100 rows of the same query the cheapest-first page averaged 858 PHP and the dearest-first page 16 340 PHP, but neither page is monotonic. Sort to bias the results, filter with price_min / price_max to bound them. |
| price_min | optional | 0– | Minimum price, in the country's own currency unit (PHP/SGD/MYR/IDR/HKD — see meta.currency). Compared against the price that is actually charged (the sale price when an item is marked down); every returned row is inside the band. |
| price_max | optional | 0– | Maximum price, in the country's own currency unit. Every returned row is inside the band; a page may therefore hold fewer rows than `limit` (meta.dropped_out_of_band counts them). |
| rating_min | optional | 2 · 3 · 4 · 5 | Keep only products rated at least this many stars. |
| discount_min | optional | 1–100 | Keep only products marked down by at least this percentage. |
| color | optional | — | Colour facet, lowercase as Zalora publishes it (black, white, blue, beige, red, green, pink, multi…). Comma-separate for several. |
| size | optional | — | Size facet in Zalora's own '<system>_<size>' notation (International_M, US_8, EU_38, AUS_6). Comma-separate for several. |
| brand_id | optional | — | Numeric Zalora brand id (the `brand_id` of any product row). Comma-separate for several brands. |
| category_id | optional | — | Numeric Zalora category id — take it from the `categories` action or from a product's `category_ids`. |
| seller_id | optional | — | Numeric seller/store id — lists only that store's products. |
| include_sponsored = false | optional | — | Also return the promoted rows Zalora places at the TOP of its own result page. They are returned first and flagged `sponsored: true`; off by default so organic ranking is clean. |
/zalora/v1/category1 creditList every product in one Zalora category, without a keyword — the same rows and the same filters/sorts as `search`, driven by a numeric category_id from the `categories` action. Use it to walk a whole department (e.g. all Summer Dresses) rather than to answer a query.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| category_id | required | — | Numeric Zalora category id to list (e.g. 7476 = Summer Dresses on PH). Get ids from the `categories` action. |
| country = ph | optional | ph · sg · my · id · hk | Which Zalora country storefront to read. Catalogue, prices and currency differ per country; Taiwan is not served by Zalora any more and is not offered here. |
| page = 1 | optional | 1–250 | 1-based page number. Page forward with meta.next_page until meta.has_more is false. |
| limit = 40 | optional | 1–100 | Rows per page, 1-100 (the source caps at 100; a larger value is clamped, not rejected). |
| sort = popularity | optional | popularity · top_rated · price_low_to_high · price_high_to_low · latest_arrival · discount · top_selling | Result ordering — Zalora's own sort options, exactly as the site offers them. Note that Zalora's price sort steers the page rather than strictly ordering it: over 100 rows of the same query the cheapest-first page averaged 858 PHP and the dearest-first page 16 340 PHP, but neither page is monotonic. Sort to bias the results, filter with price_min / price_max to bound them. |
| price_min | optional | 0– | Minimum price, in the country's own currency unit (PHP/SGD/MYR/IDR/HKD — see meta.currency). Compared against the price that is actually charged (the sale price when an item is marked down); every returned row is inside the band. |
| price_max | optional | 0– | Maximum price, in the country's own currency unit. Every returned row is inside the band; a page may therefore hold fewer rows than `limit` (meta.dropped_out_of_band counts them). |
| rating_min | optional | 2 · 3 · 4 · 5 | Keep only products rated at least this many stars. |
| discount_min | optional | 1–100 | Keep only products marked down by at least this percentage. |
| color | optional | — | Colour facet, lowercase as Zalora publishes it (black, white, blue, beige, red, green, pink, multi…). Comma-separate for several. |
| size | optional | — | Size facet in Zalora's own '<system>_<size>' notation (International_M, US_8, EU_38, AUS_6). Comma-separate for several. |
| brand_id | optional | — | Numeric Zalora brand id (the `brand_id` of any product row). Comma-separate for several brands. |
| seller_id | optional | — | Numeric seller/store id — lists only that store's products. |
/zalora/v1/detail1 creditFull product detail by config_sku, product slug or product URL: sale price, struck original, saving amount, discount badge, brand, seller, rating and review count, the full attribute table (material, care, fit, colour…), every size variant with its own stock count and price, the image gallery, delivery/return terms and the category breadcrumb.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| config_sku | required | — | Zalora product handle: the `config_sku` from a search row (AE5AFACBFDC607GS), the product-page slug, or a full product URL (zalora.<tld>/p/<slug>) — all three resolve. |
| country = ph | optional | ph · sg · my · id · hk | Which Zalora country storefront to read. Catalogue, prices and currency differ per country; Taiwan is not served by Zalora any more and is not offered here. |
/zalora/v1/reviews1 creditCustomer reviews for one product by config_sku, slug or URL: star rating, review text, the reviewer's own quality tags, the display handle Zalora publishes (already masked at the source) and the aggregate rating / review count / most-mentioned tags.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| config_sku | required | — | Zalora product handle: the `config_sku` from a search row (AE5AFACBFDC607GS), the product-page slug, or a full product URL (zalora.<tld>/p/<slug>) — all three resolve. |
| country = ph | optional | ph · sg · my · id · hk | Which Zalora country storefront to read. Catalogue, prices and currency differ per country; Taiwan is not served by Zalora any more and is not offered here. |
| limit = 20 | optional | 1–100 | Reviews per page (the source serves them in cursor pages). |
| cursor | optional | — | Opaque page cursor — pass back meta.next_cursor from the previous response to get the next page of reviews. |
/zalora/v1/categories1 creditThe whole Zalora category tree for a country (about 1 800 nodes on PH), optionally narrowed to one segment. Each node carries its numeric category_id, name, parent id, segment and url key — this is where the category_id for `search` / `category` comes from.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| country = ph | optional | ph · sg · my · id · hk | Which Zalora country storefront to read. Catalogue, prices and currency differ per country; Taiwan is not served by Zalora any more and is not offered here. |
| segment | optional | women · men · kids · beauty · sports · luxury · home | Return only the categories of one Zalora segment. Omit for the whole tree. |
curl -X POST https://api.reefapi.com/zalora/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"q":"dress","country":"ph","limit":10}'{
"ok": true,
"data": { /* the result */ },
"meta": {
"latency_ms": 240,
"record_count": 12,
"completeness_pct": 100
},
"error": null
}Measured at 60 requests a second across the fleet, with no central bottleneck. Volume pricing is on request, and per-key limits are raised for high-volume accounts.
Tell us a site we do not cover yet and it becomes an engine. A customer asked for bestprice.gr on a Sunday and it was in the catalog the next day.
Median time from a question in the live chat to the first answer, measured across every answered conversation. Setup help included, no support tier to buy.
No per-site plans and no separate subscriptions. One key and one credit pool across the whole catalog, so adding a source costs nothing up front.
Planning something large? Tell us the volume and the sources and we will come back with what it costs and what we would have to build.