Alibaba.com Scraper API - B2B Products, Prices, MOQ & Suppliers avatar

Alibaba.com Scraper API - B2B Products, Prices, MOQ & Suppliers

Pricing

from $0.85 / 1,000 product returneds

Go to Apify Store
Alibaba.com Scraper API - B2B Products, Prices, MOQ & Suppliers

Alibaba.com Scraper API - B2B Products, Prices, MOQ & Suppliers

Scrape Alibaba.com search results: product title, price range, minimum order quantity and unit, supplier company, country, years on Alibaba, rating, review count, units sold, certifications, images and product URL. Prices convert to your chosen currency. No login, no API key.

Pricing

from $0.85 / 1,000 product returneds

Rating

0.0

(0)

Developer

Dami's Studio

Dami's Studio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 hours ago

Last modified

Share

Alibaba.com Scraper API

Search Alibaba.com — the English-language B2B export marketplace — and get structured product rows back: title, price range, minimum order quantity and unit, the supplier company, its country, years on Alibaba, rating, review count, units sold, certifications, images and the product URL.

No Alibaba account, no cookies, no captcha solving, no proxy of your own. Type a search term, get rows.

Price

$0.85 per 1,000 products, plus $0.001 to start a run.

A flat rate — no volume tiers to unlock and no plan gates, the same number on your first run as on your thousandth. You are charged per product row returned — a run that finds nothing costs only the start fee, and sample rows, diagnostic rows and duplicates are never charged.

ProductsCost
500$0.43
2,000$1.70
10,000$8.50
100,000$85.00

What a row looks like

A real row from a run on led light:

{
"productId": "1601048127519",
"title": "Neon Lights 12V LED Light Strip Single Color LED Neon Silicone LED Strip Light Outdoor Waterproof Neon LED Strip",
"productUrl": "https://www.alibaba.com/product-detail/Neon-Lights-12V-LED-Light-Strip_1601048127519.html",
"priceMin": 0.35,
"priceMax": 0.35,
"priceText": "$0.35",
"currency": "USD",
"promotionPrice": null,
"discountText": null,
"minOrderQuantity": 10,
"minOrderUnit": "meters",
"moqText": "Min. order: 10 meters",
"soldCount": 1548,
"soldText": "1,548 sold",
"supplierName": "Shenzhen Chengjie Lighting Co., Ltd.",
"supplierId": "274667237",
"supplierCountry": "CN",
"supplierYears": 3,
"supplierUrl": "https://szcjlighting.en.alibaba.com/",
"supplierProductsUrl": "https://szcjlighting.en.alibaba.com/company_profile.html",
"rating": 4.5,
"reviewCount": 387,
"supplierServiceScore": 4.5,
"shippingScore": 4.6,
"productScore": 4.5,
"starLevel": 5,
"certifications": ["Declaration of Conformity", "UKCA", "EMC", "RoHS", "CE"],
"tags": ["lowest_180_price", "x_day_dispatch", "easy_return", "ag"],
"imageUrl": "https://s.alicdn.com/@sc04/kf/He7e2d61b751841189911ee53db623697c.png_300x300.png",
"images": ["https://s.alicdn.com/@sc04/kf/He7e2d61b751841189911ee53db623697c.png_300x300.png", "..."],
"searchKeyword": "led light",
"page": 1,
"position": 1,
"scrapedAt": "2026-08-09T22:46:11.031Z"
}

Alibaba shows prices as display strings — "$0.64-0.71" for a quantity range, "$0.80" for a flat price. Those are parsed into priceMin and priceMax so you can sort and filter numerically, and the original string is kept in priceText. 55% of products quote a range rather than one price. minOrderQuantity is likewise split out of prose like "Min. order: 10 meters".

Field coverage

Measured over 730 real rows from live runs, not estimated:

FieldPresent
productId, title, productUrl100%
priceMin, priceMax, priceText, currency100%
minOrderQuantity, minOrderUnit, moqText100%
supplierName, supplierId, supplierCountry, supplierYears100%
supplierUrl, supplierProductsUrl, imageUrl, images, starLevel100%
rating, reviewCount, supplierServiceScore, shippingScore, productScore92%
tags76%
soldCount, soldText60%
certifications41%
promotionPrice, discountText8%

The partial fields are partial because Alibaba genuinely does not show them on every card: a supplier with no reviews yet has no rating, a product with no sales has no sold count, and most listings advertise no certifications and no promotion. Missing values are null and empty lists are [] — nothing is invented to fill a column.

Input

