Alibaba Listings Scraper & Supplier Profiles avatar

Alibaba Listings Scraper & Supplier Profiles

Pricing

from $2.99 / 1,000 results

Go to Apify Store
Alibaba Listings Scraper & Supplier Profiles

Alibaba Listings Scraper & Supplier Profiles

Scrape Alibaba product listings and supplier profiles to collect product names, prices, minimum order quantities, ratings, supplier details, locations, certifications, and contact information for sourcing, supplier discovery, competitor research, and B2B lead generation.

Pricing

from $2.99 / 1,000 results

Rating

0.0

(0)

Developer

SimpleAPI

SimpleAPI

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

20 hours ago

Last modified

Share

Alibaba Listings Scraper — Products, Prices and Supplier Profiles

Alibaba listings scraper that turns a keyword or a pasted Alibaba search URL into structured listing rows — title, price, MOQ, product images — each one carrying the supplier behind it: company ID, minisite URL, service/product/shipping scores and star level. Turn on the supplier profile lookup and every unique supplier also gets Alibaba's own audited flag, years on the platform and paid-membership status, read straight off the supplier's minisite rather than guessed from the listing. Built for sourcing teams, dropshippers and supplier-vetting workflows that need to filter a huge catalogue down to suppliers worth contacting.


What is Alibaba Listings Scraper & Supplier Profiles?

Alibaba Listings Scraper & Supplier Profiles is an Apify Actor that queries Alibaba's own search endpoint for a keyword or a pasted search URL and returns one structured JSON row per listing, with the supplier's identity, scores and (optionally) verification status attached. No Alibaba account, login or API key is needed — the Actor talks to Alibaba's public search and minisite pages the same way a browser does.

  • Discovery by keyword or by URL — paste a plain keyword or a full alibaba.com/trade/search URL; a pasted URL's filters (country, price range, MOQ, product-auth tag, category, page) are read and re-sent rather than discarded.
  • Supplier identity on every rowcompanyName, companyId, countryCode, supplierProfileUrl and supplierStoreUrl ship for free, no extra request.
  • Optional supplier audit lookup — one request per unique supplier reads the minisite for isAudited, yearsOnAlibaba and isPaidMember, cached for the whole run.
  • Quality and scoring fieldssupplierService, productScore, shippingScore, displayStarLevel, storeReviewScore and storeReviewCount come straight from Alibaba's ranking data.
  • Server-side filters — minimum store rating, assessed/verified suppliers, and a strict client-side audited-only filter.
  • Structured JSON output — every row lands in an Apify dataset, downloadable as JSON, CSV or Excel, or read straight through the Apify API.

What data can I extract with Alibaba Listings Scraper & Supplier Profiles?

Every push carries the full listing plus the supplier block; the fields below are every key the Actor writes, not just the ones shown in the default dataset view.

FieldExample valueUse case
title"10 Pcs CNC Machined Aluminum Parts Custom"product identification
price"US$ 12.50-15.00"pricing as Alibaba prints it
promotionPrice""rare promo price when Alibaba shows one
discountnulldiscount label when Alibaba shows one
moq"Min. order: 2 pieces"minimum order filtering
priceCurrency"USD"ISO code read off the price string
productUrl"https://www.alibaba.com/product-detail/..."link to the live listing
productId"1600123456789"de-duplication key
mainImage"https://s.alicdn.com/..."product thumbnail
reviewScore"4.8"raw score exactly as printed
reviewCount132raw review count
deliveryEstimate"Ships in 7 days"logistics planning, present on a minority of listings
goldSupplierYears"5"years as a Gold Supplier, blank when Alibaba doesn't show it
input_url"cnc machining parts"which search produced the row
companyName"Shenzhen ABC Hardware Co., Ltd."supplier identification
companyId"123456789"stable supplier key across listings
countryCode"CN"supplier location
supplierProfileUrl"https://abchardware.trustpass.alibaba.com"supplier minisite link
supplierStoreUrl"https://abchardware.en.alibaba.com"supplier storefront link
supplierService4.9service-quality score
productScore4.8product-quality score
shippingScore4.7shipping-quality score
displayStarLevel5Alibaba's star rating
storeReviewScore4.8numeric version of reviewScore used for filtering
storeReviewCount132numeric version of reviewCount
listingsFromThisSupplier3how many rows from this search matched this supplier
isAuditedtruecompanyHasPassAssessment from the supplier minisite
yearsOnAlibaba8account tenure from the minisite
isPaidMembertruepaid-membership flag from the minisite
profileFetchedtruetrue only when the minisite really answered and parsed
supplierProfileNotenullwhy a profile field is missing, when it is

