1688 Product Details, Prices and SKUs API, No Login avatar

1688 Product Details, Prices and SKUs API, No Login

Pricing

from $3.50 / 1,000 products

Go to Apify Store
1688 Product Details, Prices and SKUs API, No Login

1688 Product Details, Prices and SKUs API, No Login

1688 Product Details, Prices and SKUs API: paste 1688.com product URLs or offer ids, get quantity price tiers, SKU prices and stock, attributes, images, sold count and supplier company per product. Schedule it to monitor wholesale prices. Pay per product; failed URLs are free.

Pricing

from $3.50 / 1,000 products

Rating

0.0

(0)

Developer

HH Online Ventures

HH Online Ventures

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 hours ago

Last modified

Security

Limited permissions

Share

1688 Product Details, Prices and SKUs API

1688 Product Details, Prices and SKUs API: paste 1688.com product URLs or offer ids, get quantity price tiers, SKU prices and stock, attributes, images, sold count and supplier company per product. Schedule it to monitor wholesale prices. Pay per product; failed URLs are free.

What data does 1688 Product Details, Prices and SKUs API return?

Each run returns one dataset item per result with these fields:

FieldTypeDescription
offerIdstring or null1688's numeric offer id, as a string. Null on an error row when the entry held no id.
urlstringThe product page, https://detail.1688.com/offer/ID.html. On an error row, the URL that was tried (or your entry when it was not a 1688 product link).
inputUrlstringYour entry exactly as given, so you can match rows to your list.
titlestringThe product title as the supplier wrote it (usually Chinese).
currencystringAlways CNY: 1688 prices are in Chinese yuan.
priceTypestring or nullHow the page prices the product: rangePrice (one price per order quantity, see priceTiers) or skuPrice (a price per variant, see priceRange and skus).
priceTiersarray of objectWholesale price by order quantity: from minQuantity units up, each unit costs price (CNY). Empty when prices are per SKU.
priceRangeobject or nullLowest and highest unit price (CNY) when prices are per SKU; null when the page prices by quantity.
minOrderQuantityinteger or nullSmallest quantity the supplier sells in one order.
unitstring or nullThe selling unit as the page shows it, for example 个 (piece) or 件 (item).
soldTextstring or nullThe page's own sold figure, for example 10万+ (100,000 or more) or 300+.
soldCountinteger or nullThe lower bound of soldText as a number: 10万+ is 100000, 3700+ is 3700. Null when the page shows none.
skuPropsarray of objectThe option groups buyers choose from (for example 颜色, color) with each value and its image link when the page has one.
skusarray of objectEvery variant: skuId, specs (its option values), price, discountPrice, stock (units the page says can be ordered) and soldCount. A field the page does not show for a variant is null.
attributesarray of objectProduct attributes from the page's parameter table (material, size, brand ...), as name and value.
imagesarray of stringProduct image links (cbu01.alicdn.com), main images first.
categoryIdsobject or null1688 category ids: top (top-level category) and post (the category the offer is listed in).
locationobject or nullWhere the product ships from: province, city and the page's own text (for example 广东省佛山市).
sellerobjectThe supplier business: registered company name, 1688 member id and shop link. No account handle, user id or contact details.
scrapedAtstringWhen this row was collected (ISO 8601, UTC).
errorstring or nullNull on a product row. On a free error row, why no product was delivered for this entry.

Sample output

Real output from the prefilled example input (first 1 of 1 results; lists longer than 10 entries are cut to their first 10 here, the dataset holds them all):

