Alibaba Supplier Scraper
Pricing
from $2.99 / 1,000 supplier profiles
Alibaba Supplier Scraper
Extract detailed Supplier profiles from Alibaba.com for vendor sourcing and supply chain research. Get Gold Supplier tenure,factory size, staff count, annual revenue, response rates, product portfolios, ratings and verification status.
Pricing
from $2.99 / 1,000 supplier profiles
Rating
0.0
(0)
Developer
w3crawler
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
What does this Actor do?
This Actor collects public supplier observations from Alibaba.com. It reads public product-search, category, showroom, supplier-search, and supplier-profile pages, then groups repeated product-card observations by supplier. Each normal Dataset row keeps source-backed supplier identity, company facts, trust signals, portfolio links, commercial signals, public media, and pagination context.
It is useful for wholesale sourcing research, supplier shortlisting, country and certification filters, price/MOQ comparison, supplier-quality analysis, and building a searchable supplier catalogue. Generated searches use Alibaba's public country-search route (/countrysearch/CN/<query>.html), which currently exposes supplier-bearing listing payloads without requiring the blocked trade-search shell; supplied public URLs take precedence.
Public scope and access boundary
The Actor reads only public pages. It does not log in, use private supplier portals, call authenticated APIs, solve CAPTCHAs, spoof browser fingerprints, or bypass robots, challenges, or other access controls. If Alibaba returns a challenge, rate limit, HTTP access boundary, or unusable public response, the Actor records an operational issue count in OUTPUT_SUMMARY and logs details instead of inventing supplier data.
The Alibaba Supplier Scraper Store page is an independent Actor listing and is not affiliated with, endorsed by, or operated by Alibaba Group. Public supplier observations are not guarantees about a supplier, product quality, compliance, delivery, or commercial terms.
Run in Console
Console steps
- Open the Alibaba Supplier Scraper Store page.
- Click Try for free or Start, then open the Input tab.
- Paste one of the valid JSON inputs below or fill the form fields.
- Click Start and wait for the run to finish.
- Open Dataset for supplier rows. Open the Key-Value Store records
OUTPUT_SUMMARYandSOURCE_METADATAfor status, issue counts, and pagination details.
Cost and pricing
This repository does not hard-code a price. Apify charges according to the current account, Actor, compute, storage, and optional proxy settings shown in Console. Review Apify pricing before a large run. Browser rendering, profile-detail requests, pagination, delays, and proxy routing can increase runtime or usage.
Input
Basic keyword search
{"queries": ["stainless steel", "industrial valves"],"startPage": 1,"maxPages": 3,"maxResults": 100,"includeDetails": true,"includeMedia": true,"deduplicate": true}
Multiple public sources, filters, and sorting
{"sourceUrls": [{"url": "https://www.alibaba.com/countrysearch/CN/wireless-earbuds.html"},{ "url": "https://www.alibaba.com/countrysearch/CN/work-lights.html" }],"maxPages": 2,"textQuery": "factory","supplierCountries": ["CN", "IN"],"minRating": 4.5,"minReviews": 10,"verifiedOnly": true,"requiredBadges": ["Trade Assurance"],"sortBy": "rating_desc","maxResults": 50}
Developer options and ordinary Apify Proxy routing
{"queries": ["steel coil"],"requestDelayMs": 1200,"maxConcurrency": 2,"maxRequestRetries": 3,"requestTimeoutSecs": 45,"maxResponseBytes": 20000000,"renderJavaScript": true,"browserWaitMs": 1500,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyCountry": "US"}}
Proxy routing changes the network route only. It is not a CAPTCHA, login, fingerprint, or access-control bypass. Use standard Apify Proxy or a public custom HTTP(S) proxy that you are authorized to use.
Deterministic local QA
Fixture fields are for local validation and are rejected in Cloud runs. They never replace a public Alibaba source in production.
{"queries": ["stainless steel"],"maxPages": 2,"maxResults": 10,"includeDetails": false}
Complete input reference
All accepted runtime keys are listed here. Compatibility aliases are normalized to the canonical option.
| Key | Type and behavior |
|---|---|
searchKeywords, searchQuery, query, keyword, searchKeyword | One keyword/query string; defaults to Laptop when no query is supplied. |
queries, keywords | Array of up to 25 query strings. Each query becomes a source. |
sourceUrls, startUrls, searchUrls, urls | Up to 50 public Alibaba result/detail/profile URLs. Console request-list fields use { "url": "..." } objects; the runtime also accepts URL strings. These take precedence over generated queries. |
url, searchUrl | Single-source URL aliases. |
startPage, start_page | First page number, 1–1000; default 1. |
maxPages, max_pages | Ordered pages per source, 1–100; default 2. |
maxResults, maxProducts, maxItems, max_products, max_items | Maximum unique supplier rows after filtering and sorting, 1–5000; default 300. |
sortBy | relevance, rating_desc, reviews_desc, supplier_years_desc, supplier_name_asc, or title_asc. |
textQuery | Case-insensitive filter over public supplier/company/product text, badges, certifications, and locations. |
supplierCountries, countries | Array of public supplier country or region fragments. |
currency | Optional three-letter commercial currency filter when product pricing exposes one. |
minRating, minSupplierRating | Minimum public supplier rating from 0 to 5. |
minReviews, minReviewCount | Minimum public supplier/review count. |
minProductRating | Minimum product rating when exposed by a card. |
minSoldCount | Minimum public sold/order count. |
minSupplierYears | Minimum observed Alibaba tenure, from 0 to 200 years. |
minReorderRatePercent | Minimum public reorder rate from 0 to 100. |
minPrice, price_min, maxPrice, price_max | Optional product price-range thresholds. |
minMoq, moqMin, moq_min, maxMoq, moqMax, moq_max | Optional minimum-order-quantity thresholds. |
verifiedOnly, requireVerified | Keep only public verified/assessed supplier evidence. |
requiredBadges | Array; every requested public badge fragment must match. |
requiredCertifications | Array; every requested certification fragment must match. |
tradeAssurance, trade_assurance, verifiedSupplier, verified_supplier, alibabaGuaranteed, alibaba_guaranteed, certifiedOnly | Public trust/certification filter flags. |
deduplicate | Merge repeated supplier observations by public supplier identity; default true. |
includeDetails, includeProfileDetails | Fetch an exposed public supplier profile for enrichment; default true. |
includeMedia | Keep supplier logos and product-scoped public Alibaba CDN images; default true. |
includeAttributes | Keep product portfolio and commercial attributes; default true. |
includeSupplierDetails | Keep public company facts, contact, market, and certification fields; default true. |
renderJavaScript, useBrowser | Use Chromium for dynamic public pages; default true. |
requestDelayMs, pageDelayMs | Delay before each public request, 0–15000 milliseconds. |
maxConcurrency, concurrency | Independent source concurrency, 1–5; pages within a source remain ordered. |
maxRequestRetries, maxRetries | Retries for transient failures, 0–10. Access-boundary failures are not bypassed. |
requestTimeoutSecs, timeoutSecs | Per-request timeout, 15–300 seconds. |
requestTimeoutMs, timeoutMs | Millisecond timeout aliases, 15000–300000. |
maxResponseBytes, maxBytes | Response safety cap, 100000–50000000 bytes. |
browserWaitMs, renderWaitMs | Browser settle time, 0–10000 milliseconds. |
userAgent | Optional transparent User-Agent override; it must not impersonate a browser or evade controls. |
locale | Browser locale such as en-US. |
proxyConfiguration | useApifyProxy, optional apifyProxyGroups, apifyProxyCountry, or authorized public proxyUrls. |
Output dataset
Record contract and source-backed fields
Normal rows contain a supplier identity (supplierId, supplierName, optional profileUrl), company facts (country, businessType, yearEstablished, address, overview, tenure, factory size, employees, revenue), public trust/performance signals (verification, badges, response rate, delivery, transactions, rating, reviews, sold count, reorder rate), certifications, markets, contact values when publicly visible, supplier-scoped media, product portfolio items, and source context (sourceUrl, pageUrl, query, pageNum, position, url, scrapedAt). Values are copied from public page evidence; unavailable values are omitted.
Product portfolio items may include name, url, imageUrl, price, priceMin, priceMax, currency, moq, minimumOrderQuantity, minimumOrderUnit, soldCount, reorderRatePercent, and rating.
Images are restricted to public Alibaba CDN assets associated with the supplier or product. Country flags, UI icons, logos unrelated to the supplier, avatars, placeholders, sprites, QR codes, and payment icons are excluded.
Rich supplier example
The following shape reflects the public signals represented by the checked local fixture and is illustrative of a rich normal row.
{"supplierId": "https://acme.en.alibaba.com/company_profile.html","supplierName": "Acme Manufacturing","profileUrl": "https://acme.en.alibaba.com/company_profile.html","country": "CN","businessType": "Manufacturer","yearEstablished": 2015,"verificationStatus": "Gold Supplier, Trade Assurance, Verified Supplier","isVerified": true,"badges": ["Gold Supplier", "Trade Assurance", "Verified Supplier"],"yearsOnAlibaba": 8,"responseRate": 98,"onTimeDelivery": 98.5,"transactions": 1250,"rating": 4.8,"reviewCount": 126,"soldCount": 1250,"reorderRatePercent": 66,"certifications": ["ISO9001", "CE"],"productUrls": ["https://www.alibaba.com/product-detail/industrial-valve_1601000000001.html"],"productCount": 1,"products": [{"name": "Industrial Stainless Steel Valve","url": "https://www.alibaba.com/product-detail/industrial-valve_1601000000001.html","imageUrl": "https://s.alicdn.com/acme-valve.jpg","price": "US $12.50-15.00","priceMin": 12.5,"priceMax": 15,"currency": "USD","moq": 50,"minimumOrderQuantity": 50,"minimumOrderUnit": "pieces","soldCount": 1250,"rating": 4.8}],"imageUrls": ["https://s.alicdn.com/acme-valve.jpg"],"imageCount": 1,"supplierLogo": "https://s.alicdn.com/acme-valve.jpg","url": "https://acme.en.alibaba.com/company_profile.html","sourceUrl": "https://www.alibaba.com/countrysearch/CN/stainless-steel.html","pageUrl": "https://www.alibaba.com/countrysearch/CN/stainless-steel.html","query": "stainless steel","pageNum": 1,"position": 1,"scrapedAt": "2026-09-08T10:00:00.000Z"}
Fallback supplier example
When the public source exposes only supplier identity and provenance, the Actor emits a valid smaller row and omits unavailable company, commercial, and media fields.
{"supplierId": "https://bright.en.alibaba.com/company_profile.html","supplierName": "Bright Tools Factory","profileUrl": "https://bright.en.alibaba.com/company_profile.html","url": "https://bright.en.alibaba.com/company_profile.html","sourceUrl": "https://www.alibaba.com/countrysearch/CN/work-lights.html","pageUrl": "https://www.alibaba.com/countrysearch/CN/work-lights.html","query": "work lights","pageNum": 1,"position": 2,"scrapedAt": "2026-09-08T10:00:00.000Z"}
Operational issues are counted in OUTPUT_SUMMARY; failure details are available in run logs. No diagnostic or error-shaped rows are written to the dataset or stored as key-value detail records.
Run summary example
OUTPUT_SUMMARY and compatibility OUTPUT contain run metrics, not supplier rows:
{"status": "SUCCEEDED","runStatus": "SUCCEEDED","dataStatus": "PARTIAL","recordCount": 24,"itemCount": 24,"diagnosticItems": 0,"diagnosticCount": 1,"diagnosticsFound": 1,"recordsEmitted": 24,"requests": 8,"retries": 1,"successfulRequests": 7,"failedRequests": 1,"detailRequests": 3,"sourcesProcessed": 2,"pagesProcessed": 6,"candidatesFound": 31,"uniqueSuppliers": 27,"filteredOutCount": 3,"queries": ["wireless earbuds","industrial valves"],"maxResults": 100,"maxPages": 3,"sortBy": "rating_desc","deduplicate": true,"includeDetails": true,"includeMedia": true,"includeAttributes": true,"includeSupplierDetails": true,"renderJavaScript": true,"requestTimeoutSecs": 60,"requestDelayMs": 1000,"maxConcurrency": 2,"maxRequestRetries": 3,"proxyEnabled": false,"fixtureMode": false,"completedAt": "2026-09-08T10:00:00.000Z"}
Key-Value Store artifacts and downloads
OUTPUT_SUMMARY: status, counts, filters, requests, pagination, proxy, and fixture metrics.SOURCE_METADATA: per-source pages, request totals, retries, detail requests, and failures.OUTPUT: compatibility copy of the run summary.
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
Troubleshooting
The run returns ACCESS_BOUNDARY
Alibaba did not provide a usable public response. Check the source URL, reduce request rate, respect robots guidance, and try again later. Proxy routing may change network availability but does not bypass the boundary.
The run returns NO_SUPPLIERS_FOUND or NO_MATCHING_SUPPLIERS
NO_MATCHING_SUPPLIERS means public evidence was found but the configured filters removed all rows, so the run completes with status: SUCCEEDED and dataStatus: NO_RESULTS. NO_SUPPLIERS_FOUND means a readable response had no supported supplier cards and no explicit empty-results signal; without source-backed rows, the Actor treats this as an extraction failure. Try a broader query or another public Alibaba result/profile URL.
The run returns FIXTURE_READ_FAILED
Local parser tests use checked-in fixtures. Public Actor inputs use real Alibaba URLs and do not expose local fixture overrides.
The Dataset is empty
Open OUTPUT_SUMMARY and the run logs first. Diagnostics never appear as Dataset rows or stored detail records. A successful filter-empty run reports status: SUCCEEDED and dataStatus: NO_RESULTS; a blocked request or unusable response with no saved supplier rows reports FAILED and exits nonzero.
API and support
The Actor identifier is w3crawler~alibaba-supplier-scraper. A basic API call is:
curl -X POST "https://api.apify.com/v2/acts/w3crawler~alibaba-supplier-scraper/runs?token=YOUR_APIFY_TOKEN" ^-H "Content-Type: application/json" ^-d "{\"queries\":[\"stainless steel\"],\"maxPages\":1,\"maxResults\":20}"
For API details, open Apify Actor API documentation and the Store page. Report reproducible defects through the Actor's Apify Issues/support channel and include the run ID, input shape, and relevant diagnostic code; do not include secrets or private supplier information.
Privacy, legal, and affiliation
Use the Actor only for public pages and in compliance with Alibaba's terms, robots guidance, applicable privacy/data-protection law, and your own authorization requirements. Do not submit credentials, private contact lists, or personal data that you are not authorized to process. This independent Actor is not affiliated with Alibaba Group, and public observations are not an endorsement or guarantee.
Local validation
The repository includes deterministic HTML fixtures and QA inputs. Run npm run check, apify validate-schema, and apify run --purge --input-file .actor/input.json from the Actor directory. Fixture runs are local QA only; Cloud verification must use a public source URL.
Run summaries include the required status, runStatus, and dataStatus fields. status and runStatus are SUCCEEDED when source-backed rows were saved or a run completed cleanly with no matches; they are FAILED only when a real failure occurs before any rows are saved. dataStatus is COMPLETE, PARTIAL, NO_RESULTS, or FAILED. Failure details stay in the run logs; key-value summaries retain counts only.