Supplier trust and scoring data

isAudited, yearsOnAlibaba and isPaidMember come from the supplier's minisite, not from the search page, and only populate when fetchSupplierProfiles is on. isAudited mirrors Alibaba's own companyHasPassAssessment flag — the platform's real assessment marker, not an inference from star rating. supplierService, productScore and shippingScore are Alibaba's own per-supplier quality scores; combined with displayStarLevel and storeReviewScore, they let you rank suppliers behind otherwise-identical listings before you reach out to any of them.

Targeting and segmentation fields

countryCode and companyId group listings by supplier and by sourcing region. listingsFromThisSupplier shows how concentrated a search result is around a handful of manufacturers, which matters when oneRowPerSupplier is on. priceCurrency and moq let you segment by budget and order size, and input_url traces every row back to the keyword or URL that produced it when you run several searches in one job.


Why not build this yourself?

Alibaba's search results aren't behind a stable, documented API a third party can just call — pulling them at any real volume means reverse-engineering an undocumented endpoint that punishes automated traffic. This Actor's own code notes it directly: a blocked request comes back as HTTP 200 with a JSON body containing FAIL_SYS_USER_VALIDATE or x5secdata — never a 403, never a captcha page — so a scraper that only checks the status code sees every blocked request as a success. A cold session is punished on its very first request; only a session warmed with a GET / and a GET /trade/search first runs a long sequence clean.

Building this in-house means maintaining TLS-impersonation profiles that keep pace with browser fingerprinting, a warm-up sequence before every session, and a proxy escalation ladder (direct → datacenter → residential) for when a tier stops getting through — plus separately re-implementing the minisite parser that pulls the audited flag out of an obfuscated module-data blob. This Actor already does all of that: it reads Alibaba's own live filter menu per query instead of hardcoding categories, matches page size to what's actually left to fetch, and cross-checks the onlyVerifiedSuppliers server filter against the real audited flag it reads off each minisite.

If you only need a handful of listings once, opening Alibaba in a browser is faster than building anything. Past that, or the moment you need the supplier's real audited status and tenure attached to every row, this Actor replaces the maintenance burden of the anti-bot layer described above.


How to use data extracted from Alibaba

Sourcing and procurement teams

Sourcing managers run a keyword or a category URL with minSupplierRating set to "4.5~" and keepOnlyAuditedSuppliers on, then work the output as a shortlist: price, moq and countryCode decide which listings fit the budget and lead time, while companyId, supplierProfileUrl and isAudited decide which suppliers are worth an RFQ. Because keepOnlyAuditedSuppliers drops rows whose minisite couldn't be read rather than guessing, the shortlist that comes out the other end is suppliers Alibaba itself has actually assessed — not suppliers that merely looked good in the search snippet.

Sourcing agencies and supplier-vetting services

Agencies that vet suppliers on behalf of clients run the same query on a schedule with oneRowPerSupplier on, collapsing hundreds of listings into one row per manufacturer with listingsFromThisSupplier showing how many products that supplier carries in the category. Comparing isAudited, yearsOnAlibaba and storeReviewScore across runs turns into a standing supplier scorecard clients can be handed directly, without re-verifying each supplier by hand.

Market research and pricing intelligence

