1688 Listings Scraper avatar

1688 Listings Scraper

Pricing

from $1.00 / 1,000 product listings

Go to Apify Store
1688 Listings Scraper

1688 Listings Scraper

The 1688 Listings Scraper extracts wholesale product data from 1688.com (Alibaba's domestic-China B2B marketplace) by keyword or offer ID, capturing titles, tiered prices, MOQ, attributes, images, supplier info, and after-sales policy — ideal for sourcing and price intelligence.

Pricing

from $1.00 / 1,000 product listings

Rating

5.0

(1)

Developer

FalconScrape

FalconScrape

Maintained by Community

Actor stats

3

Bookmarked

199

Total users

33

Monthly active users

2 days ago

Last modified

Share

🇨🇳 1688.com Listings Scraper

Easily extract wholesale product data from 1688.com, Alibaba's domestic-China B2B marketplace and the original source for most products you'll find on Alibaba.com — usually at a fraction of the export price. The 1688.com Listings Scraper lets you search by keyword (Chinese or English) or fetch specific offer IDs and pulls back structured product data for sourcing, price intelligence, and supplier research.

✨ Features

  • 🏷️ Rich product data: title, tiered price ladder, MOQ, full attribute matrix, supplier company, after-sales policy, logistics, images.
  • 🔍 Keyword search & direct offer lookup: paginate any keyword across 1688's mobile search, or scrape known offer IDs directly.
  • 💴 Tiered wholesale prices: 1688's headline feature — volume-discount ladders — extracted as first-class data, not an afterthought.
  • 🏭 Supplier verification: 深度验厂 / 深度验商 badges on search rows, plus full company identity and storefront links on offer rows — who you are actually buying from.
  • 🌏 Built for CN access: ships with Apify Residential proxy (country=CN) prefilled and auto-rotates sessions on the _____tmd_____ block page.
  • Fast & efficient: powered by Crawlee CheerioCrawler — no browser, no headless overhead.

🛠️ How It Works

  1. Enter keywords or offer IDs — Chinese terms (e.g. 蓝牙耳机) return the richest results, but English (bluetooth earphones) is accepted.
  2. Toggle detail mode — keep includeDetails off for fast shallow listing surveys ($1/1k), or turn it on for full per-product detail pages ($4/1k).
  3. Run the scraper — the Actor handles pagination, proxy rotation, and anti-bot retries automatically.

📋 Input

FieldTypeDefaultDescription
keywordsstring[]["iphone case"]Search terms to look up on 1688. Chinese works best; English is also accepted. Each keyword is paginated independently.
offerIdsstring[][]Specific 1688 offer IDs (e.g. 782846321577). Bypasses search — handy when you already know which products you want.
maxItemsinteger50Hard cap on rows pushed to the dataset across all keywords. Set 0 for unlimited.
maxPagesPerKeywordinteger5Search-result pages to walk per keyword (19 offers each, capped at 100).
includeDetailsbooleanfalseIf true, each search hit is followed to its detail page for tiered prices, attributes, MOQ, and seller info. If false, only shallow card data is collected.
proxyConfigurationobjectApify Residential, country = CNApify Proxy config. CN residential is strongly recommended — 1688 blocks non-Chinese IPs aggressively.

Example input:

{
"keywords": ["iphone case", "蓝牙耳机"],
"maxItems": 200,
"maxPagesPerKeyword": 5,
"includeDetails": true,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "CN"
}
}

📊 Sample Output Data

Structured JSON output. Each product when includeDetails: true looks like this:

[
{
"offerId": "782846321577",
"title": "潮牌金属适用iphone15promax手机壳苹果16pro立体十字架个性17air",
"priceFrom": 12.8,
"priceTo": 27,
"unit": "个",
"minOrderQuantity": 1,
"tierPrices": [
{ "price": 12.8, "beginAmount": 1 },
{ "price": 27, "beginAmount": 1 }
],
"soldCount": "4029",
"wantBuy": "3524",
"attributes": [
{ "name": "材质", "value": "仿皮" },
{ "name": "品牌", "value": "苹果" },
{ "name": "适用机型", "value": "苹果" }
],
"images": [
"https://cbu01.alicdn.com/img/ibank/O1CN0192dePV1p7PFGqWJGK_!!2831885313-0-cib.jpg"
],
"services": ["7天无理由退货", "晚发必赔"],
"logistics": {
"location": "广东广州",
"deliveryLimit": "承诺48小时发货·常发韵达快递",
"unitWeight": 0
},
"sellerCompany": "广州市威卡诺塑料制品有限公司",
"sellerLoginId": "艾诺奇1688",
"sellerMemberId": "b2b-2831885313c05f4",
"sellerWinportUrl": "https://winport.m.1688.com/page/index.html?memberId=b2b-2831885313c05f4",
"location": "广东广州",
"url": "https://m.1688.com/offer/782846321577.html",
"scrapedAt": "2026-05-12T11:00:00.000Z"
}
]

