# Taobao & Tmall Product Scraper: Prices, Shops & Ratings (`sinodata/taobao-product-search`) Actor

Taobao and Tmall products without login: the top 20 bestsellers or top-rated products per keyword with price and shop, or full details for any item URL: price, ships-from, positive rate, review counts, sample reviews and shop ratings.

- **URL**: https://apify.com/sinodata/taobao-product-search.md
- **Developed by:** [SinoData](https://apify.com/sinodata) (community)
- **Categories:** E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.80 / 1,000 products

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Taobao & Tmall Product Scraper: Prices, Shops & Ratings

Get **Taobao (淘宝) and Tmall (天猫) products** as clean JSON: search by keyword or paste product links. No login, no cookies, no browser.

- **Keyword search**: the **top 20 bestsellers** for each keyword, with price, original price, shop, category and image, plus how many listings Taobao has for the keyword
- **Product details** for any item link or ID: current and original price, **ships-from location**, Taobao or Tmall, **positive review rate**, positive and negative review counts, **sample reviews** with the variant bought, and the **shop's ratings** (description, service, logistics), credit level and opening date
- Works with item.taobao.com and detail.tmall.com links

### Use cases

- **Product research and dropshipping**: see what sells on China's largest marketplace and at what price.
- **Price benchmarking**: compare Taobao retail prices with 1688 wholesale prices and your own.
- **Brand monitoring**: find shops selling your brand and check their ratings.
- **Market research**: track the bestsellers of a category over time with a schedule.

### Example input

Bestsellers for two keywords:

```json
{
  "keywords": ["蓝牙耳机", "保温杯"]
}
```

Full details for specific products:

```json
{
  "items": [
    "https://item.taobao.com/item.htm?id=765833709683",
    "1079352038299"
  ]
}
```

Turn on **Full details for keyword results** to get details for every product found by keyword.

### Output

A product from keyword search:

```json
{
  "type": "product",
  "rank": 1,
  "itemId": "1079352038299",
  "title": "爱国者蓝牙耳机半入耳式2026新款降噪高音质无线运动超长续航游戏",
  "price": 118,
  "originalPrice": 118,
  "currency": "CNY",
  "freeShipping": false,
  "shopName": "腔调会员精选旗舰店",
  "shopId": "503709453",
  "categoryId": "50005050",
  "imageUrl": "https://img.alicdn.com/imgextra/i3/2215824413675/O1CN01E5GhXKqZBrE1chua_!!4611686018427384811-0-item_pic.jpg",
  "url": "https://item.taobao.com/item.htm?id=1079352038299",
  "keyword": "蓝牙耳机",
  "totalListings": 63217
}
```

Product details:

```json
{
  "type": "productDetail",
  "itemId": "765833709683",
  "title": "真无线蓝牙5.5耳机 ANC主动降噪高音质 2025新款五代顶配 杜比环绕音效 超长续航IPX5防水",
  "price": 388,
  "originalPrice": 388,
  "shipsFrom": "广东深圳",
  "platform": "Taobao",
  "positiveRatePct": 98,
  "positiveReviews": "7万+",
  "negativeReviews": "500+",
  "sampleReviews": [
    { "date": "2026.10.18 14:10", "score": 5, "text": "很好用声音很清晰…", "variant": "颜色分类:【Pro3代至尊版】…", "followUp": "好用好用好用好用续航很好…" }
  ],
  "shopName": "深圳华强北正品直销总店",
  "shopOpenedAt": "2019-08-06 00:41:09",
  "shopCreditLevel": 17,
  "shopRatingDescription": 4.7,
  "shopRatingService": 4.8,
  "shopRatingLogistics": 4.8,
  "url": "https://item.taobao.com/item.htm?id=765833709683"
}
```

- Prices are in CNY as Taobao shows them to visitors without an account. Member prices (88VIP), coupons and subsidies that depend on a buyer's account are not included.
- Review counts are Taobao's rounded figures (7万+ = 70,000+). Reviewer names are not collected.

### Pricing

- **$0.002 per product** from keyword search ($2 per 1,000)
- **$0.003 per product with full details**

20 bestsellers for one keyword cost $0.04; with full details $0.06.

### Notes and limits

- **20 products per keyword.** This Actor reads the public catalogue pages Taobao publishes for search engines and overseas visitors, which robots.txt opens to crawlers. Each keyword page lists 20 products; deeper search pages need a Taobao login, which this Actor does not use.
- **Full SKU tables, stock and complete review lists are not included**: Taobao shows them to signed-in shoppers only.
- These pages do not open from mainland China IPs; the Actor runs on Apify's servers abroad. If Taobao asks for a verification, the run stops and says so rather than trying to get around it.
- Only public data is collected.

### Related

- [1688 Product Search](https://apify.com/sinodata/1688-product-search): Chinese wholesale prices and suppliers
- [Made-in-China.com Scraper](https://apify.com/sinodata/made-in-china-scraper): export suppliers with USD prices and MOQ
- [China Consumer Complaints (黑猫投诉)](https://apify.com/sinodata/china-consumer-complaints): complaints about any company

### 中文说明

淘宝、天猫商品采集，无需登录：按关键词获取热销前 20 个商品（价格、原价、店铺、类目、图片），或按商品链接获取详情（发货地、淘宝/天猫、好评率、好评和差评数、评价样例、店铺描述/服务/物流评分、信用等级和开店时间）。商品每条 0.002 美元，详情每条 0.003 美元。数据来自淘宝面向搜索引擎和海外访客公开的商品目录页面。有问题请在 Issues 页面留言（中文、英文均可）。

### Feedback

Need another field? Open an issue on the Issues tab.

# Actor input Schema

## `keywords` (type: `array`):

Search words, in Chinese for best results (e.g. 蓝牙耳机, 连衣裙, 保温杯). Each keyword returns up to 20 products.

## `items` (type: `array`):

Taobao or Tmall product links (item.taobao.com/item.htm?id=…, detail.tmall.com/item.htm?id=…) or numeric item IDs, for full details.

## `maxProductsPerKeyword` (type: `integer`):

Up to 20 (Taobao shows 20 products on a keyword's public page).

## `includeDetails` (type: `boolean`):

Also open each product found by keyword for ships-from location, positive rate, review counts, sample reviews and shop ratings (charged as a product detail instead of a product).

## `proxyConfiguration` (type: `object`):

Not needed for normal use. Taobao's public pages do not open from mainland China IPs.

## Actor input object example

```json
{
  "keywords": [
    "蓝牙耳机"
  ],
  "maxProductsPerKeyword": 20,
  "includeDetails": false,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "keywords": [
        "蓝牙耳机"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("sinodata/taobao-product-search").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "keywords": ["蓝牙耳机"] }

# Run the Actor and wait for it to finish
run = client.actor("sinodata/taobao-product-search").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "keywords": [
    "蓝牙耳机"
  ]
}' |
apify call sinodata/taobao-product-search --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,sinodata/taobao-product-search"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/SWCaDsvcyx4AdAxtG/builds/UznaC50BgCOeU2rja/openapi.json
