OrbTop

Shein Product Detail & Variants Scraper

ECOMMERCE

Shein Product Detail & Variants Scraper

Extract full product detail from Shein PDPs: all color/size variants with per-variant stock, pricing, size guide, composition, ratings, and images. Supports us.shein.com and regional storefronts. Built for apparel-catalog and dropshipping-import workflows.

What you get

Each scraped PDP produces one dataset record with:

Field Type Description
goods_id string Shein internal product id (numeric string, extracted from PDP or URL)
goods_sn string Shein product SKU/style code (e.g. sw2212215742)
product_url string Canonical product page URL
product_name string Product display title
brand string Brand name (Shein sub-brand where available)
category_path string Breadcrumb category path (e.g. Women / Dresses / Maxi Dresses)
description string Product description text
sale_price number Current discounted sale price
retail_price number Original / retail price before discount
discount_pct number Discount percentage off retail price (0–100)
currency string Currency code (e.g. USD, GBP, EUR)
in_stock boolean True if at least one variant is available
stock_hint string Low-stock banner text (e.g. "Almost Sold Out") — null if none
colors array Color option objects — {color_name, thumb_url, goods_id_for_color}
sizes array Size objects — {size_label, size_measurements, in_stock}
size_fit string Size fit feedback summary (e.g. "Runs small", "True to size")
size_guide object Size guide chart — {unit, rows:[{size, bust, waist, hip, length}]}
images array Product image URLs (main + all gallery images)
video_url string Product video URL — null if none
material string Primary material name
composition string Full fabric composition (e.g. 95% Polyester, 5% Spandex)
care_instructions string Care instruction text
review_count integer Total number of customer reviews
avg_rating number Average star rating (0–5)
rating_breakdown object {true_to_size_pct, quality_pct, shipping_speed_pct}
seller_name string Seller/store name — null for standard Shein listings
is_flash_sale boolean True if the product is on a flash/limited-time sale
flash_sale_price number Flash-sale price if active — null otherwise
flash_sale_end string ISO 8601 end timestamp of the flash sale — null if not a flash sale
scraped_at string ISO 8601 timestamp when this record was scraped
region string Storefront region code (us / uk / de / etc.)

Input

Parameter Type Required Description
productUrls array Yes List of Shein PDP URLs to scrape. Each entry is {"url": "https://us.shein.com/...-p-<id>.html"}. URLs must end in -p-<id>.html.
maxItems integer Yes Maximum number of records to return.
region string No Storefront region code (e.g. us, uk, de). Auto-detected from the URL if omitted.

Example input

{
  "productUrls": [
    {"url": "https://us.shein.com/product-p-28861291.html"},
    {"url": "https://us.shein.com/product-p-12345678.html"}
  ],
  "region": "us",
  "maxItems": 100
}

Supported URLs

  • https://us.shein.com/...-p-<id>.html
  • https://shein.co.uk/...-p-<id>.html
  • https://shein.de/...-p-<id>.html
  • Any *.shein.* or shein.com* hostname with a -p-<id>.html path

URLs that do not match the -p-<id>.html pattern are skipped with a warning.

Resuming a large crawl

To continue a run that was interrupted or hit maxItems before finishing:

  1. Find resumeCursor in the previous run's OUTPUT key-value store entry.
  2. Pass it as resumeCursor in the new run's input alongside the same productUrls list.

The actor reopens the previous run's request queue, skipping pages already processed — no duplicate charges, no duplicate records.

Note: resumption only benefits runs that did not complete in a single execution. Single-URL or fully-completed runs do not need it.

Notes

  • Uses Bright Data Web Unlocker (IceBreaker) for guaranteed access to Shein PDPs. BD handles JS rendering and anti-bot detection server-side.
  • A read-through cache reduces redundant BD fetches on re-runs of the same URLs.
  • Halo challenge pages (BD verdict:ok but no product data) are detected and skipped automatically.
  • Price and stock data reflects the state at scrape time. For price monitoring use the companion Shein Product Monitor actor.