SHEIN logo

Online shops · Coming soon

SHEIN Scraper: Home Feed Prices by Country

Pick SHEIN country stores and get the products from each home feed. Each row has the sale price, discount, local currency and USD price. Compare the same product across 26 countries.

Built and tested. Prices will be shown after release.

Coming soon to the Apify StoreFollow us on Apify

What you get, for example

goodsId145308515
titleWinter Knee High Boots Mid-Calf Pull-On Faux Fur Boots Furry Fluffy…
price43.2

How it will work: 3 steps

  1. Follow us on ApifyThe tool is built and waits in the queue for the Apify Store. Apify is the cloud platform where our tools run.
  2. Paste your input and press StartNo code needed: you fill in a form (the input). It already has a working example. For example: US in Country stores. Each start is one run.
  3. Download the resultsWhen the run ends, the results are in a table (the dataset). Open Output, press Export and pick Excel or CSV. JSON and the API are there too.

This tool is an Apify Actor: a small program that runs on Apify. You can also run it on a schedule, for example every Monday. New to it? Read how it works, step by step and the 8 words you need first.

What it does

Pick SHEIN country stores and get the products from each store's home feed, with sale price, discount, local currency and USD price, with no login and no API key. Compare prices for the same product across 26 countries.

Good for

  • You follow fashion prices and want to see what SHEIN shows on its home feed today.
  • You sell online and want to compare one SHEIN product across countries.
  • You want local prices and USD prices in one table.
  • You run the same check on a schedule and keep your own price history.

Who uses it

Fashion price watchers

See what SHEIN shows on its home feed today.

Online sellers

Compare one SHEIN product across countries.

Analysts

Keep your own price history with a daily run.

Price

Prices will be shown after release.

Questions

Can I search SHEIN by keyword?

No. The tool reads only the home feed. It has no search and no product links.

How many products do I get per store?

A store usually gives 8 to 50 different products at one time.

Does it give ratings or reviews?

No. The home feed does not have ratings, reviews, sizes, colors or stock.

Do I need a SHEIN account or an API key?

No. The Actor reads public pages. You need only an Apify account.

Can I search SHEIN for a word?

No. titleFilter only keeps matching products from the home feed. It does not ask SHEIN to find them.

Can I get one product from its link?

No. The Actor reads home feeds only.

Why do I get different products in each run?

SHEIN chooses and changes the feed. Each row shows the time in fetchedAt.

How do I compare prices by country?

Read several stores in one run and group the rows by goodsId. Compare salePriceUsd, or salePrice with currency. Not every product is in every store, so some products have one row.

Why can the discount differ from a figure on the SHEIN page?

discountPercent is worked out from price and salePrice in the same row, so it fits the two prices you see.

How fresh is the data?

The Actor reads the source during the run. fetchedAt shows the time. Prices can change after that.

Details

Step by step on Apify
  1. On the input form, keep United States in Country stores or add other stores (box 1 in the picture).
  2. Keep 10 in Maximum products for a first run (box 2).
  3. Click Start.
  4. Open the Output tab and choose the Products view. Check salePrice and salePriceUsd (box 4).
  5. Click Export to get JSON, CSV or Excel (box 5).
Use cases
TaskInputYou getKey fieldsNext step
Compare one product across countriescountries with several storesProduct row per storegoodsId, country, salePrice, salePriceUsdSpreadsheet, group by goodsId
See what a store promotes todaycountries with one storeProducttitle, salePrice, discountPercent, urlDaily schedule and Google Sheets
Follow one product typetitleFilter, such as dressProducttitle, matchedKeywords, salePriceSlack or Notion summary
Keep a price historySame input on a scheduleProductgoodsId, salePrice, currency, fetchedAtYour own database
Tips for better results
  • Start with the United States store and 10 products.
  • Use the title filter to keep products with a word in the title.
  • Run it on a schedule and save the rows to build a price history.