FieldWhat it does
searchQueriesSearch terms, one per line. Each is walked separately and results are de-duplicated across all of them.
startUrlsOr paste Alibaba.com search URLs — the term is read out of the URL.
maxItemsTotal products across all terms. Default 50.
currencyUSD, EUR, GBP, JPY, INR, CAD, AUD, BRL, RUB or SGD.
minPrice / maxPricePrice bounds, in the currency you chose.
maxMoqMaximum minimum-order quantity.
minSupplierYears / minReviewCount / minRatingSupplier quality bounds.
supplierCountriesTwo-letter codes, e.g. ["CN","HK"].
maxPagesPerQueryPage ceiling per term, 40 products per page.
{
"searchQueries": ["led light", "solar panel"],
"maxItems": 2000,
"currency": "EUR",
"maxMoq": 100,
"minSupplierYears": 5
}

Run it with no input and you get one labelled sample row, uncharged, so you can see the shape before spending anything.

About the currency setting

Alibaba converts prices to whichever currency the request asks for, and if nothing asks it follows the exit address's country — which is how a dataset silently ends up mixing currencies. This actor always pins one. The pin converts rather than relabels: joining the same products across two runs put CAD/USD at a median 1.4158 and EUR/USD at 0.8767, both real exchange rates.

Limits

Read this part before you build on it.

  • Results are a sampled feed, not a fixed catalogue page. Alibaba personalises this endpoint per request, so two identical runs overlap heavily but do not match, and consecutive pages repeat about 15% of their rows. Duplicates are removed on productId and are never charged, which is why a run can return slightly fewer rows than maxItems when a term runs thin.
  • Depth per term is limited by diminishing returns, not by a hard wall. A 25-page drain of one term returned 823 unique products, with new rows per page decaying from 40 to about 27. To get more products, add more search terms rather than paging deeper — narrower terms return genuinely different products.
  • No quantity price ladder, and no Trade Assurance or verified-supplier flags. Alibaba's search response does not carry them. An earlier version of this actor read a listing route that did; Alibaba retired that route, and inventing the fields from a range would be a guess. priceMin and priceMax are the ends of the quantity ladder, which is what most people wanted from it.
  • No per-product detail fetch. Everything above comes out of the search response, which is why 1,000 products is about 30 requests instead of 1,030 — and why it can be priced this low and still be profitable. Full specification tables, description images and per-quantity break points live on the product page and are not included.
  • Prices are ex-works unit prices. No shipping, no duty, no tax.
  • Alibaba.com is overwhelmingly Chinese. A 730-product sample was 97.4% CN and 1.9% HK, so supplierCountries filters for other countries return very little.
  • tags are Alibaba's own internal chip names (free_shipping, easy_return, x_day_dispatch, lowest_180_price). They are passed through verbatim rather than renamed into something prettier that might not mean the same thing.

FAQ

Do I need an Alibaba account? No. Nothing to log in to, no API key, and nothing to solve.

How fast is it? 300 products in 69 seconds in a cloud run across three search terms.

What does it cost to scrape 1,000 products? $0.85, plus the $0.001 start fee.

Is this the same as 1688? No. Alibaba.com is the English-language export site with MOQs aimed at importers. 1688 is Alibaba's domestic Chinese marketplace, generally cheaper and with lower minimums, aimed at buyers inside China.

Can I export to CSV or Excel? Yes — Apify exports the dataset as JSON, CSV, Excel or XML, with a REST endpoint for the same data.

Is this affiliated with Alibaba? No. It reads public listing data. Check Alibaba's terms and your own local rules before using the output commercially.

How it works

Alibaba's anti-bot gate is applied per URL path, not per host — which is the detail that makes this actor possible. The same www.alibaba.com that answers this scraper normally returns an 89 KB challenge page to /trade/search, and the old SEO listing route /wholesale/<slug>.html was retired and now serves a "404-Error" page with no data in it at all. The mobile product route is challenged unconditionally: 31 combinations of headers, cookies and referers across datacenter, static-ISP, mainland-Chinese and direct addresses all returned the same byte-identical challenge.

This scraper talks to the JSON search endpoint the site's own front end calls. It needs no login, no token, no signature, no cookie handshake and no browser, and it returns 40 fully-populated products per request. Two measured details shape the implementation: each exit address is good for exactly ten requests before it is challenged, so addresses are rotated every eight; and a challenge arrives as HTTP 200, so blocks are detected by inspecting the body rather than the status code.

No headless browser is launched and no residential bandwidth is billed — plain datacenter addresses are served normally here, and rotation rather than expensive addresses is what buys the reliability.