[
{
"offerId": "735353578254",
"url": "https://detail.1688.com/offer/735353578254.html",
"inputUrl": "https://detail.1688.com/offer/735353578254.html",
"title": "适用iphone18PRO大视窗磁吸手机壳15磨砂漏标苹果11秒变17保护套",
"currency": "CNY",
"priceType": "rangePrice",
"priceTiers": [
{
"minQuantity": 2,
"price": 9
},
{
"minQuantity": 500,
"price": 8.5
},
{
"minQuantity": 5000,
"price": 7.5
}
],
"priceRange": null,
"minOrderQuantity": 2,
"unit": "个",
"soldText": "1.8万+",
"soldCount": 18000,
"skuProps": [
{
"name": "颜色",
"values": [
{
"name": "樱桃红【纳米磨砂防指纹手汗】",
"imageUrl": "https://cbu01.alicdn.com/img/ibank/O1CN01mLerzF1OFCHJw6Hvh_!!3872131675-0-cib.jpg"
},
{
"name": "橙色【纳米磨砂防指纹手汗",
"imageUrl": "https://cbu01.alicdn.com/img/ibank/O1CN01ewTYsW1OFCVTwByxb_!!3872131675-0-cib.jpg"
},
{
"name": "沙漠金【纳米磨砂防指纹手汗】",
"imageUrl": "https://cbu01.alicdn.com/img/ibank/O1CN01fERjZg1OFCTLhY97Y_!!3872131675-0-cib.jpg"
},
{
"name": "钛金灰【纳米磨砂防指纹手汗】",
"imageUrl": "https://cbu01.alicdn.com/img/ibank/O1CN01HTCT631OFCIm7p2og_!!3872131675-0-cib.jpg"
},
{
"name": "海军蓝【纳米磨砂防指纹手汗】",
"imageUrl": "https://cbu01.alicdn.com/img/ibank/O1CN01JuqQMA1OFCHQOJIWf_!!3872131675-0-cib.jpg"
},
{
"name": "暗紫【纳米磨砂防指纹手汗】",
"imageUrl": "https://cbu01.alicdn.com/img/ibank/O1CN01Z5vACN1OFCHTgcyBw_!!3872131675-0-cib.jpg"
},
{
"name": "黑色【纳米磨砂防指纹手汗】",
"imageUrl": "https://cbu01.alicdn.com/img/ibank/O1CN01rIIXQU1OFCHUpOPHV_!!3872131675-0-cib.jpg"
},
{
"name": "远峰蓝【纳米磨砂防指纹手汗】",
"imageUrl": "https://cbu01.alicdn.com/img/ibank/O1CN01aEtGNC1OFCHSNBuY0_!!3872131675-0-cib.jpg"
},
{
"name": "粉色【纳米磨砂防指纹手汗】",
"imageUrl": "https://cbu01.alicdn.com/img/ibank/O1CN01RhV1Wj1OFCHPmG3Wg_!!3872131675-0-cib.jpg"
},
{
"name": "暗绿【纳米磨砂防指纹手汗】",
"imageUrl": "https://cbu01.alicdn.com/img/ibank/O1CN01BsdHNH1OFCHZ7rG8w_!!3872131675-0-cib.jpg"
}
]
},
{
"name": "适用型号",
"values": [
{
"name": "iPhone 18promax",
"imageUrl": null
},
{
"name": "iPhone 18pro",
"imageUrl": null
},
{
"name": "iPhone 17PROMAX",
"imageUrl": null
},
{
"name": "iPhone 17PRO",
"imageUrl": null
},
{
"name": "iPhone 17",
"imageUrl": null
},
{
"name": "iPhone 17AIR",
"imageUrl": null
},
{
"name": "iPhone 16PROMAX",
"imageUrl": null
},
{
"name": "iPhone 16PRO",
"imageUrl": null
},
{
"name": "iPhone 16",
"imageUrl": null
},
{
"name": "iPhone 16PLUS",
"imageUrl": null
}
]
}
],
"skus": [
{
"skuId": "5994388491383",
"specs": [
"海军蓝【纳米磨砂防指纹手汗】",
"iPhone 15PLUS"
],
"price": null,
"discountPrice": null,
"stock": 9999,
"soldCount": 0
},
{
"skuId": "6117535683935",
"specs": [
"钛金灰【纳米磨砂防指纹手汗】",
"iPhone 17PROMAX"
],
"price": null,
"discountPrice": null,
"stock": 9976,
"soldCount": 0
},
{
"skuId": "6117540027003",
"specs": [
"橙色【纳米磨砂防指纹手汗",
"iPhone 17PRO"
],
"price": null,
"discountPrice": null,
"stock": 9997,
"soldCount": 0
},
{
"skuId": "5994388491461",
"specs": [
"粉色【纳米磨砂防指纹手汗】",
"iPhone 16PLUS"
],
"price": null,
"discountPrice": null,
"stock": 9985,
"soldCount": 0
},
{
"skuId": "5994388491451",
"specs": [
"粉色【纳米磨砂防指纹手汗】",
"iPhone 15PROMAX"
],
"price": null,
"discountPrice": null,
"stock": 9997,
"soldCount": 0
},
{
"skuId": "6117535683976",
"specs": [
"暗绿【纳米磨砂防指纹手汗】",
"iPhone 17PRO"
],
"price": null,
"discountPrice": null,
"stock": 9993,
"soldCount": 0
},
{
"skuId": "6288175910358",
"specs": [
"黑色【纳米磨砂防指纹手汗】",
"iPhone 18promax"
],
"price": null,
"discountPrice": null,
"stock": 9821,
"soldCount": 0
},
{
"skuId": "6134484685798",
"specs": [
"樱桃红【纳米磨砂防指纹手汗】",
"iPhone 14PLUS"
],
"price": null,
"discountPrice": null,
"stock": 9995,
"soldCount": 0
},
{
"skuId": "5994388491411",
"specs": [
"暗紫【纳米磨砂防指纹手汗】",
"iPhone 12PRO"
],
"price": null,
"discountPrice": null,
"stock": 9998,
"soldCount": 0
},
{
"skuId": "6117540027011",
"specs": [
"橙色【纳米磨砂防指纹手汗",
"iPhone 12PRO"
],
"price": null,
"discountPrice": null,
"stock": 9998,
"soldCount": 0
}
],
"attributes": [
{
"name": "材质",
"value": "PC"
},
{
"name": "功能",
"value": "其它,磁吸,防摔,抗指纹"
},
{
"name": "款式",
"value": "防摔款"
},
{
"name": "品牌",
"value": "潮虹兔"
},
{
"name": "工艺",
"value": "磨砂"
},
{
"name": "流行元素",
"value": "磨砂"
},
{
"name": "风格",
"value": "商务,情侣,时尚,民族风,个性,潮流,奢华,创意,日韩风,复古风,中国风,潮牌,北欧风,小香风,简约,欧美,暗黑风,轻奢风,ins风"
},
{
"name": "颜色",
"value": "樱桃红【纳米磨砂防指纹手汗】,橙色【纳米磨砂防指纹手汗,沙漠金【纳米磨砂防指纹手汗】,钛金灰【纳米磨砂防指纹手汗】,海军蓝【纳米磨砂防指纹手汗】,暗紫【纳米磨砂防指纹手汗】,黑色【纳米磨砂防指纹手汗】,远峰蓝【纳米磨砂防指纹手汗】,粉色【纳米磨砂防指纹手汗】,暗绿【纳米磨砂防指纹手汗】"
},
{
"name": "适用型号",
"value": "iPhone 18promax,iPhone 18pro,iPhone 17PROMAX,iPhone 17PRO,iPhone 17,iPhone 17AIR,iPhone 16PROMAX,iPhone 16PRO,iPhone 16,iPhone 16PLUS,iPhone 15PROMAX,iPhone 15PRO,iPhone 15,iPhone 15PLUS,iPhone 14PROMAX,iPhone 14PRO,iPhone 14,iPhone 14PLUS,iPhone 13PROMAX,iPhone 13PRO,iPhone 13,iPhone 12PROMAX,iPhone 12PRO,iPhone 12,iPhone 11PROMAX,iPhone 11PRO,iPhone 11"
},
{
"name": "支持订制",
"value": "支持"
}
],
"images": [
"https://cbu01.alicdn.com/img/ibank/O1CN01lAdPke1OFCTM0qUJK_!!3872131675-0-cib.jpg",
"https://cbu01.alicdn.com/img/ibank/O1CN01Y6UOuGbwKnH1chua_!!3872131675-0-cib.jpg",
"https://cbu01.alicdn.com/img/ibank/O1CN01UsmJRC1OFCTNRUGl7_!!3872131675-0-cib.jpg",
"https://cbu01.alicdn.com/img/ibank/O1CN01DywbdD1OFCTM0owg1_!!3872131675-0-cib.jpg",
"https://cbu01.alicdn.com/img/ibank/O1CN016z43Pk1OFCVurQGUT_!!3872131675-0-cib.jpg",
"https://cbu01.alicdn.com/img/ibank/O1CN01mLerzF1OFCHJw6Hvh_!!3872131675-0-cib.jpg",
"https://cbu01.alicdn.com/img/ibank/O1CN01ewTYsW1OFCVTwByxb_!!3872131675-0-cib.jpg",
"https://cbu01.alicdn.com/img/ibank/O1CN01fERjZg1OFCTLhY97Y_!!3872131675-0-cib.jpg",
"https://cbu01.alicdn.com/img/ibank/O1CN01HTCT631OFCIm7p2og_!!3872131675-0-cib.jpg",
"https://cbu01.alicdn.com/img/ibank/O1CN01JuqQMA1OFCHQOJIWf_!!3872131675-0-cib.jpg"
],
"categoryIds": {
"top": 7,
"post": 1046694
},
"location": {
"province": "广东省",
"city": "深圳市",
"text": "广东省深圳市"
},
"seller": {
"companyName": "深圳市亿佳合兴科技有限公司",
"memberId": "b2b-38721316754ec7c",
"shopUrl": "https://winport.m.1688.com/page/index.html?memberId=b2b-38721316754ec7c"
},
"scrapedAt": "2026-11-04T20:00:00.000Z",
"error": null
}
]

