Get Alibaba.com B2B Wholesale data with one API
Alibaba.com B2B Wholesale API returns live Alibaba.com B2B Wholesale data as clean JSON for alibaba.com b2b wholesale The primary endpoint, search, returns results[] — one supplier offer per row: product_id (Alibaba's own numeric id as a string; pass it straight to product_detail), title, url….
3 active endpoints. Every call is 1 credit.
- POST/alibaba/v1/search
- POST/alibaba/v1/product_detail
- POST/alibaba/v1/rfq_search
What Alibaba.com B2B Wholesale endpoints does ReefAPI ship?
3 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.
Alibaba.com B2B Wholesale API
3 of 3 endpoints, ready to run
Search alibaba.com wholesale listings by keyword.
// Press "Try it" and this pane shows exactly what the // live site returned this second — including an empty // result, if that is the truth. No key, no account.
How the Alibaba.com B2B Wholesale API works
Alibaba.com B2B Wholesale is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.
No OAuth app, no request signing, no per-site account. One key covers all 185 engines.
Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.
Credits, not seats. Failed and blocked calls are never charged, and cache hits cost nothing.
One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.
Alibaba fields that matter to a buyer: ladder, MOQ, supplier
Alibaba is a wholesale board, so a listing has no single price and no single quantity. The card price is a span, the real price is a ladder you only get from product_detail, and the minimum order quantity is a number plus a unit the supplier typed by hand. Every value below was measured on 2026-08-27 against listing 1601271583307 and one 48-row search page for 'led strip'.
| Field | What it holds | Measured value |
|---|---|---|
| product_id | Alibaba's own id, a digit string (13 digits today), identical in search and product_detail | "1601271583307" |
| price_ladder[] | The quantity tiers, cheapest last. max_quantity is null on the open-ended top tier | 5-2999 at $0.76, 3000-4999 at $0.74, 5000-9999 at $0.72, 10000+ at $0.69 |
| price.min / price.max (search) | The cheapest and dearest tier of that ladder, as shown on the card | 0.69 and 0.76 for the listing above, matching both ends of its ladder |
| moq.quantity + moq.unit | The number and the unit it is counted in. Not normalized, singular and plural both occur | 5 and "meters". One 48-row page held meters, meter, pieces, piece, sets, bags |
| supplier.company_id | Alibaba's numeric company id, returned as a string | "239980482", Shenzhen Ledodm Lighting Co., Ltd., country CN |
| supplier.verified | The on-site Verified Supplier programme. A real boolean, never null | true on 32 of the 48 rows of the default 'led strip' page |
| variants[].sku_id | Per-variant id from the attribute matrix. Its own price field is null on every variant | "105939040337", stock 9999999, in_stock true |
| supplier_country | ISO-2 code of the supplier, applied server-side | IN returned 48 of 48 IN rows, TR returned 48 of 48 TR rows |
| is_ad | Paid placement in the search grid | true on 23 of the 48 rows for 'led strip' |
| rfq_id | Id of a buying request on the sourcing board, a digit string | "1684578939", posted 14 minutes before the call |
search returns 48 offers per page alongside total_estimate; rfq_search returns 20 per page. An unrecognized supplier_country does not come back empty: three probes with 'XX' all failed with TARGET_BLOCKED while 'IN' and 'TR' answered immediately, so pass codes you have actually seen in supplier.country. On the RFQ board Alibaba spells the United Kingdom 'UK', not 'GB'.
What people build with Alibaba.com B2B Wholesale
The jobs this data is most often used for.
endpoints
credit per call
Pricing and assortment teams use Alibaba.com B2B Wholesale to search alibaba.com wholesale listings by keyword.
Brand-protection teams use Alibaba.com B2B Wholesale to get full wholesale detail for one alibaba.com listing.
Retail analysts use Alibaba.com B2B Wholesale to search live buying requests (RFQs) posted by Alibaba buyers.
What Alibaba.com B2B Wholesale data costs
The cheapest call here is 1 credit, so $15/mo (Pro) buys 10,000 of them — $1.50 per 1,000 credits. Credits roll over and never expire, and failed or blocked calls are not charged.
Full pricing →- 1,000 free credits on signup, no card
- One key, all 185 APIs, one credit pool
- Failed and blocked calls are never charged
- Credits roll over and never expire
Call it in two lines
Sign up, get 1,000 credits and one key that works on every engine. Then this is the whole protocol.
curl -X POST https://api.reefapi.com/alibaba/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"led strip"}'import requests
r = requests.post(
"https://api.reefapi.com/alibaba/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"query": "led strip"
},
)
print(r.json()["data"])Have a question? We got answers.
The questions people actually ask before wiring up Alibaba.com B2B Wholesale.
Get a free key →Where do I get Alibaba's tiered wholesale prices?▾
From product_detail, in price_ladder. A search row only carries the span. Listing 1601271583307 came back from search as "$0.69-0.76" and from product_detail as four tiers: 5 to 2999 units at $0.76, 3000 to 4999 at $0.74, 5000 to 9999 at $0.72 and 10000-and-above at $0.69. The last tier's max_quantity is null because it is open-ended, and every tier also carries price_usd so tiers stay comparable when the page is priced in another currency.
What do price.min and price.max mean on an Alibaba search row?▾
They are the two ends of that listing's ladder: the cheapest tier and the dearest tier. When they are equal the listing is flat-priced. Measured against the ladder above, the search row reported min 0.69 and max 0.76 and the ladder's own ends were 0.69 and 0.76. On listings the supplier publishes as 'contact for price', price comes back null rather than as a fabricated number.
Is the Alibaba minimum order quantity normalized?▾
No. moq.quantity is a number and moq.unit is whatever the supplier typed, so you cannot compare across listings without deciding what a unit means. One 48-row page for 'led strip' contained meters, meter, pieces, piece, sets and bags, and a page of Indian suppliers added kilogram alongside kilograms. The min_order and max_order filters compare the number only, never the unit.
Why is variants[].price null and variants[].stock 9999999?▾
On Alibaba the price lives in the quantity ladder, not on the SKU, so variant rows carry the attribute combination and its id rather than a price of their own. The stock number is the supplier's unlimited placeholder: every variant of 1601271583307 reported 9999999. Read in_stock as the boolean and treat a figure that size as 'not a real count'.
Does a search row tell me whether a listing has Trade Assurance?▾
No. trade_assurance exists as a search filter, so you can restrict a query to covered listings, but the returned rows carry no such flag. The credential fields that do come back per row are supplier.verified, supplier.years_on_alibaba, certifications[] and three scores: rating, supplier_service_score and shipping_score. product_detail adds the supplier scorecard, with response_time, on_time_delivery_rate and reorder_rate.
What is rfq_search and how fresh are the requests?▾
It reads Alibaba's sourcing board, which is the demand side: purchases buyers are asking for right now, in their own words. With sort='recent' the top of page one was 14 minutes old when measured. posted_hours_ago and posted_at_estimate are both derived from the relative label Alibaba prints ('14 minutes before'), so treat them as minute-resolution estimates rather than a timestamp published by the source.
Which RFQ fields come back empty?▾
On a 20-row page filtered to buyer_country='US', budget, budget_currency, expires_at, rfq_level and buyer.level were null on every row, because the listing board does not publish them. What is populated is title, description, quantity with quantity_unit, buyer name and country, rfq_star_level and has_attachments. Alibaba also truncates the buyer's own text at roughly 210 characters, and description_truncated was true on 15 of those 20 rows.
What is the Alibaba.com B2B Wholesale API?▾
Alibaba.com B2B Wholesale API is a ReefAPI endpoint group for alibaba.com b2b wholesale It returns live JSON through POST requests under /alibaba/v1.
Is the Alibaba.com B2B Wholesale API free to try?▾
Yes. ReefAPI starts with 1,000 free credits, no card required. Alibaba.com B2B Wholesale calls use the same shared credit balance as every other ReefAPI engine.
Do I need an Alibaba.com B2B Wholesale login or account?▾
No login to Alibaba.com B2B Wholesale is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.
How fresh is the Alibaba.com B2B Wholesale data?▾
The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.
How many credits does the Alibaba.com B2B Wholesale API use?▾
Alibaba.com B2B Wholesale actions currently cost 1 credit per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.
Can I call Alibaba.com B2B Wholesale from an AI assistant or MCP client?▾
Yes. Connect ReefAPI once through MCP and your assistant can call alibaba actions with the same key, credit pool and JSON envelope used by normal REST requests.
Is the Alibaba.com B2B Wholesale API an Alibaba.com B2B Wholesale scraper?▾
It is the managed alternative to a DIY Alibaba.com B2B Wholesale scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same alibaba.com b2b wholesale back as clean JSON.
15 More APIs APIs on the same key
One key, one credit pool, one response envelope. If you are pulling Alibaba.com B2B Wholesale, you are one call away from the rest of the category — no second contract, no second integration.
Try it on your own data before you pay anything
The call above is the real endpoint, not a recording. A free key gives you 1,000 credits, the other 184 APIs, and the same envelope everywhere.
Endpoints, parameters and credit costs on this page are read from the live catalog and cannot drift from what the API accepts.