Shein
Shein
/shein/v1/search1 creditSearch a Shein storefront and get rich product rows for the query. Each row is a full card: name, product id, URL, current price and list price as numbers, discount, currency, primary image and gallery, rating and review count, colour variants, fit-percentages, category, stock and clearance flag. Up to ~120 rows per page; pass `page` to step through, or `max_results` to auto-collect across pages. Cost scales with the number of rows returned. A page that arrives without its product data is reported as a retryable error, never as an empty result set.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| query | required | — | Search phrase. |
| market = us | optional | us · uk · de · fr · es · it | Which Shein storefront to read. Prices and availability are per-storefront. |
| max_results = 100 | optional | 1–600 | Total rows to collect. Above one page (up to ~120) the engine auto-paginates. Cost scales with rows returned. |
| page = 1 | optional | 1– | Result page. Empty page = end of list. |
| limit = 100 | optional | 1–120 | Rows per page (max 120). |
/shein/v1/product/detail2 creditsFull product record by Shein product id (the number in a /-p-<id>.html URL) or by the URL itself: name, current price and list price as numbers, discount, currency, images and gallery, colour variants, rating and review count, fit-percentages, category, brand and store code, stock and clearance flag, and any promotion tags. Note: a per-variant SIZE list is not included on this endpoint. A product Shein no longer serves comes back as NOT_FOUND, not an empty shell.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| goods_id | required | — | Shein product id, or pass `url` instead. |
| url | optional | — | Full product URL (alternative to goods_id). |
| market = us | optional | us · uk · de · fr · es · it | Which Shein storefront to read. Prices and availability are per-storefront. |
/shein/v1/products_batch2 creditsLook up MANY Shein products in ONE call by product id — up to 20 per request. COST, stated plainly: Shein publishes no batched product endpoint, so this costs ONE upstream request PER ID exactly as if you had called product/detail N times, and it is priced that way. What you save is wall-clock, not requests. Ids Shein does not serve come back in `not_found` rather than being silently dropped.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| goods_ids | required | — | List (or comma-separated string) of Shein product ids. |
| market = us | optional | us · uk · de · fr · es · it | Which Shein storefront to read. Prices and availability are per-storefront. |
/shein/v1/price2 creditsCheap price and stock refresh for one product — the same upstream read as product/detail but returning only the money and availability fields, for callers who re-check a large catalogue on a schedule and do not want the rest of the record.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| goods_id | required | — | Shein product id, or pass `url` instead. |
| url | optional | — | Full product URL (alternative to goods_id). |
| market = us | optional | us · uk · de · fr · es · it | Which Shein storefront to read. Prices and availability are per-storefront. |
curl -X POST https://api.reefapi.com/shein/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{}'{
"ok": true,
"data": { /* the result */ },
"meta": {
"latency_ms": 240,
"record_count": 12,
"completeness_pct": 100
},
"error": null
}