Shein Product Scraper — Prices, Variants & Reviews avatar

Shein Product Scraper — Prices, Variants & Reviews

Pricing

from $40.00 / 1,000 product scrapeds

Go to Apify Store
Shein Product Scraper — Prices, Variants & Reviews

Shein Product Scraper — Prices, Variants & Reviews

Scrape Shein products by keyword search, category URL, product URL, or goods ID. Returns price, variants, sizes, colors, images, rating, description, and optional reviews. Browser-based via Apify Residential proxy. MCP-ready.

Pricing

from $40.00 / 1,000 product scrapeds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

2 days ago

Last modified

Share

Scrape Shein products at scale by keyword search, category URL, product URL, or goods ID. Returns clean, structured JSON: title, sale & retail price, discount, color and size variants, SKUs, the full image gallery, rating, description, attributes, and (optionally) customer reviews. Built MCP-ready for AI agents and browser-based via Apify Residential proxies so it gets through Shein's anti-bot.

What you can do with it

  • Dropshipping & product research — pull a category or search term and get every product with prices, discounts, and images.
  • Repricing & price monitoring — track sale vs. retail price and discount % per goods ID over time.
  • Catalog & trend analysis — capture sizes, colors, SKUs, and ratings across a niche.
  • Review mining — embed the latest customer reviews (rating, text, size/color bought, fit) into each product record.
  • AI agents — call it from Claude/GPT via Apify MCP with a single keyword or URL and get back agent-friendly JSON.

When to use which input

InputUse it forBilled as
searchQueriesKeyword discovery (e.g. summer dress)product (or search-result if scrapeProductDetails=false)
startUrls (search/category)A specific Shein listing/category pageproduct (or search-result)
startUrls (product)One or more exact product pagesproduct
goodsIdsYou already have Shein goods IDsproduct

Set scrapeProductDetails=false to return only lightweight listing cards (cheaper, faster) instead of opening every product.

Output

Each product record (one row per product):

FieldDescription
goodsIdShein internal numeric goods_id
titleProduct name
brandStore / brand (SHEIN, ROMWE, marketplace brand)
salePrice / salePriceTextCurrent price (number + display string)
retailPrice / retailPriceTextOriginal price (number + display string)
discountPercentDiscount off retail
currencyStorefront currency (e.g. USD)
rating / reviewCountAverage rating (0–5) + number of reviews
inStockStock availability
color / colorsPrimary color + all available color names
sizes / skusSize names + SKU variants [{ size, skuCode, price, stock }]
mainImage / imagesPrimary image + full gallery
category / categoryId / breadcrumbsCategory context
description / attributesDescription + material/style attributes
reviewsEmbedded reviews when scrapeReviews=true
productUrl / scrapedAtCanonical URL + ISO 8601 timestamp

search_result rows (when scrapeProductDetails=false) carry the listing-card subset: goodsId, title, salePrice, discountPercent, mainImage, rating, productUrl.

Pricing (Pay-Per-Event)

EventPrice
Actor start$0.00005
Product scraped (full detail)$0.04
Search result (listing card)$0.005

A typical run of 20 full products costs about $0.80. Listing-only runs are $0.005/card. Premium-tier quality at a lower price than the entrenched $0.045/product incumbents.

Quick start

Apify Console

  1. Enter a keyword in Search queries (e.g. summer dress), or paste Shein URLs / goods IDs.
  2. Pick your Country / storefront (drives currency and proxy region).
  3. Set Max items and toggle Scrape full product detail / Scrape reviews.
  4. Run.

API (JavaScript)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('khadinakbar/shein-product-scraper').call({
searchQueries: ['summer dress'],
country: 'us',
maxItems: 20,
scrapeProductDetails: true,
scrapeReviews: false,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

API (Python)

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("khadinakbar/shein-product-scraper").call(run_input={
"goodsIds": ["100123456", "100654321"],
"country": "us",
"scrapeReviews": True,
"maxReviews": 10,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["title"], item["salePrice"], item["currency"])

MCP (AI agents)

The actor is exposed via Apify MCP as apify--shein-product-scraper. Point your MCP client at https://mcp.apify.com?tools=khadinakbar/shein-product-scraper and call it with a keyword, URL, or goods ID.

How it works

Shein protects its product and search pages with a homegrown "armor" risk engine that blocks raw HTTP (including its own BFF JSON API) and challenges datacenter IPs. This actor renders pages in a real Chromium browser through Apify Residential proxies with rotating fingerprints, warms a session on the storefront homepage, and passively captures Shein's own BFF JSON responses (get_goods_detail_static_data, realtime, image) — falling back to JSON-LD, OpenGraph, and DOM extraction. If a session is challenged, it rotates to a fresh residential IP with exponential backoff.

FAQ

Which countries are supported? US, UK, AU, DE, FR, ES, IT, and Global (www.shein.com). The storefront drives currency and the matching residential proxy region.

Why are some runs slower? Shein's armor occasionally challenges the first residential IP; the actor rotates to a fresh one automatically. Lower maxItems for faster test runs.

Do I need cookies or login? No. The actor needs no Shein account — it passes the armor challenge in-browser.

Will it ever return 0 items? If Shein blocks every rotated session, the run finishes SUCCEEDED with a single diagnostic row and a terminal WARNING status (never a silent empty success, never an unexplained failure). Retry, lower maxItems, or switch country.

Can I get individual reviews as separate rows? Reviews are embedded inside each product record (reviews[]) up to maxReviews.

This Actor collects only publicly available data from Shein product and listing pages and performs no login or access-control bypass. You are responsible for using the scraped data in compliance with Shein's Terms of Service, applicable laws (including the GDPR/CCPA where relevant), and copyright. Do not use the data to infringe intellectual property or for any unlawful purpose. This Actor is an independent project and is not affiliated with, endorsed by, or sponsored by Shein.