Taobao APIuland.taobao.com ↗
Access Taobao Union affiliate product listings via 3 endpoints. Retrieve homepage feeds, search results, pricing, coupon amounts, commission rates, and affiliate URLs.
What is the Taobao API?
The Taobao Union (uland.taobao.com) API exposes 3 endpoints for retrieving affiliate product data from China's largest e-commerce affiliate marketplace. Use get_homepage_products to pull paginated product feeds by floor section, search_products to query by keyword, and get_product_detail to fetch per-item details including place of origin, final price, and resolved affiliate URL.
curl -X GET 'https://api.parse.bot/scraper/f71dc23f-d59b-4f60-908d-779f7255e571/get_homepage_products?page=0&size=5&floor_id=29709' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace uland-taobao-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Taobao Union SDK — browse affiliate product feeds with coupons."""
from parse_apis.taobao_union_api import TaobaoUnion, FloorId, RateLimited
client = TaobaoUnion()
# List featured products with a small page size, capped at 5 items total.
for product in client.productfeeds.list(floor_id=FloorId.FEATURED, size=5, limit=5):
print(product.name, product.price, product.price_after_coupon)
# Fetch daily recommendations and inspect coupon details on the first item.
deal = client.productfeeds.list(floor_id=FloorId.DAILY, limit=1).first()
if deal:
print(deal.item_id, deal.coupon_amount, deal.commission_rate, deal.provcity)
# Handle a known transient error (rate-limiting / anti-bot).
try:
for p in client.productfeeds.list(floor_id=FloorId.FEATURED, size=20, limit=3):
print(p.name, p.seller_id)
except RateLimited:
print("Taobao rate-limited this request; retry after a short wait.")
print("exercised: productfeeds.list (featured + daily), typed error catch")
Get product listings from the Taobao Union homepage. Returns paginated affiliate product recommendations with pricing, coupon details, commission rates, and affiliate links. Supports different floor sections for various product feeds.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination, starting from 0. |
| size | integer | Number of products to return per page. |
| floor_id | string | The section/floor ID determining which product feed to retrieve. |
{
"type": "object",
"fields": {
"has_more": "boolean indicating if more pages are available",
"products": "array of product objects with item_id, name, price, price_after_coupon, coupon_amount, image, affiliate_url, coupon_url, commission_rate, seller_id, provcity",
"total_count": "integer total number of products available"
},
"sample": {
"data": {
"has_more": true,
"products": [
{
"name": "Pigeon贝亲一次性超薄防溢乳垫乳贴孕妈哺乳期溢奶垫透气防止渗漏",
"image": "//img.alicdn.com/bao/uploaded/i2/6000000003777/O1CN01BJXGH01dlv5LESIMw_!!6000000003777-0-sm.jpg",
"price": "98",
"item_id": "21413968519",
"provcity": "上海",
"seller_id": 725677994,
"coupon_url": "//uland.taobao.com/coupon/edetail?e=...",
"affiliate_url": "//s.click.taobao.com/t?e=...",
"coupon_amount": "5",
"commission_rate": "600",
"price_after_coupon": "54"
}
],
"total_count": 200
},
"status": "success"
}
}About the Taobao API
Homepage Product Feeds
The get_homepage_products endpoint returns paginated product recommendations from the Taobao Union homepage. Each call accepts a page number (starting at 0), a size for results per page, and an optional floor_id to select a specific product feed section — for example, 29709 targets featured products. The response includes a has_more boolean, a total_count integer, and an array of product objects carrying item_id, name, price, price_after_coupon, coupon_amount, image, affiliate_url, coupon_url, and commission fields.
Product Search
The search_products endpoint accepts a required query string and an optional size parameter to control result count. It returns an array of product objects matching the same shape as the homepage feed, making it straightforward to switch between browsing and keyword-driven discovery without restructuring your data pipeline.
Product Detail
The get_product_detail endpoint resolves a specific product using the e_token value extracted from an affiliate or coupon URL. It returns the product's name, price, origin (place of origin), and the fully resolved url. This is the only endpoint that exposes geographic origin data, which is useful for filtering domestic versus imported goods or for compliance checks.
The Taobao API is a managed, monitored endpoint for uland.taobao.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when uland.taobao.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official uland.taobao.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a coupon aggregator that surfaces products where
coupon_amountis non-zero alongside thecoupon_url - Track commission rate changes across Taobao Union affiliate categories over time
- Compare
priceversusprice_after_couponto calculate effective discount percentages for deal-finder tools - Populate an affiliate storefront with homepage feed products from specific
floor_idsections - Run keyword searches via
search_productsto match user queries to affiliate products and generate affiliate links - Enrich product listings with place-of-origin data from
get_product_detailfor import/export filtering - Monitor
has_moreandtotal_countfields to estimate category depth and inventory breadth
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Taobao Union have an official developer API?+
What does get_homepage_products return beyond basic pricing?+
item_id, display name, raw price, price_after_coupon, coupon_amount, a product image URL, a ready-to-use affiliate_url, a coupon_url for direct coupon redemption, and the commission rate. The has_more flag and total_count give you full pagination context.Does the API return seller information, reviews, or sales volume?+
Is pagination supported for search results?+
search_products endpoint accepts a size parameter but does not expose a page or cursor parameter in the current spec — only the number of results returned is controllable. The get_homepage_products endpoint does support full page-based pagination with has_more and total_count. You can fork this API on Parse and revise the search endpoint to add offset or cursor-based pagination.Does get_product_detail work with any Taobao product URL?+
e_token parameter found in Taobao Union affiliate or coupon URLs, not a plain Taobao item ID or standard product URL. Products outside the Union affiliate system that lack an e_token are not resolvable through this endpoint.