· 13 min read
Shein Product Scraper: 14 Data Fields, Up to 2,500 Free Results/Month
Currently-featured products on Shein's regional homepages across 22 countries can be scraped to return 14 output fields, including product ID, price, and category. A thousand results costs $2.00 on Apify's free plan, and every run fetches live homepage data where typically 6 to 16 products are featured per session. Each record carries the local currency and formatted price text for the selected region. This tool is for researchers who need to monitor global fashion trends and regional pricing. It is not for users who need to scrape a specific product page URL or a full category catalog, as those pages are protected by captcha challenges.
Try it before you read further. Apify's free plan includes $5.00 of usage every month with no credit card, enough for up to 2,500 results at $0.002 each before platform usage. Open Shein Product Scraper on Apify and run the prefilled example.
How reliable is Shein Product Scraper in production?
Across the last 30 days of public runs on the Apify platform, Shein Product Scraper recorded 60 runs with the following outcomes.
| Outcome | Runs | Share |
|---|---|---|
| Succeeded | 60 | 100.0% |
| Failed | 0 | 0.0% |
| Aborted by the user | 0 | 0.0% |
| Timed out | 0 | 0.0% |
| Total | 60 | 100.0% |
No run failed or timed out in the last 30 days. Keep a retry and an alert on scheduled runs all the same: a clean month is a record, not a guarantee.
What does it cost to run Shein Product Scraper?
Each result costs $0.002 on Apify's free plan, which is $2.00 per 1,000 results. Starting a run is charged separately at $0.005 per GB of Actor memory. Apify also bills the platform usage each run consumes, at the rates of your Apify plan, on top of these charges.
| Apify plan | Per result | Per 1,000 results |
|---|---|---|
| FREE | $0.002 | $2.00 |
| BRONZE | $0.00167 | $1.67 |
| SILVER | $0.00133 | $1.33 |
| GOLD | $0.001 | $1.00 |
| PLATINUM | $0.001 | $1.00 |
| DIAMOND | $0.001 | $1.00 |
Worked example: collecting 10,000 results costs $20.00 in result charges before run-start fees and platform usage. No run failed or timed out in the last 30 days, so the list price is a fair budget; keep a retry in place all the same.
The maxItems control is the primary driver of your bill, as result charges are calculated per item written to the dataset. To minimize costs while verifying data quality, run the Actor with the example input cap of 5, which costs at most $0.01 in result charges. Apify's free plan includes $5.00 of monthly usage, which is enough to cover up to 2,500 results from this scraper.
How do you run Shein Product Scraper from the API?
None of its 2 controls is strictly required, so the defaults below produce a valid run on their own. Every value in the payload below comes from the published schema's own prefills, which means you can paste it, swap the token, and get a real result.
Call the synchronous endpoint to start a run and receive dataset items in one request:
curl -X POST "https://api.apify.com/v2/acts/crawlerbros~shein-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"country":"US","maxItems":5}'
The same run from Python, using the official client:
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
"country": "US",
"maxItems": 5
}
run = client.actor("crawlerbros~shein-scraper").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)
And from Node.js:
import { ApifyClient } from 'apify-client'
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' })
const input = {
"country": "US",
"maxItems": 5
}
const run = await client.actor('crawlerbros~shein-scraper').call(input)
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)
That endpoint blocks until the run completes. Fine while you are testing a handful of records, risky once a run takes minutes: a dropped connection loses the response even though the run itself finished. Switch to an asynchronous start with polling or a webhook before you schedule anything.
Which Shein Product Scraper inputs matter, and which can you skip?
The country control selects which regional homepage to fetch, which determines the products, currency, and local pricing returned. Use the maxItems control to limit the output; since the homepage rarely yields more than 16 products per session, a value of 30 is sufficient for most runs.
country(string): Which Shein regional homepage to scrape. Each region returns its own featured products in local currency. Default:"US".maxItems(integer): Maximum featured products to return. The Shein homepage typically yields 6-16 products per session. Default:30.
Fixed-choice controls: country accepts 22 values (default US), including US (United States (USD)), UK (United Kingdom (GBP)), DE (Germany (EUR)), FR (France (EUR)).
What does Shein Product Scraper return?
The returned records are effective for analyzing what is being promoted in specific regions, providing the salePrice, discountPercentage, and catId for each featured item. They do not contain full descriptions or data from deeper category pages that are inaccessible without session cookies.
productId: string - always present - Shein goods_idtitle: string - always present - Product nameurl: string - always present - Product page URLcountryCode: string - always present - 2-letter country codescrapedAt: string - always present - UTC ISO 8601 scrape timestampmainImage: string - always present - Main product image URLcurrency: string - always present - Local currency codesalePrice: number - always present - Current sale price (numeric)salePriceText: string - always present - Formatted sale price with symbol (e.g.$18.23)retailPrice: number - always present - Original retail price (numeric)retailPriceText: string - always present - Formatted retail price with symbol (e.g.$26.39)discountPercentage: integer - Discount % off retail (present on ~95% of products)catId: string - Shein category ID (present on ~96% of products)images: array - Additional product image URLs (present on ~99% of products)
These are the documented fields. Optional ones can be empty on a given record, so measure how often each field your deliverable depends on is populated across a real sample before automating the handoff.
How do you build the workflow end to end?
Open Shein Product Scraper and work through these in order. Each step ends with something to check, so a bad configuration surfaces on a small run rather than a scheduled one.
- Set the country control to a single region, such as US or DE, and set maxItems to 5 for an initial validation run.
- Check the dataset for the productId and title fields to ensure the server-rendered productList is being correctly parsed.
- Observe the salePrice and currency fields to verify that the local pricing for your selected region is present.
- Increase maxItems to 30 to capture the typical 6-16 featured products available on a standard homepage session.
- Compare the results of multiple runs for the same country to observe how the featured items rotate between different sessions.
- Combine your results into a single dataset using the productId field as a unique identifier to remove duplicates from rotating sessions.
How do you apply it? Three worked playbooks
These are Shein Product Scraper's own documented use cases, each worked through as an operating pattern rather than a description.
Use case 1: Daily trending monitor
Outcome: Track what Shein is featuring on each regional homepage
Configure: Set country to "US" and leave maxItems at 30.
Working method: Schedule the Actor to run at the same time every day for a specific region. Compare the product titles and image URLs against previous days to identify which styles are being promoted most frequently by the retailer.
Deliverable: A daily time-series dataset of products featured on the regional homepage including their sale and retail prices.
Stop condition: The scraper returns zero products for three consecutive scheduled runs while the homepage remains reachable in a browser.
Use case 2: Price sampling
Outcome: Accumulate a rolling catalog of Shein prices across 22 markets
Configure: Create 22 separate Actor tasks, each set to a different country code from the supported list.
Working method: Run all 22 tasks in a batch to capture a cross-section of global pricing. Aggregate the datasets to compare the salePrice across different currencies and regions for identical productId entries.
Deliverable: A consolidated CSV or JSON file containing product pricing and discount data across all 22 supported regional markets.
Stop condition: The currency field in the output does not match the expected local currency for the selected country code.
Use case 3: Market research
Outcome: Monitor product themes, categories, and promotions globally
Configure: Set country to "UK" and set maxItems to 50 to ensure capture of all available homepage blocks.
Working method: Analyze the catId and title fields from multiple runs to determine which categories are receiving the most homepage exposure. Use the discountPercentage to measure the intensity of current promotional activity.
Deliverable: A categorization report showing the distribution of featured products across different Shein category IDs.
Stop condition: The catId field is missing from more than 10% of the returned product records in a single run.
What breaks, and how do you design around it?
- Over the last 30 days, 0.0% of public runs failed and 0.0% timed out. Build retries and alerting around those rates rather than assuming every run completes.
If a run returns fewer results than your maxItems setting, it is because the specific homepage session only contained that many featured products. To gather a larger volume of data, schedule multiple runs to capture different rotating sets of products from the same regional homepage.
When should you not use Shein Product Scraper?
Do not use this Actor if you need to perform keyword searches or scrape every item in a category like dresses or accessories. Shein redirects category and product detail pages to a captcha challenge for anonymous sessions, meaning this scraper cannot access them. For broader apparel market data where catalog access is more open, you should instead use the Gap Inc Scraper (Gap, Old Navy, Banana Republic, Athleta) or the Uniqlo Product Scraper. If your research is focused on high-end luxury fashion rather than fast fashion, the Hardly Ever Worn It Scraper provides a better data source for pre-owned luxury items.
What should you check before trusting the output?
- Verify that salePriceText and retailPriceText include the correct currency symbol for the selected country enum.
- Check for the presence of discountPercentage in approximately 95% of records to ensure promotional parsing is active.
- Confirm that the images array is populated with additional URLs for 99% of products as per documented rates.
- Monitor the catId field across runs to ensure product categorization data is being captured for at least 96% of items.
- Alert if a successful run returns zero results, which may indicate a change in the server-side productList JSON structure.
None of this proves a record is correct. It gives a scheduled Shein Product Scraper run defined points where it should stop instead of quietly passing bad data downstream.
Frequently asked questions
What is the cost of running the Shein Product Scraper?
The free-plan price is $0.002 per result, or $2.00 per 1,000 results. Apify's free plan includes $5.00 of monthly usage, which can cover up to 2,500 results. Keep in mind that a run-start fee is also applied every time an Actor starts, and platform usage is billed separately according to your specific Apify plan.
How many items can I expect from a single run?
A typical run returns between 6 and 16 featured products, as this is the amount Shein usually renders on its root homepage. While the maxItems control allows for higher limits, the scraper is restricted to what is server-rendered on the homepage. To collect more items, you must run the scraper multiple times to capture rotating products.
Why can't I scrape specific product URLs or categories?
Shein uses aggressive bot protection that redirects anonymous users to a captcha challenge on all pages except the root homepage. Because this scraper operates without pre-seeded cookies or captcha solvers, it is specifically designed to extract the embedded productList JSON from the reachable homepage rather than navigating the full site catalog.
Is a proxy required to use this Shein scraper?
No configuration is required because a residential proxy is hardcoded into the Actor. This is necessary because Shein blocks all datacenter IP addresses. The cost of this proxy is included in the standard Apify platform usage fees billed on top of the per-result charges.
How reliable is this Actor for automated data collection?
The Actor is highly reliable for unattended use, with 60 of 60 public runs in the last 30 days finishing successfully. This 100.0% success rate indicates that the bracket-counted JSON extraction method is effective at navigating Shein's server-rendered content even when non-JSON fragments are present on the page.
Where to go next
When you are ready to run it, open Shein Product Scraper on Apify; the free plan covers up to 2,500 results a month.
Start with the Shein Product Scraper Actor page for the current input schema, pricing tier, and run history.
If you are comparing approaches rather than committing to one Actor, these category pages list every option we publish:
- Product and price scrapers covers 344 Actors in this family.
Other Actors we maintain for related data:
- Uniqlo Product Scraper: Scrape UNIQLO.com product catalog - search by keyword, browse by category, or fetch full product detail by product ID.
- Sur La Table Kitchenware Scraper: Scrape Sur La Table (surlatable.com) kitchenware.
- Home Depot Product Scraper: Scrape product listings from homedepot.com by keyword or direct URL.
- Gap Inc Scraper (Gap, Old Navy, Banana Republic, Athleta): Scrape live product listings across Gap Inc's apparel & home-goods brands - Gap, Gap Factory, Old Navy, Banana Republic, and Athleta.
- Hardly Ever Worn It Scraper: Scrape hardlyeverwornit.com - a UK-based luxury pre-owned fashion marketplace.
- Ulta Beauty Product & Review Scraper: Scrape Ulta Beauty (ulta.com) products by search, category, or brand.
- Banggood Product & Price Scraper: Scrape Banggood.com - search by keyword, browse by category, or fetch full product detail by URL.
- Article Furniture Scraper: Scrape Article.com's furniture catalog - browse any room/category or search by keyword, get prices (incl.
Related guides:
- Home Depot Product Scraper: Three Practical Use Cases
- Gymshark Scraper: 3 Practical Use Cases & Operational Playbooks
- Boohoo Fashion Scraper: 3 Practical Use Cases
- Lemanapro Scraper: 3 Practical Use Cases
Resources
Actor documentation, input schema, and pricing: verified against the published Actor on 2026-09-25.
Actor last updated by its maintainers on 2026-05-16.
Run outcome figures cover the 30 day public window ending 2026-09-25.
Featured actors
Shein Product Scraper
Scrape product details from Shein (us.shein.com) by direct product URL. Returns SKU, product ID, title, price, sale price, images, sizes, colors, and rating.
Run on Apify ↗