Use cases

  • Sourcing and supplier research: paste the 1688 offers you are comparing and get their wholesale price tiers, minimum order, SKU prices and stock, and the supplier company in one table.
  • Wholesale price monitoring: schedule the actor daily or weekly on the same offer list and compare price tiers, SKU prices and stock run by run.
  • Dropshipping and cross-border catalogs: pull titles, attributes, option values with their images, and product images for the offers you list, ready for your own translation and import.
  • Market and category research: collect sold counts, shipping locations and category ids for a set of offers you found by hand or with another tool.
  • AI agents and automations: a clean, typed dataset that an agent or a Make, Zapier or n8n flow can read directly, one row per product.

Input examples

The prefilled example input. It runs in seconds and returns a handful of results:

{
"productUrls": [
"https://detail.1688.com/offer/735353578254.html"
],
"maxItems": 10
}
FieldTypeRequiredDefaultDescription
productUrlsarrayyes1688 product links, one per line (bulk paste works): https://detail.1688.com/offer/735353578254.html (a query string is fine and is dropped), the mobile form https://m.1688.com/offer/735353578254.html, or just the numeric offer id 735353578254. Anything else gets a free error row. Duplicates are fetched once. Up to 5,000 per run.
maxItemsintegernoStop after this many products are in your dataset. You pay per product, so this also caps the cost of a run. Leave empty to fetch every entry.
maxRetriesintegerno2How many more times a page that arrives without product data (1688 often answers a load with an error) is fetched before the product gets a free error row. Retries go through a proxy in China.