Analysts run the same keyword across several country-filtered URLs and compare price, priceCurrency and moq by countryCode to map where a product category is priced competitively and where supply is concentrated. displayStarLevel and storeReviewScore distributions across the result set show whether a category is dominated by a few highly-rated suppliers or fragmented across many small ones.

AI agents and automated pipelines

Because the Actor runs as a standard Apify job with typed JSON output, it drops into an agent's tool belt as a "find and vet an Alibaba supplier" action — an agent passes a product keyword and a minimum rating, gets back ranked, audited-supplier rows, and hands companyName, supplierProfileUrl and price to a downstream RFQ-drafting step without any HTML to parse.


🔼 Input sample

Every field below matches .actor/actor.json exactly — same names, same types, same defaults.

ParameterRequiredTypeDescriptionExample value
urlsYesarrayOne entry per line — a keyword or a full Alibaba search URL. A pasted URL's filters (country, pricef, pricet, moqt, productAuthTag, ta, categoryId, page) are re-sent to Alibaba.["cnc machining parts"]
limitNointeger (default 10, min 0, max 10000)How many listings to keep per search. 0 keeps going until Alibaba stops returning new listings, capped at 30 pages per search.50
fetchSupplierProfilesNoboolean (default true)Reads each unique supplier's minisite for isAudited, yearsOnAlibaba and isPaidMember. One request per unique supplier, cached for the run.true
maxSupplierProfilesNointeger (default 25, min 0, max 500)Hard cap on minisite requests for the whole run. Suppliers past the cap still ship their row with profileFetched = false.25
oneRowPerSupplierNoboolean (default false)Collapses the results into one row per supplier, keeping its first listing and setting listingsFromThisSupplier.false
keepOnlyAuditedSuppliersNoboolean (default false)Drops every row whose minisite doesn't say companyHasPassAssessment = true. Requires fetchSupplierProfiles.false
onlyVerifiedSuppliersNoboolean (default false)Sends assessmentCompany=true and verifiedPro=1 to Alibaba's own search filters.false
minSupplierRatingNostring, enum: any, 4~, 4.5~, 5~ (default any)Sends Alibaba's store_reviews filter. Suppliers without a rating are excluded by Alibaba when this is set."4.5~"
proxyConfigurationNoobject (proxy editor)Off means no proxy is used; a chosen group/country is what the requests actually run through. Alibaba prices follow the exit IP's currency.Apify Proxy, RESIDENTIAL, country US
autoEscalateWhenBlockedNoboolean (default true)On a block, retries through Apify Proxy (direct → datacenter → residential) even if the proxy above is off.true
{
"urls": [
"cnc machining parts",
"https://www.alibaba.com/trade/search?SearchText=led+grow+light&country=US&moqt=5"
],
"limit": 50,
"fetchSupplierProfiles": true,
"maxSupplierProfiles": 25,
"oneRowPerSupplier": false,
"keepOnlyAuditedSuppliers": false,
"onlyVerifiedSuppliers": true,
"minSupplierRating": "4.5~",
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "US"
},
"autoEscalateWhenBlocked": true
}

⚠️ Common pitfall: keepOnlyAuditedSuppliers only ever keeps rows the Actor could actually verify — turn it on while fetchSupplierProfiles is off and every row is dropped, because isAudited never leaves null without the minisite lookup. Always leave fetchSupplierProfiles on when using the audited-only filter.


🔽 Output sample

Every row is typed, normalized JSON with a consistent schema — no column ever changes type between runs. The dataset is downloadable as JSON, CSV or Excel, or read through the Apify API. The Actor's default dataset view shows 23 of these columns; the remaining fields (promotionPrice, discount, productId, reviewScore, reviewCount, deliveryEstimate, supplierStoreUrl, supplierProfileNote) are still on every row, just not in the default table view.

