Taobao Scraper | Products, Prices and Sellers avatar

Taobao Scraper | Products, Prices and Sellers

Pricing

from $3.82 / 1,000 products

Go to Apify Store
Taobao Scraper | Products, Prices and Sellers

Taobao Scraper | Products, Prices and Sellers

Taobao scraper for Taobao and Tmall: get best-selling products by keyword or product link with price, original price, shop, seller credit level and service scores, shipping location, images and the latest buyer review. No login needed. Export JSON, CSV or Excel for sourcing and price tracking.

Pricing

from $3.82 / 1,000 products

Rating

0.0

(0)

Developer

SilentFlow

SilentFlow

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

a day ago

Last modified

Share

Taobao 淘宝 Scraper

Turn Taobao and Tmall into a table: the best-selling products of any keyword, or any product you paste, with price, shop, seller scores, shipping location and the latest buyer review on every row. 40 fully detailed products in under 30 seconds, no Taobao account needed.

How it works

How it works

  1. You type keywords or paste product addresses. Chinese keywords match best (无线耳机, 机械键盘), brand names work in English (iphone, nike). Product addresses from item.taobao.com, detail.tmall.com or a bare item id go in a second field.
  2. Each keyword returns its 20 best sellers. The same products a shopper on Taobao sees first, with the product page of each one read for the seller, the location and the reviews.
  3. One row comes back per product. 31 fields: identity, price and original price in yuan, shop and seller with credit level and three service scores, category, shipping location, images, the latest review with its rating and SKU, the keyword and the rank. Ready for a spreadsheet, a database or an AI pipeline.

✨ Why teams choose this over other Taobao scrapers

Copying prices from Taobao tabs into a spreadsheet? Running a scraper that asks for your account before it shows a single product? Getting seller data as "300+" strings you cannot sort?

  • 🔓 No account, no login, no API key. Type a keyword and run. The scraper reads the public pages Taobao publishes to search engines, so there is nothing to log into and nothing to renew.
  • 🏆 Best sellers, not random hits. A keyword returns the 20 products Taobao ranks first by sales, the ones that actually move. Two keywords give you a market snapshot in one run.
  • 🏪 Seller scores on every row. Credit level, description, service and logistics scores, item count and the year the shop opened, plus whether the seller is a business (Tmall) or an individual (Taobao). Other scrapers make you run a second operation for this.
  • 💬 The latest review, with rating and SKU. See what the last buyer said, which variant they bought and when, next to the price. Individual sellers also come with good and bad review counts and the positive rate.
  • 🔢 Numbers you can sort. Prices are numbers in yuan with the currency in its own field, review counts are integers, dates are RFC 3339 in UTC, ids are stable strings. No "1.5万+" to clean.
  • Fast and predictable. 40 detailed products in 26 seconds, 45 listing rows in 8 seconds. One keyword costs one page, one product one page, so you know the size of a run before you start it.

🎯 What you can do with Taobao data

TeamWhat they build
SourcingCompare the 20 best-selling suppliers of a product with their credit level, service scores and shipping province before contacting any of them
PricingTrack the price and original price of competing listings every morning and alert on drops of more than 10 percent
Cross-border sellersSpot which products a Chinese keyword sells most and at what price before listing them on Amazon, Shopee or Lazada
Market researchMap a category by shop type, location and price band across dozens of keywords in one run
Brand protectionFind who sells your brand on Taobao and Tmall, at what price, with which seller scores, and keep the list current
Purchasing agentsGive clients a live table of best sellers with images, prices and shop names instead of screenshots
Data and AIFeed product rows with the latest review and SKU into an LLM to summarise what buyers praise or complain about

📥 Input parameters

