curl --request POST \
--url https://api.scrapeunblocker.com/marketplace/alibaba-search \
--header 'x-scrapeunblocker-key: <api-key>'import requests
url = "https://api.scrapeunblocker.com/marketplace/alibaba-search"
headers = {"x-scrapeunblocker-key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'x-scrapeunblocker-key': '<api-key>'}};
fetch('https://api.scrapeunblocker.com/marketplace/alibaba-search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Scrape Alibaba.com product search results
Searches Alibaba.com for q and returns the products as JSON: productId, title, url, image/images, priceText with priceMin/priceMax and currency (USD), priceTiers (price per quantity range), promotion price, moq + moqUnit (minimum order), sold, store rating + reviewsCount, leadTimeDays, category, certifications, sponsored, and the supplier (name, store and profile URL, country, yearsOnAlibaba, verified, verifiedPro, goldSupplier, tradeAssurance, responseRate). Sort by relevance or sales, filter with verified, verified_pro, trade_assurance and supplier_country, and collect up to max_results across pages (48 per page, each page billed as one request, see pagesFetched). Each product also has a thumbnail (300x300 rendition of image, which is the full-size original). Paging: nextPage is the next Alibaba page not yet returned (pass it as page to continue) and hasMore says whether there is one; when max_results ends inside a page, the rest of that page is not returned (droppedFromLastPage), so use multiples of 48 to get every product.
curl --request POST \
--url https://api.scrapeunblocker.com/marketplace/alibaba-search \
--header 'x-scrapeunblocker-key: <api-key>'import requests
url = "https://api.scrapeunblocker.com/marketplace/alibaba-search"
headers = {"x-scrapeunblocker-key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'x-scrapeunblocker-key': '<api-key>'}};
fetch('https://api.scrapeunblocker.com/marketplace/alibaba-search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Your ScrapeUnblocker API key. Apply on every request.
Query Parameters
What to search, e.g. 'bluetooth speaker' or 'yoga mat'. Any language.
1-based results page to start from (1-100). Use nextPage of a previous response to continue.
Products to collect across pages (1-480); Alibaba serves 48 per page and each page fetched is billed as one request.
Order: relevance, sales (sales = most sold in the last 180 days first).
Only Verified suppliers (third-party inspected).
Only Verified PRO suppliers.
Only products covered by Trade Assurance.
Only suppliers located in this country (ISO-2), e.g. CN, US, IN.
Exit-IP country (ISO-2). Blank for a smart exit.
Response
JSON with a products array plus paging totals.