{
"title": "10 Pcs CNC Machined Aluminum Parts Custom",
"price": "US$ 12.50-15.00",
"promotionPrice": "",
"discount": null,
"moq": "Min. order: 2 pieces",
"priceCurrency": "USD",
"productUrl": "https://www.alibaba.com/product-detail/CNC-Machined-Aluminum-Parts_1234567890.html",
"productId": "1234567890",
"mainImage": "https://s.alicdn.com/@sc04/kf/example.jpg",
"reviewScore": "4.8",
"reviewCount": 132,
"deliveryEstimate": "Ships in 7 days",
"goldSupplierYears": "5",
"input_url": "cnc machining parts",
"companyName": "Shenzhen ABC Hardware Co., Ltd.",
"companyId": "123456789",
"countryCode": "CN",
"supplierProfileUrl": "https://abchardware.trustpass.alibaba.com",
"supplierStoreUrl": "https://abchardware.en.alibaba.com",
"supplierService": 4.9,
"productScore": 4.8,
"shippingScore": 4.7,
"displayStarLevel": 5,
"storeReviewScore": 4.8,
"storeReviewCount": 132,
"listingsFromThisSupplier": 3,
"isAudited": true,
"yearsOnAlibaba": 8,
"isPaidMember": true,
"profileFetched": true,
"supplierProfileNote": null
}

Each row is billed once, as a row_result event. Filtering — keepOnlyAuditedSuppliers, oneRowPerSupplier collapsing — happens before the row is saved, so a row that gets filtered out is never pushed and never charged.


How do you filter and target specific listings?

Getting a usable shortlist out of Alibaba's catalogue means combining four axes rather than relying on one.

Keyword vs. pasted URL — a plain keyword searches Alibaba broadly; a pasted trade/search URL is more precise because its country, pricef/pricet, moqt, productAuthTag and categoryId filters are read off the URL and re-sent as-is, and its page value becomes the starting page.

Scope precision — the same URL filters narrow by price band, minimum order quantity, product-auth tag and category before a single row is fetched, so you're paying for fewer, more relevant pages rather than filtering a broad pull afterward.

Quality thresholdsminSupplierRating sends Alibaba's own store-rating filter server-side; onlyVerifiedSuppliers sends assessmentCompany=true and verifiedPro=1; keepOnlyAuditedSuppliers is a strict client-side pass that only keeps rows this Actor could confirm via the supplier's minisite.

Volume controlslimit caps rows per search (0 = unlimited, capped at 30 pages); maxSupplierProfiles caps minisite lookups for the whole run, independent of how many listing rows come back.

{ "urls": ["https://www.alibaba.com/trade/search?SearchText=led+grow+light&country=US&pricef=10&pricet=50&moqt=100"], "limit": 200 }
{ "urls": ["stainless steel water bottle"], "onlyVerifiedSuppliers": true, "minSupplierRating": "4.5~", "keepOnlyAuditedSuppliers": true, "fetchSupplierProfiles": true }
{ "urls": ["cnc machining parts", "3d printing service", "sheet metal fabrication"], "limit": 0, "oneRowPerSupplier": true, "maxSupplierProfiles": 200 }

▶️ Want to try other marketplace scrapers?

ScraperWhat it extracts
Amazon Search Scraper By Country & CurrencyAmazon search results per marketplace, with country and currency on every product row
Amazon Product Details Scraper (Bestsellers & New Releases)Full product-detail records for every ranked item on an Amazon Best Sellers, New Releases or Most Wished For list
Shopify Products Scraper With Variant & SKU RowsA Shopify storefront's catalogue, one row per product plus a child row per variant/SKU
Shopify Store Scraper — Markets, Currencies & CatalogsWhich markets a Shopify store sells in, and how its catalogue and prices change by market
Google Play Scraper: Country Pricing & In-App PurchasesA Google Play app's local price, in-app purchase tiers and availability across country storefronts

How to extract Alibaba data programmatically

The Actor runs as a standard Apify job: start it with one API call, poll or wait for the run, then read the dataset back as structured JSON.

Python example

