Taobao Product Feed Scraper
Pricing
from $1.89 / 1,000 products
Taobao Product Feed Scraper
Scrape the products Taobao recommends on its homepage feed. Each row has the product id, Chinese title, price in yuan, image, product link, SKU id, seller id, shop id and category ids. A feed, not a keyword search. No account needed. $1.95 per 1,000 products.
Pricing
from $1.89 / 1,000 products
Rating
5.0
(1)
Developer
Dami's Studio
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
16 hours ago
Last modified
Categories
Share
Read Taobao's own homepage recommendation feed and get one row per product: product id, Chinese title, price in yuan and in US dollars, image, product link, SKU id, seller id, shop id and both category ids. No account, no cookies.
The thing to understand before you buy: you do not choose what comes back. There is no keyword box, because the feed has no keyword parameter. It reshuffles on every call, so asking for more products just means a longer walk through it, and two runs an hour apart return different products for no reason you control. In practice the feed stops producing new products at somewhere around 1,500 distinct ones in a run.
| Input | A number of products, and optionally a price window in yuan |
| Output | One row per product: title, price in CNY and USD, image, link, SKU id, seller and shop ids, category ids |
| Ceiling | 5,000 per run, though the feed dries up around 1,500 distinct products |
| Account needed | None |
| Price | $1.95 per 1,000 products on the Free plan, a little less on paid plans. The free plan's $5 a month covers about 2,500 |
🔍 What Taobao Product Feed Scraper does
You say how many products you want and it walks the feed until it has that many distinct ones, or until the feed stops offering new ones. Each call returns 20 cards. Measured over 120 calls, about 13 of those are products the run has not seen before, and that falls to roughly 8 by the hundredth call, which is what makes 1,500 the practical ceiling rather than the 5,000 in the form.
The two price filters are applied after Taobao answers, because the feed takes no price parameter. A product outside your window is dropped and never billed. The trade is more calls for the same number of rows, so a narrow window makes for a longer run.
For a sense of what the window should be: across 1,021 distinct products measured in two 600-product runs on 9 August 2026, prices ran from 0.01 to 99,999 yuan with a median of 19.9. Ninety-five per cent of rows were under 200 yuan and ninety-nine per cent under 1,000. Set a minimum of 500 and most of the feed gets thrown away.
📋 What data you get from each Taobao product
| What you get | Field |
|---|---|
| Product id, title and the clean link | productId, title, productUrl |
| Price and currency, always CNY | price, currency |
| The price in US dollars, with the rate used and its date | priceUsd, usdRate, usdRateDate |
| Image and promo badge | imageUrl, promotionBadgeImageUrl |
| The variant on offer | skuId |
| Who sells it | sellerId, shopId |
| The deepest category and the top-level one above it | categoryId, rootCategoryId |
| Taobao's "find similar" link and its original tracked link | similarItemsUrl, trackedUrl |
| Where it sat in the feed | feedPage, feedPosition |
▶️ How to scrape Taobao's product feed
- Open Taobao Product Feed Scraper and click Try for free.
- Set How many products to return. Around 50 is enough to see what the rows look like.
- If you want a price band, open Filters and set one or both of the yuan limits. Check the figures above first so you do not filter out most of the feed.
- Click Start, then download the dataset as JSON, CSV or Excel.
Leave How many products to return empty and you get one labelled sample row, free.
💰 How much does it cost to scrape Taobao's product feed?
$1.95 per 1,000 products on the Free plan. Paid plans pay a little less: $1.93 on Starter, $1.91 on Scale and $1.89 on Business. On the free plan, the $5 Apify gives you each month covers about 2,500 products.
One billed row per distinct product. A product the feed offers twice is dropped the second time, a product outside your price window is dropped before it reaches the dataset, and neither is billed. While a price limit is set, a product with no readable price is dropped too, free, and counted apart in the status line. The sample row and diagnostic rows are not billed either.
📥 What you give it
{"maxItems": 200,"minPriceCny": 50,"maxPriceCny": 500}
| Field | Default | What it is |
|---|---|---|
maxItems | none | How many distinct products to collect, 1 to 5,000. Leave it empty and the run writes one sample row instead of scraping. |
minPriceCny | none | Optional, under Filters. Drop products cheaper than this many yuan. |
maxPriceCny | none | Optional. Drop products dearer than this many yuan. |
maxRequests | none | Optional, under Advanced. A hard ceiling on feed calls, 1 to 2,000. Leave it empty and the run sizes that budget from maxItems. |
proxyConfiguration | none | Optional. Leave it alone unless you want the run to go out through a network of your own. |
maxItems deliberately carries no default, so an empty API call cannot start a charged crawl by
accident.
📤 What you get back
A real row from a run on 17 October 2026, with the image and the two tracking links trimmed:
{"productId": "1084092105290","title": "大海怪臻厚抽纸卫生纸家用大包100%原生木浆柔软亲肤餐巾纸面巾纸","price": 45,"currency": "CNY","productUrl": "https://item.taobao.com/item.htm?id=1084092105290","imageUrl": "https://img.alicdn.com/bao/uploaded/i4/2222808560917/O1CN01BsTrJTRkgIH2vH2e_!!...","skuId": "6301857578272","sellerId": "2222808560917","shopId": "229066044","categoryId": "50012478","rootCategoryId": "50025705","promotionBadgeImageUrl": "https://img.alicdn.com/imgextra/jz3_1/O1CN01nRidmm1UAVxdcYMzF_!!...","similarItemsUrl": "https://www.taobao.com/market/lu/findgoods_router.php?id=1084092105290&scm=1007...","trackedUrl": "https://item.taobao.com/item.htm?id=1084092105290&scm=1007...","feedPage": 1,"feedPosition": 4,"scrapedAt": "2026-10-17T04:42:46.988Z","priceUsd": 6.73,"usdRate": 0.149561,"usdRateDate": "2026-10-16"}
| Field | How to read it |
|---|---|
productId | Taobao's own product id, and the key to de-duplicate on across runs. |
title | The listing title as the seller wrote it, in Chinese. Nothing is translated. |
productUrl | The clean link. Use this one for anything you store or share. |
priceUsd | The yuan price in US dollars, at usdRate: the European Central Bank's reference rates of usdRateDate, its dollar rate divided by its yuan rate. The ECB publishes these rates free on its website, for information rather than for payments. Empty when the rate could not be read that run. |
trackedUrl | Taobao's original click link with its attribution parameters left on. |
skuId | The specific variant the feed is offering. Present on about 82% of rows. |
promotionBadgeImageUrl | Filled on roughly a third of rows, null on the rest. |
Field names here are not the same as the category scraper's. This one uses categoryId and
promotionBadgeImageUrl where that one uses leafCategoryId and promoBadgeImageUrl. Worth
knowing if you load both into the same table.
🧾 Reading the output
| Row | How to spot it | Billed |
|---|---|---|
| A product | It has a productId and no _sample or _diagnostic key | yes |
| The sample row | _sample: true, only when maxItems was left empty | no |
| A diagnostic | _diagnostic: true, ok: false and an errorCode | no |
Product rows carry no charged flag; the sample and diagnostic rows carry charged: false. The
sample row is a real product's row with _sample added, so to keep only products, drop every row
with _sample or _diagnostic.
| Code | What it means |
|---|---|
NO_RESULTS | The run finished without a single product matching your price window. Widen it. |
NOT_SERVED | This product was not served this run. Re-run it later. Until 12 October 2026 this code was called BLOCKED. |
FEED_UNAVAILABLE | Taobao answered in a way that says the feed is not serving this request. |
RUN_FAILED | The run stopped on an error before it finished. Anything already delivered stays in the dataset. |
If the run's time limit, or the maximum cost you set for it, runs out before a single product arrives, the run ends as FAILED rather than reporting an empty success.
💡 What people use it for
- Getting a broad, unfiltered slice of what Taobao is promoting right now, rather than a slice shaped by a search term.
- Building a price distribution for cheap consumer goods in yuan, which
priceandcurrencygive you without any cleaning. - Collecting seller and shop ids at volume, then researching those shops separately.
- Sampling the feed on a schedule to watch what Taobao's recommendations drift toward.
🚧 What it does not do
- No keyword, no category, no control. You cannot ask for a product type. If you need to choose, this is the wrong tool.
- No product detail. No description, no specs, no extra images, no reviews, no sales volume, no original list price. Those live on the product page, which this does not open. No shop names or shipping details either: the feed carries ids only.
- The dollar price is a conversion for comparing, not a quote.
- It dries up. Around 1,500 distinct products per run, after which the feed mostly re-offers what you already have.
- Price filters cost calls, not rows. A narrow window means a longer run for the same number of results, though you only pay for what survives.
skuIdand the promo badge are not on every row, about 82% and a third respectively.- Titles stay in Chinese. Nothing is translated.
- A big run can come back short. When Taobao stops serving the feed, the run ends with an uncharged diagnostic row. Only delivered product rows are billed.
- It is not an official Taobao tool. Dami's Studio is independent and is not affiliated with or endorsed by Taobao or Alibaba, or by any other company named on this page.
🧭 Which Taobao scraper do you need?
| If you want | Use |
|---|---|
| Whatever Taobao's homepage feed is recommending right now | This one |
| Retail products in a Taobao category | Taobao Category Products Scraper |
| The Chinese words shoppers type into Taobao | Taobao Keyword Suggestions Scraper |
| Second-hand Xianyu listings, from links you already have | Goofish Scraper |
| 1688 offers by search term: unit price, MOQ and the quantity price ladder | 1688 Wholesale Scraper |
| Export products, MOQ and suppliers on Alibaba.com | Alibaba.com Scraper |
❓ Questions people ask
Do I need a Taobao account?
No. Nothing to register and no cookies to paste.
Can I search Taobao for a product with this?
No. The feed takes no keyword. Pick the category scraper if you want to choose what you get.
Why do two runs return different products?
Because the feed reshuffles on every call. That is Taobao's behaviour, not a setting here.
Why did my run stop before maxItems?
Because the feed stopped offering products it had not already served. Around 1,500 distinct ones is where that usually happens.
Do the price filters make it cheaper?
They stop you paying for rows you did not want, yes. Dropped products are never billed. They do make the run longer.
Can I call it from code or connect it to an AI assistant?
Yes. The API tab has
ready-made code for Python, JavaScript and the command line. For Claude, ChatGPT or another MCP
client, connect https://mcp.apify.com/?tools=fetch-actor-details,dami_studio/taobao-product-feed-scraper.
Either way the run happens on your Apify account at the same price.
Is scraping Taobao legal?
These are public listing pages with no account behind them. Apify's write-up on the legality of web scraping is a good starting point, and we are not lawyers.
🆘 If something breaks
Open the Issues tab on the actor page. Send the run ID and the input you used. A
FEED_UNAVAILABLE row is worth reporting straight away, because it means Taobao changed something.