How much does 1688 Product Details, Prices and SKUs API cost?

This actor uses pay-per-event pricing: you pay only for results you get, plus a small fee per run. Higher Apify plans get a lower price per result.

EventFree planBronze planSilver planGold plan
Product (per 1,000)$4.40$4.40$4.00$3.50
Actor start (per run)$0.00039$0.00039$0.00039$0.00039

1,000 results cost $4.40039 on the Bronze plan. In one run, 1,000 results cost $4.40039 on the Free plan, $4.40039 on the Bronze plan, $4.00039 on the Silver plan and $3.50039 on the Gold plan, including the actor start.

Product: One 1688 product row with data in your dataset. Rows for entries that deliver no product (not a product link, not available, or no data after retries) are free. Actor start: Charged once when a run starts (Apify counts one start per GB of memory). You can set a maximum cost per run in the run options; the actor stops cleanly when it is reached.

Schedule and monitor

Monitor 1688 wholesale prices and stock: save your offer list as a task and schedule it daily or weekly. Each run adds a dataset with the current price tiers, SKU prices, stock and sold count of every product and a scrapedAt time, so you can track changes in a spreadsheet or alert on them.

Run 1688 Product Details, Prices and SKUs API on a schedule to keep your data fresh and to monitor what changed since the last run:

  1. Run the actor once with your input, then save that input as a task in Apify Console.
  2. Open Schedules in Apify Console, click Create new, choose the task and set how often it runs with a cron expression, for example 0 6 * * 1 for every Monday at 06:00. Schedules support time zones and daylight saving time.
  3. Every scheduled run writes a new dataset. Compare it with the previous run, or send it onward with a webhook or one of the integrations below.

