E-commerce
SHEIN Scraper
shein.com
SHEIN is served through a dedicated plugin endpoint rather than the generic page fetch. SHEIN puts its search pages behind its own risk challenge; the plugin clears it in a real browser, reuses the verified session and reads SHEIN's own search data, so you get the products already parsed: goods ID and SKU, title, the current price and the list price it is discounted from, the discount, star rating and review count, category, an image, sold-out state and a clean product URL. Sort by relevance or price, filter by price and get up to 20 products per search - SHEIN's first results page, the only one it serves to automated clients. Across 1,000 varied searches it succeeded 99.7% of the time at about 8.2 seconds a call - in Proxyway's 2025 report the eleven-provider field averaged 21.88% on this domain. Verified sessions are limited, so keep bulk runs paced and steady.
What you can extract
- Goods ID, SKU, title and a product URL
- Price, list price, discount and currency
- Star rating and review count
- Category and product image
- Sold-out state and the total result count
Dedicated endpoints
/marketplace/shein-search A product search on SHEIN
SHEIN products for a query: a products array with id, sku, title, url, price, originalPrice, currency, discountPercent, rating, reviewCount, category, categoryId, image, soldOut and storeCode, plus totalResults. Sort with sort (relevance, price_low, price_high), filter with min_price/max_price, and cap the count with max_results (up to 20 - SHEIN's first results page).
How to scrape it
curl -X POST \
-H "X-ScrapeUnblocker-Key: $SU_API_KEY" \
"https://api.scrapeunblocker.com/marketplace/shein-search?query=summer%20dress"import requests
resp = requests.post(
"https://api.scrapeunblocker.com/marketplace/shein-search",
headers={"X-ScrapeUnblocker-Key": SU_API_KEY},
params={"query": "summer dress"},
)
print(resp.text)import { ScrapeUnblockerClient } from 'scrapeunblocker';
const su = new ScrapeUnblockerClient({ apiKey: process.env.SU_API_KEY });
const data = await su.sheinSearch('summer dress', {
sort: 'price_low',
maxPrice: 30,
});
console.log(data); Requests are POST and take their parameters in the query string. Browser rendering always happens - there is no flag to enable.
Frequently asked questions
Is it legal to scrape SHEIN?
Collecting publicly available SHEIN data such as product names, prices and reviews is lawful in many jurisdictions, but the rules depend on your country, the data you collect and how you use it. You stay responsible for how you use it - respect copyright and personal-data rules. ScrapeUnblocker returns the public page; what you collect and how you use it is your decision.
How do I scrape SHEIN without getting blocked?
SHEIN puts its search pages behind its own risk challenge and rate-limits bursts. The ScrapeUnblocker SHEIN plugin clears the challenge in a real browser, reuses the verified session for plain requests and returns the products as parsed JSON - 99.7% success across 1,000 production searches, about 8.2s each.
What SHEIN data can I extract?
For every product in a search: goods ID, SKU, title, price, list price and discount, currency, star rating, review count, category, image, sold-out state and a clean product URL, plus the total number of results.
Do I need a SHEIN API?
No. SHEIN has no public product API - the ScrapeUnblocker plugin reads the search results exactly as a shopper sees them and hands back structured JSON.
Can I monitor SHEIN prices at scale?
Yes, at a steady pace. SHEIN rate-limits bursts, so spread large runs over time instead of firing thousands of searches at once - paced runs keep the success rate high.
How much does it cost to scrape SHEIN?
ScrapeUnblocker is priced per request, not per gigabyte - from about EUR 1 per 1,000 requests down to roughly EUR 0.55 at volume, with a predictable bill.
Related scrapers
Start scraping this site today
Free tier included. No credit card required to test it.