Limits and good to know
  • Source: only the home feed of 26 SHEIN country stores. No search, no product page by link, no account data and no ROMWE
  • Fields: no ratings, reviews, sizes, colors, stock or category names, because the feed does not have them
  • Size: a store usually gives 8 to 50 different products. In two tests with all 26 stores, each store gave 6 to 52 rows, and the runs saved 369 and 393 rows. maxItems allows 1000, but a run ends when the feeds give no new products
  • Time: the default timeout is 900 seconds. Real runs took under 10 seconds for 10 products, under a minute for 100 products and about 5.5 minutes for all 26 stores. A shorter timeout saves what it has: in two tests with all 26 stores, a 40-second timeout gave 114 and 128 rows from 11 and 12 stores, with status: partial and DEADLINE
  • Memory: 256 to 1024 MB. Outside this range the run stops at the start with UNSUPPORTED_MEMORY
  • Duplicates: a product shown twice in one store gives one row. The same product in two stores gives two rows. Stores share few products: in one test with all 26 stores, 25 of 338 different products appeared in more than one store
  • Title filter: titles are often in English, sometimes in the local language. A word in another language can match nothing, for example Kleid in the Japan store

For developers

Sample result

One result from a real test run, in JSON. Real values change from run to run. In Excel or CSV each field is a column.

one result · JSON
{
  "goodsId": "145308515",
  "title": "Winter Knee High Boots Mid-Calf Pull-On Faux Fur Boots Furry Fluffy Round Toe Fashion Boots For Women Suede Plush Warm Knee High Boots Flat Shoes",
  "price": 43.2,
  "salePrice": 27.59,
  "currency": "USD",
  "priceText": "$43.20",
  "salePriceText": "$27.59",
  "priceUsd": 43.2,
  "salePriceUsd": 27.59,
  "discountPercent": 36,
  "categoryId": "8507",
  "images": [
    "https://img.ltwebstatic.com/v4/p/spmp/2026/07/13/b1/1783935933ee693dfa6a12e4749c3ef4b38bf126da_thumbnail_405x552.png"
  ],
  "url": "https://m.shein.com/us/Winter-Knee-High-Boots-Mid-Calf-Pull-On-Faux-Fur-Boots-Furry-Fluffy-Round-Toe-Fashion-Boots-For-Women-Suede-Plush-Warm-K-p-145308515.html",
  "country": "US",
  "matchedKeywords": [],
  "source": "shein",
  "sourceRoute": "home_feed_html",
  "fetchedAt": "2026-11-07T08:58:27.021Z"
}
Data fields (18)
FieldTypeMeaning
goodsIdstringSHEIN product ID. Use it to match one product across stores.
titlestringProduct name as shown in the store. The language can follow the store.
salePricenumberCurrent price in the store currency. Null if SHEIN did not report it.
pricenumberPrice before discount in the store currency. Null if SHEIN did not report it.
currencystringStore currency code, such as USD or EUR.
discountPercentnumberDiscount reported by SHEIN, or worked out from the two prices. Null if neither is available.
salePriceUsdnumberSHEIN conversion of the sale price to USD.
priceUsdnumberSHEIN conversion of the regular price to USD.
salePriceTextstringSale price as shown in the store.
priceTextstringRegular price as shown in the store.
countrystringCountry store this price came from.
categoryIdstringSHEIN category ID. The feed has no category name.
imagesarrayProduct image links.
urlstringProduct page link built from the title and ID.
matchedKeywordsarrayEntries of your filter found in the title. Empty without a filter.
sourcestringAlways shein.
sourceRoutestringAlways home_feed_html.
fetchedAtstringTime of the read, UTC.
Input settings (6)

The main fields of the input form. With the API you send them as JSON.

SettingName in the APITypeExample value
Country storescountriesarray["US"]
Maximum productsmaxItemsinteger10
Keep titles with these keywords (optional)titleFilterarray[]
Proxy (optional)proxyConfigurationobject{"useApifyProxy": true}
Send results to (optional)deliveryConnectorstring
Notion page or channel (optional)deliveryTargetstring

Start on Apify

Make a free Apify account: you get $5 of free usage every month. Missing a tool? Suggest it. We read every idea, but we do not promise to build it.

Apify links on this page are affiliate links. We may earn a commission. You pay the same price. Affiliate disclosure