Integrations and API

1688 Product Details, Prices and SKUs API runs on the Apify platform, so its results can go wherever Apify connects:

  • API: start a run and read the results over HTTP from any language (examples below).
  • Make, Zapier and n8n: Apify has official integrations for all three. Run the actor from a Make scenario, a Zap or an n8n workflow and pass each result to the next step, such as a spreadsheet, a CRM or a chat message.
  • Webhooks: have Apify call your own URL when a run succeeds or fails, for example to load the new dataset into your system.
  • Schedules: run it automatically at the times you choose (see Schedule and monitor above).
  • Downloads: export any run's dataset as JSON, CSV, Excel, XML, HTML table, RSS or JSONL.

Run it with the API

One request starts a run and returns its dataset items, for runs that finish within 300 seconds. For bigger runs, start the run, then read its dataset when it finishes.

curl -X POST "https://api.apify.com/v2/actors/hhonlineventures~1688-product-details/run-sync-get-dataset-items" \
-H "Authorization: Bearer <YOUR_APIFY_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"productUrls": ["https://detail.1688.com/offer/735353578254.html"], "maxItems": 10}'

JavaScript, with npm install apify-client:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('hhonlineventures/1688-product-details').call({"productUrls": ["https://detail.1688.com/offer/735353578254.html"], "maxItems": 10});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python, with pip install apify-client:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("hhonlineventures/1688-product-details").call(run_input={'productUrls': ['https://detail.1688.com/offer/735353578254.html'], 'maxItems': 10})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

Your API token is in Apify Console under API & Integrations.

Use with AI agents (MCP)

AI agents can run 1688 Product Details, Prices and SKUs API as a tool through the Apify MCP server (https://mcp.apify.com). The agent reads the input schema and the output fields above, fills in the input and gets the dataset back, with no glue code.

To give an agent exactly this actor, add the server to your MCP client with the actor in the tools parameter:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=hhonlineventures/1688-product-details"
}
}
}

On first connection your browser opens so you can sign in to Apify and approve access. A client that cannot do that can send an Authorization: Bearer <YOUR_APIFY_TOKEN> header instead, and a client that runs only local servers can start npx -y @apify/actors-mcp-server with APIFY_TOKEN set.

Then ask in plain language, for example:

Run 1688 Product Details, Prices and SKUs API with this input: {"productUrls": ["https://detail.1688.com/offer/735353578254.html"], "maxItems": 10}. Show me the results as a table.