When includeDetails: false, you get a lighter row per offer: offerId, title, priceFrom, soldCount, location, repurchaseRate, sellerTenure, supplierBadges, image, url. Full breakdown of both row shapes below.

📋 Output Fields

Two row shapes. A search-result row (includeDetails: false) is cheap and shallow; an offer row (includeDetails: true) opens the offer page and returns everything below. The dataset has a view for each, so neither shows a column it cannot fill.

FieldTypeSearch rowOffer rowDescription
offerIdstring1688 offer ID
titlestringProduct title
urlstringLink to the offer page
imagestringMain product image
priceFromnumberLowest price. On an offer row, the cheapest tier
soldCountstringUnits sold, as 1688 displays it
locationstringWhere the supplier ships from
keywordstringThe search term this row came from
scrapedAtstringISO 8601 timestamp of the scrape
repurchaseRatestringShare of buyers who ordered again
sellerTenurestringYears the seller has been on 1688
supplierBadgesarrayVerification badges: 深度验厂 (deep-verified factory), 深度验商 (deep-verified merchant)
minOrderQuantitynumberMOQ — the minimum you can order
priceTonumberTop of the tiered price range
unitstringUnit the price is quoted in (个, 件, 箱 …)
tierPricesarrayThe wholesale ladder: { price, beginAmount } per tier
attributesarraySpecification matrix — { name, value } pairs (material, model, size …)
imagesarrayEvery image: gallery, offer list and SKU, deduplicated
servicesarrayAfter-sales guarantees, e.g. 晚发必赔 (compensation for late dispatch)
servicePolicyobjectThe two headline guarantees plus the full detail list
logisticsobjectShipping origin, dispatch commitment, unit weight
wantBuystringBuyers who registered purchase intent
sellerCompanystringRegistered company name
sellerLoginIdstringSeller's 1688 login ID
sellerUserIdstringSeller's numeric user ID
sellerMemberIdstringSeller's member ID
sellerWinportUrlstringLink to the seller's 1688 storefront

An offer row carries 24 fields, and attributes typically adds another 19 name/value specification pairs on top.

💡 Tips

  • CN residential proxy is non-negotiable. 1688's desktop site is gated from request #1 for non-Chinese IPs. The mobile site this Actor uses is more permissive but still triggers slider-CAPTCHA after ~5–15 hits/IP/10 min. The prefilled Apify Residential + apifyProxyCountry: "CN" config handles rotation automatically.
  • Use Chinese keywords when possible — the mobile search URL hex-encodes the keyword, and 蓝牙耳机 returns far more relevant results than bluetooth earphones.
  • Compare 1688 ↔ Alibaba.com by pairing this Actor with piotrv1001/alibaba-listings-scraper on the same keyword set — see domestic vs export pricing for the same SKU.

💰 Pricing

This Actor uses Pay-Per-Event pricing — you only pay for results, not compute time or proxy GBs.

EventPriceTriggered when
product-listing$1.00 / 1,000 resultsA search-result row is pushed (when includeDetails: false). Includes title, price, sold count, repurchase rate, seller tenure, supplier badges, location and image. MOQ, price range, unit and company name are not on the search card — those need includeDetails.
item-detail$4.00 / 1,000 resultsA full offer row is pushed (when includeDetails: true). Adds MOQ, the tiered price ladder, unit, the full attribute matrix, every image, after-sales guarantees, logistics, and complete seller/company identity.

A typical run of 1,000 detail-mode products costs ~$4 plus your Apify Residential proxy spend.

Optimize your sourcing and price intelligence with 1688.com Listings Scraper today! 🚀