from apify_client import ApifyClient
client = ApifyClient("<APIFY_API_TOKEN>")
run_input = {
"urls": ["cnc machining parts"],
"limit": 50,
"fetchSupplierProfiles": True,
"minSupplierRating": "4.5~",
}
run = client.actor("simpleapi/alibaba-listings-scraper-and-supplier-profiles").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["companyName"], item["price"], item["isAudited"])

Export to spreadsheets or CRM

Download the dataset as CSV directly from the run, or map fields on import: companyName → Company, supplierProfileUrl → Website, price and moq → Pricing columns, isAudited and yearsOnAlibaba → Verification columns. Every column name in the CSV export matches the JSON key exactly, so no relabeling is needed before the import.


Yes — scraping publicly listed Alibaba search results and supplier minisites is legal; these pages exist specifically so buyers can find and evaluate products and suppliers without logging in. The records this Actor returns — product titles, prices, MOQs, company names, supplier scores and audited status — are business and product data, not personal data about an individual, so this falls under Alibaba's Terms of Service and database-rights considerations rather than GDPR or CCPA. Respect Alibaba's Terms of Service, don't overwhelm the site with requests, and don't republish scraped data as your own. Consult legal counsel for commercial applications involving bulk storage of personal data.


❓ FAQ

What happens if a supplier's minisite is unpublished or the listing is gone?

Alibaba serves an unpublished minisite as an HTTP 200 page with a client-side 404 shell rather than a real 404 status. When that happens, isAudited, yearsOnAlibaba and isPaidMember stay null, profileFetched is false, and supplierProfileNote explains why — nothing is ever guessed to fill the gap.

Can I get supplier profile data along with the main listing records?

Yes. With fetchSupplierProfiles on (the default), every unique supplier gets one cached minisite request for isAudited, yearsOnAlibaba and isPaidMember, capped for the whole run by maxSupplierProfiles. Suppliers past that cap still ship their listing row, just with profileFetched: false.

How accurate is the price and supplier data?

The Actor returns prices, scores and supplier fields exactly as Alibaba's search API and minisite return them at request time — nothing is recalculated or estimated. Alibaba quotes prices in the currency of the request's exit IP, which is why priceCurrency is read per row and why pinning a proxy country keeps prices consistent across runs.

How many listings can I get per run?

Set limit per search: 110000 stops after that many rows, and 0 keeps paginating until Alibaba stops returning new listings, capped at 30 pages per search. Page size is matched to what's left to fetch, so nothing is pulled and thrown away.

How do I target only suppliers Alibaba has actually assessed?

Turn on keepOnlyAuditedSuppliers together with fetchSupplierProfiles. This reads companyHasPassAssessment off each unique supplier's minisite and drops any row it couldn't verify, rather than trusting the onlyVerifiedSuppliers search filter alone — that filter narrows Alibaba's result set, but no field on the listing itself confirms verification.

Does Alibaba Listings Scraper & Supplier Profiles work with Claude, ChatGPT and AI agent frameworks?

It's callable as a standard HTTP endpoint through the Apify API, so any agent framework that can call a REST API and read JSON can call this Actor as a tool — start the run, poll or wait, then read the dataset back.

How does this compare to other Alibaba scrapers?

The real differentiator is the supplier minisite lookup: rather than inferring supplier trustworthiness from the search snippet, this Actor makes one cached request per unique supplier and reads Alibaba's own companyHasPassAssessment flag, tenure and paid-membership status directly, and marks the field null with a note when it can't confirm it — instead of leaving the field blank with no explanation.

Can I use this without an Alibaba account or API key?

Yes. No Alibaba login, account or API key is needed — you only need an Apify account to run the Actor and read the dataset back.


Conclusion

Alibaba Listings Scraper & Supplier Profiles turns a keyword or search URL into structured listing rows with the supplier's identity, scores and — optionally — its real audited status and tenure attached to every one. It's built for sourcing teams, vetting agencies and pricing analysts who need to filter a huge catalogue down to suppliers actually worth contacting, without guessing at verification status from a search snippet. Every field ships as typed JSON with a stable schema, ready to run today on Apify.