Shein Price & Stock Monitor
Pricing
Pay per event
Shein Price & Stock Monitor
Monitor Shein product prices and stock from a watchlist of URLs. Tracks sale price, retail price, discount, flash-sale windows, and per-variant stock. Emits price_changed and price_delta each run. Built for dropshippers and resellers running scheduled monitoring workflows.
Pricing
Pay per event
Rating
0.0
(0)
Developer
BowTiedRaccoon
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
17 hours ago
Last modified
Categories
Share
Monitor Shein product prices and stock from a watchlist of product page URLs. Each run fetches the current sale price, retail price, discount percentage, flash-sale status, and per-variant stock for every URL in your list. Price changes are detected by comparing to the previous run.
Built for dropshippers, resellers, and pricing analysts running scheduled monitoring workflows.
What it does
- Fetches each Shein product detail page (PDP) via Bright Data Web Unlocker — the only path that clears Shein's Halo anti-bot server-side
- Extracts sale price, retail price, discount percentage, flash-sale price and end time, in-stock status, per-variant stock map, and low-stock hints
- Detects price changes by comparing
sale_priceto the previous run's recorded price (stored in the run's Key-Value store) - Emits one dataset record per URL with
price_changed(bool) andprice_delta(number) fields
Input
| Field | Type | Description |
|---|---|---|
watchlistUrls | URL list | Shein product page URLs to monitor. Must end in -p-<id>.html. Example: https://us.shein.com/some-product-p-1234567.html |
region | select | Storefront region for currency context (us, uk, de, fr, au, ca). Defaults to us. |
maxItems | integer | Maximum records per run. Default 10. Set to 0 for no limit. |
Note: Only product detail URLs (containing
-p-<id>.html) are accepted. Category pages, search results, and collection pages are not supported.
Output
Each record includes:
| Field | Type | Description |
|---|---|---|
goods_id | string | Shein's numeric product identifier |
product_url | string | The product page URL |
product_name | string | Product display title |
checked_at | string | ISO 8601 timestamp of this reading |
sale_price | number | Current discounted sale price |
retail_price | number | Original retail price before discount |
discount_pct | number | Discount percentage (0-100) |
currency | string | ISO 4217 currency code (e.g. USD, GBP) |
price_changed | boolean | True if sale price differs from previous run |
price_delta | number | Price change from previous run (positive = rose, negative = dropped) |
in_stock | boolean | True if at least one variant is available |
stock_level_hint | string | Low-stock text shown on the page, or null |
variants_in_stock | string | JSON map of variant label to availability |
variants_out_of_stock | string | Pipe-separated list of sold-out variant labels |
is_flash_sale | boolean | True if a flash or limited-time sale is active |
flash_sale_price | number | Flash sale price if active, otherwise null |
flash_sale_end | string | ISO 8601 end time of the flash sale, or null |
coupon_applied | string | Coupon or promo label on the page, or null |
region | string | Storefront region code |
Example output record
{"goods_id": "26507001","product_url": "https://us.shein.com/SHEIN-Solid-Color-Short-Sleeve-T-Shirt-p-26507001-cat-1738.html","product_name": "Pearl Letter Fashion Earrings","checked_at": "2026-07-05T00:46:11.000Z","sale_price": 1.4,"retail_price": 2.0,"discount_pct": 30,"currency": "USD","price_changed": false,"price_delta": 0,"in_stock": false,"stock_level_hint": null,"variants_in_stock": "{\"one-size\":false}","variants_out_of_stock": "one-size","is_flash_sale": false,"flash_sale_price": null,"flash_sale_end": null,"coupon_applied": null,"region": "us"}
Scheduling for continuous monitoring
This actor is designed to be run on a schedule (e.g. every 6 or 24 hours). Each run compares prices to the previous run's values and populates price_changed and price_delta. Use Apify's built-in scheduler or an external cron job to automate.
On the first run, price_changed will be false and price_delta will be 0 for all records (no previous data to compare against).
Region support
The region input controls the currency code in the currency output field. URLs must match the selected region's Shein domain (e.g. us.shein.com for us, shein.co.uk for uk). The actor auto-detects the region from the URL hostname if not specified.
Supported regions: us (USD), uk (GBP), de / fr / es / it (EUR), au (AUD), ca (CAD).
Limitations
- Only product detail pages (PDP) are supported — not category or search pages
- Each URL consumes one Bright Data Web Unlocker request
- Price history is limited to the previous run's values; longer history requires external storage