FieldTypeDefaultDescription
keywordsarray["iphone", "无线耳机"]What to search, one keyword per line. Each keyword returns its 20 best-selling products.
productUrlsarraySingle products to read: a product address (https://item.taobao.com/item.htm?id=1082579041881, https://detail.tmall.com/item.htm?id=...) or a numeric item id.
maxItemsinteger100How many rows to save for the whole run. Products read by address count too.
includeDetailsbooleantrueRead the product page of every product for the marketplace, seller scores, location, original price and latest review. Turn off for a faster listing.
debugModebooleanfalseAdds detailed lines to the run log.

Keywords and product addresses can be combined in one run. A product already returned by a keyword is not read twice.

📊 Output data

One row per product. A row found by keyword:

{
"id": "1082579041881",
"url": "https://item.taobao.com/item.htm?id=1082579041881",
"title": "Apple/苹果 iPhone 18 Pro Max",
"marketplace": "tmall",
"categoryId": "1512",
"categoryPath": ["手机行业导购条", "2999-3999元"],
"isFreeShipping": false,
"shopId": "107922698",
"shopName": "Apple Store 官方旗舰店",
"shopUrl": "https://shop.m.taobao.com/shop/shop_index.htm?user_id=1917047079",
"sellerId": "1917047079",
"sellerType": "business",
"sellerCreditLevel": 19,
"sellerScoreDescription": 4.8,
"sellerScoreService": 4.8,
"sellerScoreLogistics": 4.8,
"shopItemsCount": 402,
"shopOpenedAt": "2013-12-10T08:40:27Z",
"price": 10999,
"originalPrice": 10999,
"currency": "CNY",
"reviewsGoodCount": null,
"reviewsBadCount": null,
"reviewsGoodPercent": null,
"latestReview": {
"text": "手感非常好,勃艮第酒红真的高级,成年的iphone就是不一样",
"rating": 5,
"sku": "机身颜色:勃艮第酒红色;存储容量:512GB",
"publishedAt": "2026-09-17T11:09:00Z",
"images": null
},
"location": "上海",
"imageUrl": "https://img.alicdn.com/imgextra/i1/1917047079/O1CN0186xFSkr1QWD2b8G8_!!4611686018427384103-0-item_pic.jpg",
"images": ["https://img.alicdn.com/imgextra/i1/1917047079/O1CN0186xFSkr1QWD2b8G8_!!4611686018427384103-0-item_pic.jpg"],
"keyword": "iphone",
"rank": 1,
"scrapedAt": "2026-09-21T03:28:07Z"
}

A row read by product address, from an individual seller on Taobao:

{
"id": "782565808293",
"url": "https://item.taobao.com/item.htm?id=782565808293",
"title": "富士二手拍立得min...",
"marketplace": "taobao",
"categoryId": "50004195",
"categoryPath": ["阿里B2C商城", "相机/摄像机", "胶卷相机", "一次成像(拍立得)"],
"isFreeShipping": false,
"shopId": "355542236",
"shopName": "橙子摄影器材",
"shopUrl": "https://shop.m.taobao.com/shop/shop_index.htm?user_id=2212016938924",
"sellerId": "2212016938924",
"sellerType": "individual",
"sellerCreditLevel": 9,
"sellerScoreDescription": 4.9,
"sellerScoreService": 4.9,
"sellerScoreLogistics": 4.9,
"shopItemsCount": 3,
"shopOpenedAt": "2023-03-19T15:27:45Z",
"price": 279,
"originalPrice": 279,
"currency": "CNY",
"reviewsGoodCount": 100,
"reviewsBadCount": 0,
"reviewsGoodPercent": 99,
"latestReview": {
"text": "相机很新,拍出来的效果也不错,客服态度很好,很喜欢",
"rating": 5,
"sku": "套餐类型:裸机+电池;颜色分类:Mini7S白色95新",
"publishedAt": "2026-09-03T12:35:00Z",
"images": null
},
"location": "重庆",
"imageUrl": "https://img.alicdn.com/imgextra/i1/2212016938924/O1CN01lfwOUe2FnFR9MCsJG_!!2212016938924.jpg",
"images": ["https://img.alicdn.com/imgextra/i1/2212016938924/O1CN01lfwOUe2FnFR9MCsJG_!!2212016938924.jpg"],
"keyword": null,
"rank": null,
"scrapedAt": "2026-09-21T03:29:06Z"
}

Facts worth knowing before you build on the output:

  • id and url are permanent. The product address opens the full product page on Taobao or Tmall.
  • title is the full listing title for rows found by keyword. For rows read by address, Taobao's product page shortens the title to about ten characters (富士二手拍立得min...), and that short title is what the row carries.
  • price is the current price in yuan; originalPrice is the price before promotion when the page shows one. A product with several variants shows the price of the default one.
  • reviewsGoodCount, reviewsBadCount and reviewsGoodPercent are given by the pages of individual sellers (Taobao). Tmall product pages do not show them, so they are null there. Counts are lower bounds: Taobao writes 700+ and 1万+, saved as 700 and 10000.
  • Image URLs point to Taobao's image CDN and stay valid for months.
  • All dates are RFC 3339 in UTC. Taobao writes them in Beijing time; the conversion is done for you.
  • A field the source does not give is null, never an empty string.

🗂️ Data fields

31 fields per product, plus 5 inside latestReview.

GroupFields
Identityid, url, title
Contentmarketplace (tmall or taobao), categoryId, categoryPath, isFreeShipping
SellershopId, shopName, shopUrl, sellerId, sellerType (business or individual), sellerCreditLevel, sellerScoreDescription, sellerScoreService, sellerScoreLogistics, shopItemsCount, shopOpenedAt
Measuresprice, originalPrice, currency, reviewsGoodCount, reviewsBadCount, reviewsGoodPercent
Latest reviewlatestReview.text, latestReview.rating (1 to 5), latestReview.sku, latestReview.publishedAt, latestReview.images
Placelocation (province or city the product ships from)
MediaimageUrl, images
Metakeyword, rank (position in the keyword's best sellers, 1 to 20), scrapedAt

With includeDetails off, the row keeps id, url, title, categoryId, isFreeShipping, shopId, shopName, price, originalPrice, currency, imageUrl, images, keyword, rank and scrapedAt; the other fields are null.

🚀 Examples

Get the best-selling wireless earbuds

{
"keywords": ["无线耳机"]
}

Compare iPhone listings across three generations

{
"keywords": ["iphone 15", "iphone 16", "iphone 16 pro"],
"maxItems": 60
}

Read the products you already track, by address

{
"productUrls": [
"https://item.taobao.com/item.htm?id=1082579041881",
"https://detail.tmall.com/item.htm?id=782565808293",
"902530047445"
]
}

Build a fast price list without product pages

{
"keywords": ["机械键盘", "客制化键盘", "键帽"],
"includeDetails": false,
"maxItems": 60
}

Map a whole category in one run

{
"keywords": ["女装", "连衣裙", "外套", "牛仔裤", "毛衣", "半身裙", "卫衣", "羽绒服"],
"maxItems": 160,
"includeDetails": true
}

Mix a keyword and a watch list

{
"keywords": ["手工皂"],
"productUrls": ["https://www.taobao.com/list/item/1082579041881.htm"],
"maxItems": 30
}

🤖 Copy to your AI assistant

Paste this block into Claude, ChatGPT or Cursor to give it full context about this scraper:

You have access to the Taobao Scraper on Apify: silentflow/taobao-scraper
Input schema:
- keywords (array of strings): search keywords, each returns its 20 best-selling products on Taobao and Tmall. Chinese keywords match best.
- productUrls (array of strings): product addresses (item.taobao.com, detail.tmall.com, www.taobao.com/list/item/{id}.htm) or numeric item ids
- maxItems (integer, default 100): cap on rows for the whole run
- includeDetails (boolean, default true): read each product page for seller scores, location, original price and latest review
- debugMode (boolean, default false)
Output per product (31 fields, null when unknown):
- id (string), url (string), title (string)
- marketplace ("tmall" | "taobao"), categoryId (string), categoryPath (string[]), isFreeShipping (boolean)
- shopId, shopName, shopUrl, sellerId (strings), sellerType ("business" | "individual"), sellerCreditLevel (integer), sellerScoreDescription, sellerScoreService, sellerScoreLogistics (numbers), shopItemsCount (integer), shopOpenedAt (RFC 3339)
- price, originalPrice (numbers in CNY), currency ("CNY"), reviewsGoodCount, reviewsBadCount (integers), reviewsGoodPercent (number)
- latestReview ({text, rating, sku, publishedAt, images} or null)
- location (string), imageUrl (string), images (string[])
- keyword (string or null), rank (integer or null), scrapedAt (RFC 3339)
No login or account needed. Use apify-client for Python or JavaScript.

💻 Integrations

Build a supplier shortlist ranked by seller scores

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("silentflow/taobao-scraper").call(run_input={
"keywords": ["蓝牙耳机", "无线耳机"],
"maxItems": 40,
})
rows = client.dataset(run["defaultDatasetId"]).list_items().items
shortlist = [
r for r in rows
if r["sellerType"] == "business"
and (r["sellerScoreService"] or 0) >= 4.8
and (r["shopItemsCount"] or 0) >= 100
]
shortlist.sort(key=lambda r: r["price"])
for r in shortlist:
print(f'{r["price"]:>8} CNY {r["shopName"]:<24} {r["location"]:<8} {r["title"][:40]}')

Alert on price drops for a watch list

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const watchList = {
'1082579041881': 10999,
'782565808293': 279,
};
const run = await client.actor('silentflow/taobao-scraper').call({
productUrls: Object.keys(watchList),
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const item of items) {
const previous = watchList[item.id];
if (item.price < previous * 0.9) {
console.log(`Price drop: ${item.title} ${previous} -> ${item.price} CNY at ${item.shopName}`);
}
}

Export the best sellers of a category to CSV

import csv
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("silentflow/taobao-scraper").call(run_input={
"keywords": ["机械键盘", "客制化键盘", "键帽"],
"includeDetails": False,
"maxItems": 60,
})
rows = client.dataset(run["defaultDatasetId"]).list_items().items
with open("taobao-keyboards.csv", "w", newline="", encoding="utf-8") as f:
writer = csv.writer(f)
writer.writerow(["keyword", "rank", "title", "price", "shop", "url"])
for r in rows:
writer.writerow([r["keyword"], r["rank"], r["title"], r["price"], r["shopName"], r["url"]])

📈 Performance

RunRowsTime
Two keywords with product pages (the default input)4026 s
Three keywords, listing only458 s
Three product addresses311 s
Eight keywords with product pages160about 2 min

A keyword costs one page read; a product page costs one more, read four at a time. Rows are saved keyword by keyword, so a run you stop early keeps what it has read.

💾 Data export

Results are available on the run's dataset page as JSON, CSV, Excel, XML, RSS and HTML table. The Products view shows title, price, shop, location, marketplace, keyword and URL; the Sellers view shows the seller columns.

Pull them programmatically:

https://api.apify.com/v2/datasets/{DATASET_ID}/items?format=csv&token=YOUR_TOKEN

💡 Tips for best results

  1. Search in Chinese. 无线耳机 returns earbuds; wireless earbuds returns what Taobao matches to those Latin words, which is often less relevant. Brand names (iphone, nike, sony) work as they are.
  2. Use several keywords to widen a market. Each keyword gives its own 20 best sellers. iphone 15, iphone 16 and iphone 16 pro return three different top-20 lists, not the same one three times.
  3. Turn includeDetails off for pure price lists. The listing alone gives title, price, shop and image in a fifth of the time. Switch it on when you need the seller scores, the location or the latest review.
  4. Filter on sellerType and the scores. business is a Tmall flagship or brand store; individual is a Taobao C2C shop. A service score of 4.8 or above with hundreds of items is a reliable supplier signal.
  5. Watch products by address for daily tracking. Paste the url values of the rows you care about into productUrls and schedule the run. Each address costs one page and returns the current price, original price and latest review.

❓ FAQ

What does this scraper extract? Products from Taobao and Tmall: title, price and original price in yuan, shop and seller with credit level and service scores, category, shipping location, images and the latest buyer review. Rows come from keyword searches or from product addresses you paste.

Do I need a Taobao account? No. The scraper reads the public product pages Taobao publishes to search engines. No login, no account, no API key.

How many products does a keyword return? 20, the best sellers Taobao ranks first for that keyword. Taobao shows this public listing on one page only; use several keywords to cover a market, and product addresses to read specific items beyond the top 20.

Can I sort or filter by price? Not on Taobao's side: the public listing is fixed to the best-selling order. Filter the rows after the run on price, sellerType, location or the scores; every one of them is a sortable number or a plain string.

Why is the title short on rows read by address? Taobao's product page cuts the title to about ten characters (富士二手拍立得min...) and shows the full one only in the keyword listing. A product found by keyword keeps its full title; a product read by address carries the short one.

Why are the review counts null on some rows? Product pages of individual sellers (Taobao) show good and bad review counts and the positive rate. Product pages of business sellers (Tmall) show only the latest review. The latest review is on both.

How fresh is the data? Live. Every run reads Taobao at that moment; nothing is cached. The scrapedAt field on each row says exactly when.

Can I scrape several keywords and addresses in one run? Yes. Keywords are read first, then addresses. A product that appears twice is saved once, and maxItems caps the whole run.

What is the difference between Taobao and Tmall? Both belong to Alibaba and share the same search. Tmall hosts brand and business stores (marketplace: "tmall", sellerType: "business"); Taobao hosts individual and small sellers (marketplace: "taobao", sellerType: "individual"). The scraper returns both and tells you which is which.

Are image and product URLs permanent? Product URLs are permanent. Image URLs point to Taobao's image CDN and stay valid for months. Shop URLs open the seller's mobile storefront.

Does it read variants, stock or the description? No. The public page shows the default variant's price, the seller, the location and the latest review, and that is what the row carries. Variant tables and stock are not part of the public page.

What happens when a product address is wrong? The product is skipped with a note in the log and the run continues. A run that finds nothing says why on its status: product not found, invalid input or no product matched.

This Actor extracts publicly available data from Taobao and Tmall. It does not bypass any login, paywall or CAPTCHA. Users are responsible for complying with Taobao's terms of service and applicable data protection laws (GDPR, CCPA and PIPL where relevant). The output can contain personal data (shop names of individual sellers, review text); handle it accordingly. The data returned is informational; verify prices and seller information before relying on them for purchasing decisions.

📬 Support

Need something this scraper does not do yet? We ship features fast.

  • Feature requests go straight to our backlog
  • Enterprise needs? We do custom integrations and high-volume plans
  • Pricing details live on the Monetization tab of the actor page

Response time: usually under 24 hours.

Check out our other scrapers: silentflow on Apify