The server also has search-actors, fetch-actor-details and call-actor tools, which let an agent find this actor in Apify Store, read its details and run it. Agent runs are charged the same pay-per-event prices as any other run.

Limits

  • You bring the product links or offer ids. The actor reads the public product page of each offer; it does not search 1688 or list a shop's products.
  • All text is 1688's own, mostly Chinese: titles, option names, attributes and units are not translated. Prices are in Chinese yuan (CNY).
  • 1688 often answers a load with an error instead of the page. The actor then tries again (2 more times by default, through a proxy in China); if the product still does not arrive, its row is free and says so. Expect some products of a large list to need a second run.
  • A page load takes from a few seconds to about a minute (a refused load takes about a minute), and about 10 pages are fetched at a time. In our 100-product test run on 2026-11-04, 91 products arrived and the run took about 10 minutes.
  • Some offers have no product page in the normal layout (for example service listings); they get a free row with product not available.
  • stock is the quantity the page says can be ordered, and soldCount is the lower bound of the page's own sold text (for example 10万+ becomes 100000); neither is an exact inventory or sales figure.
  • Up to 5,000 entries per run.

What this actor is not

  • Not a search tool: no keyword or image search and no category browsing. You need the product links or offer ids.
  • Not a shop or supplier list scraper: it returns the supplier's company name, member id and shop link for each product, not lists of shops or suppliers.
  • Not a translator: the data comes in the language 1688 shows, mostly Chinese.
  • Not a contact finder: no supplier phone numbers, e-mail addresses, contact names or account handles.
  • Not a review scraper: no reviews or ratings text.
  • Not a description scraper: the long description (the image and HTML part of the page) is not fetched; no video files or download links either.

Search terms buyers use

  • 1688 scraper
  • 1688 product scraper
  • 1688 product details API
  • 1688 price scraper
  • 1688 SKU scraper
  • 1688.com product data
  • 1688 wholesale price monitor
  • Alibaba 1688 scraper
  • 1688 offer details
  • Chinese wholesale product data API

FAQ

What do I need to run it?

Only 1688 product links or offer ids and an Apify account. No 1688 or Taobao account, login, cookies or API key. Paste the links one per line, or send them as the productUrls array through the API.

Desktop product links like https://detail.1688.com/offer/735353578254.html (tracking parameters after ? are fine and are dropped), mobile links like https://m.1688.com/offer/735353578254.html, and bare offer ids like 735353578254. Search, shop and category links are not product links and get a free error row.

What am I charged for?

One product event per product row in your dataset, plus the actor start. Entries that deliver no product (not a product link, not available, or no data after the retries) are free, and so are duplicates, which are fetched once.

Why did some products come back as error rows?

1688 turns away part of all page loads, more on some days than others. The actor retries each product up to 2 more times by default (you can raise maxRetries to 4), and you pay nothing for a product that did not arrive. Running the failed offer ids again later usually gets most of them.

How are prices shown?

priceType says how the supplier prices the product. With rangePrice, priceTiers lists the unit price from each order quantity up (for example 9 CNY from 2 units, 8.5 CNY from 500). With skuPrice, each variant has its own price in skus, and priceRange gives the lowest and highest. minOrderQuantity is the smallest order the supplier accepts.

Is the data translated into English?

No. Titles, option values and attributes come exactly as 1688 shows them, mostly in Chinese. Field names and the structure are in English, so you can translate the text with your own tool after the run.

Can I track price and stock changes?

Yes. Save the input as a task and schedule it (for example every day). Each run adds a new dataset with the current prices, stock and sold counts and a scrapedAt time, so you can compare runs or send them to a spreadsheet.

What happens if I set a maximum cost per run?

The actor fetches only as many products as your limit pays for, then stops cleanly. Every product in your dataset was charged once; nothing else was.

The actor reads only public product pages, the same ones anyone can open without logging in, never logs in, and leaves out supplier contact details and account handles. You are responsible for how you use the data and for following 1688's terms and the laws that apply to you.