Alibaba Scraper: Supplier Contact Finder avatar

Alibaba Scraper: Supplier Contact Finder

Pricing

from $4.99 / 1,000 results

Go to Apify Store
Alibaba Scraper: Supplier Contact Finder

Alibaba Scraper: Supplier Contact Finder

πŸ›οΈ Alibaba Scraper (alibaba-scraper) extracts product listings, prices, MOQs, supplier contacts, ratings, specs & shipping from Alibaba. βš™οΈ Export to CSV/JSON or API. πŸš€ Ideal for product research, price tracking, sourcing, and lead generation at scale.

Pricing

from $4.99 / 1,000 results

Rating

0.0

(0)

Developer

API Empire

API Empire

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

10 days ago

Last modified

Share

Alibaba Scraper β€” Supplier Leads, Products and Contact Emails

Alibaba Scraper: Supplier Contact Finder turns public Alibaba search and category pages into outreach-ready supplier lead rows: the product listing, the supplier's identity and trust signals, and a best-effort contact block β€” email, phone and website. Every row is typed, normalized JSON with the same 43 keys, written into the dataset live as each page finishes. No HTML, no selectors, no parsing. Paste Alibaba listing URLs, choose how many leads you want, and filter down to contactable suppliers before a single row is saved.

⚠️ Contact discovery is best-effort, and that is the honest headline. Alibaba keeps supplier email and phone behind login and its inquiry/RFQ flow, so this Actor resolves contacts from public Google results instead. A supplier with no public trace comes back with contactEmail, contactPhone and contactWebsite set to null β€” never guessed, never faked. No coverage rate is quoted anywhere in this README, because coverage depends entirely on which suppliers your search returns.

⚠️ Where the supplier contacts actually come from

Worth stating plainly rather than burying it in the input table, because it decides whether this Actor fits your workflow.

Alibaba does not publish supplier email or phone on the search results page β€” those surfaces are login and RFQ gated. So when extractSupplierContacts is ON (the default), the Actor takes the companyName it just parsed off the listing and runs a public Google search for site:alibaba.com "<companyName>". It reads Google's result blocks, keeps only results whose link points at alibaba.com, and pulls the first email, phone number and non-Alibaba website domain visible in those result snippets.

What that means in practice:

  • The contact is not scraped from behind an Alibaba login, and not obtained by crawling the supplier's own website. It comes from what is already publicly indexed.
  • A supplier that has never had a contact detail surface in a public search result returns null for all three contact fields and hasContact: false.
  • Extracted phone numbers are normalised to + international form and rejected unless they contain 8–15 digits, so snippet noise does not become a fake number.
  • Extracted websites skip a stop list of platform domains β€” alibaba.com, alicdn.com, google.com, gstatic.com, googleusercontent.com, schema.org, w3.org, youtube.com, facebook.com, linkedin.com, twitter.com, instagram.com β€” so you get the supplier's own domain rather than the page it was found on.
  • Lookups are cached per supplier for the run, keyed on the lowercased company name, so the same supplier appearing on twenty listings costs one lookup.
  • Contact lookups run through the Apify GOOGLE_SERP proxy group. If that group is unavailable the Actor logs a warning and falls back to a direct connection rather than failing the run.
  • When companyName is empty on a listing, no lookup is attempted and the contact fields are null.

contactSource tells you which is which: it is "google_serp" on a row where something was found, and null on a row where nothing was.

What is Alibaba Scraper: Supplier Contact Finder?

Alibaba Scraper: Supplier Contact Finder is an Apify Actor that reads any Alibaba trade-search or category browse URL and returns one dataset row per supplier lead. Each row carries three things at once: the product listing that surfaced the supplier, the supplier's own identity and trust signals as Alibaba publishes them, and the enriched contact block resolved from public Google results.

No Alibaba account, login or cookie is required. The listing half of every row is data any anonymous visitor already sees on the search results page; the contact half comes from public search results.

  • Scrape product listings β€” title, price, MOQ, images, review and demand signals
  • Scrape supplier records β€” company name and ID, country, Gold Supplier years, service, shipping and star scores, certifications and badges
  • Enrich each supplier with a contact lead β€” contactEmail, contactPhone, contactWebsite, plus a hasContact flag
  • Filter to contactable suppliers, or to specific email domains, during the run
  • Export as JSON, CSV or Excel β€” no proxy management, no parsing

What data does Alibaba Scraper: Supplier Contact Finder collect?

Every row is a single flat object combining three entity types β€” the product listing, the supplier behind it, and the contact block β€” plus Alibaba's own listing-context values, returned unmodified.

Data TypeKey FieldsJSON Field Names
Product listingTitle, identifiers, price, minimum order quantity, images, demand and review signalstitle, productId, id, productUrl, mainImage, multiImage, price, moq, moqV2, soldOrder, reviewScore, reviewCount, productScore
Supplier identity and trustCompany name and ID, country, Gold Supplier tenure, profile links, service/shipping/star scores, certifications and badgescompanyName, companyId, companyLogo, countryCode, goldSupplierYears, supplierHref, supplierHomeHref, supplierService, supplierServiceScore, shippingScore, displayStarLevel, certifications, badges
Supplier contact leadEmail, phone, website, where the contact came from, and whether anything was found at allcontactEmail, contactPhone, contactWebsite, contactSource, hasContact
Listing context and trackingSponsored/crown/cart flags, Alibaba's selling-point labels, the on-platform contact link and Alibaba's own tracking valuesisShowAd, showCrown, showAddToCart, lyb, customGroup, loopSellingPoints, pcLoopSellingPoints, contactSupplier, chatToken, eurl, trackInfo, tmlid

Two naming traps worth knowing before you map fields. contactSupplier is not a contact. It is Alibaba's own on-platform "Contact supplier" link target as published on the listing β€” the enriched contact lives in contactEmail, contactPhone and contactWebsite. And Alibaba's raw key names are preserved exactly as they arrive β€” lyb, eurl, tmlid, moqV2, pcLoopSellingPoints β€” rather than renamed into something tidier, so your mapping matches what the payload actually contains.

Need more lead data for the same outreach list?

Alibaba is one channel. If you are assembling a contact database across sources, Google Maps Scraper With Lead Contact Enrichment covers local businesses, LinkedIn Phone Email Finder works the professional side, and Facebook Search Scraper WhatsApp Contact Leads picks up messaging-first markets. All three return the same style of typed contact block, so a single normalisation step covers the lot.

How does Alibaba Scraper: Supplier Contact Finder differ from the official Alibaba API?

Alibaba's official developer surface is the Alibaba Open Platform / Alibaba.com API programme, and it is partner- and approval-gated: you register as a developer, apply to a programme, and the endpoints you can call depend on which programme you are admitted to. This Actor needs no application at all β€” it reads the same public listing pages a browser does, and adds contact enrichment on top.

FeatureAlibaba Open Platform / Alibaba.com APIAlibaba Scraper: Supplier Contact Finder
AccessDeveloper registration plus programme approvalβœ… Apify account, paste a URL, press Start
InputDocumented API calls with the parameters your programme grantsAny Alibaba search or category URL copied from the browser address bar
Data scopeWhatever the endpoints in your approved programme exposeWhatever the public listing page renders β€” 38 listing and supplier fields per product
Supplier contact detailsReached through Alibaba's inquiry / RFQ flow, not as a bulk contact feedβœ… Best-effort contactEmail / contactPhone / contactWebsite from public search results, null when nothing is discoverable
Lead filteringNot part of the API surfaceβœ… contactsOnly and emailDomainFilter applied before rows are saved
Rate and quota termsPublished in Alibaba's own documentation for your programme β€” check them theremaxLeads caps saved rows at 100000; listing pages are fetched at a concurrency of 3
Output shapeAlibaba's documented response schemaOne flat row with 43 stable keys, every key present on every row

Use the official programme when you have a commercial relationship with Alibaba, need endpoints beyond the public listing surface, and can carry an approval process. Use this Actor when you need supplier leads out of a keyword or category search today, with contact enrichment attached.

Why do developers and teams scrape Alibaba supplier data?

Alibaba's search page is a supplier directory with commercial terms attached. Four groups get very different value out of turning it into rows.

For B2B sales and lead-generation teams

A category search is a prospect list. Run a keyword URL with contactsOnly set to true and every saved row already has at least one of contactEmail, contactPhone or contactWebsite, so nothing enters your sequencer that you cannot reach. Add emailDomainFilter when your outreach tooling only accepts certain mailbox types β€” set it to gmail.com, 163.com, qq.com and you keep only rows whose email ends in one of those. companyName, countryCode and goldSupplierYears give you personalisation fields on the same row as the address.

For sourcing and procurement teams

Screening a new category means comparing commercial terms before you spend a day on RFQs. Pull price, moq and moqV2 across a filtered search URL, sort by goldSupplierYears, supplierServiceScore and shippingScore, and use isShowAd to strip sponsored placements out of the ranking. Because the contact block sits on the same row, the shortlist you build is immediately actionable β€” you contact the surviving suppliers directly instead of exporting names into a second enrichment tool.

For market researchers and analysts

Everything here is public catalogue data β€” listings, prices, minimum order quantities and company trading names β€” which makes it usable for supply-chain and pricing research without touching gated content. Re-run the same URLs on an Apify schedule and diff price, soldOrder and reviewCount per productId to track how a category moves. countryCode and certifications support origin and compliance analysis across a whole keyword's worth of suppliers rather than a hand-picked sample.

For AI engineers and developers building data products

Every row is typed JSON with fixed keys, so there is no parsing step between the Actor and a model. Index title, companyName, certifications and loopSellingPoints into a vector store and an agent can answer sourcing questions against live catalogue data. For a product pipeline, hasContact is the natural gate: route rows where it is true into a CRM sync and rows where it is false into a manual research queue. Call the Actor over the Apify API, or trigger downstream work with an Apify webhook when a run finishes.

How to scrape Alibaba supplier contacts (step by step)

This Actor runs on Apify. Start it from the Apify Console, or call it through the Apify API with your Apify token.

  1. Open Alibaba Scraper: Supplier Contact Finder on the Apify Store and click Try for free
  2. Paste one or more Alibaba search or category URLs into πŸ”— Alibaba search / category URLs (sourceUrls) β€” this is the only required input
  3. Set πŸ”’ Max lead rows (maxLeads) to the total number of rows you want across all URLs, and leave πŸ“‡ Find supplier email / phone / website (extractSupplierContacts) ON
  4. Optionally switch on βœ… Only keep rows that have a contact (contactsOnly), or list domains in 🌐 Email domain filter (emailDomainFilter); keep πŸ›‘οΈ Proxy configuration on Apify Residential
  5. Click Start, then export the dataset as JSON, CSV or Excel β€” or read it straight through the Apify API

To build a URL, open Alibaba in your browser, apply the keyword, category and filter settings you want, then copy the address bar. Those settings travel with the link.

What to do when Alibaba changes its structure

Nothing on your side. The Actor reads Alibaba's embedded listing payload rather than rendered markup, so a visual redesign generally does not touch it, and each field falls back to a bounded deep key search when Alibaba nests a value differently. The scraper is maintained and the output keys stay the same.

⬇️ Input

Six parameters, read directly from the Actor's input schema. Only sourceUrls is required.

ParameterRequiredTypeDescriptionExample Value
sourceUrlsβœ… YesarrayOne Alibaba listing URL per line. Search-result pages and category browse pages both work. Copy the address bar from Chrome/Edge after applying your filters β€” those settings travel with the link. (Accepts the base urls field too, for backward compatibility.)["https://www.alibaba.com/trade/search?fsb=y&IndexArea=product_en&keywords=stainless+steel+water+bottle&page=1"]
maxLeadsNointegerTotal number of lead rows to save across all URLs. Rows appear live in the output table as pages finish, and the run stops once the target is met. When a contact filter is on, the Actor keeps opening pages until it reaches this many rows (or the listing runs out). Minimum 1, maximum 100000, default 10. (Accepts the base maxItems field too.)50
extractSupplierContactsNobooleanWhen ON, each row is enriched with contactEmail, contactPhone and contactWebsite found in public Google results for the supplier. When OFF, only the product listing fields are returned (contact columns are null). Default true.true
contactsOnlyNobooleanWhen ON, drop every row where no email, phone or website was found β€” leaving a clean outreach list. When OFF, all product rows are kept (contacts null where unknown). Requires contact enrichment. Default false.true
emailDomainFilterNoarrayKeep only rows whose supplier email ends with one of these domains β€” e.g. gmail.com, 163.com, qq.com, or a company domain. Leave empty to keep all emails. Enabling this implies contact enrichment. Default [].["163.com", "qq.com"]
proxyConfigurationNoobjectApify Proxy settings for the Alibaba listing fetch. Residential is selected by default β€” Alibaba blocks datacenter IPs aggressively.{"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]}

How the two filters really behave. emailDomainFilter is an allowlist, not a blocklist: an empty array means no filter at all β€” every row is kept β€” and a non-empty array means only rows whose contactEmail matches survive. Matching is a case-insensitive suffix test on the whole address, with a leading @ stripped from your entry, so a row whose only contact is a phone number or a website is dropped once the filter is set, because it has no email to match. contactsOnly is looser: it keeps a row if any of email, phone or website was found. Both filters drop rows before they are ever written, not after.

Input keys the form does not show. Besides urls and maxItems, the Actor also reads a maxPages integer if you send one through the API. Set above 0 it overrides the automatic page-depth calculation (clamped to 1–5000); left unset or 0, page depth is derived from maxLeads.

Common pitfall: setting emailDomainFilter while extractSupplierContacts is OFF. The Actor catches this β€” it logs a warning and switches enrichment back ON so the filter has something to match β€” but if you genuinely want listing-only output, leave the domain filter empty.

Example input

{
"sourceUrls": [
"https://www.alibaba.com/trade/search?fsb=y&IndexArea=product_en&keywords=stainless+steel+water+bottle&tab=all&page=1",
"https://www.alibaba.com/trade/search?fsb=y&IndexArea=product_en&keywords=silicone+kitchen+utensils&tab=all&page=1"
],
"maxLeads": 50,
"extractSupplierContacts": true,
"contactsOnly": true,
"emailDomainFilter": [],
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

⬆️ Output

Every lead is one dataset row with the same 43 keys, run after run. Listing and supplier fields use typed empty defaults when Alibaba omits a value β€” "" for strings, [] for lists, false for booleans. The five contact keys are always present too, but use null rather than "" when nothing was found, so an unknown contact stays distinguishable from an empty one. No key is ever missing, so downstream code never needs a presence check. Export as JSON, CSV or Excel, or read the dataset through the Apify API.

The dataset contains only lead rows β€” the Actor pushes no summary, accounting or error records, so you never need a filter expression to strip them out. Run-level information (rows saved, contact coverage for that run, pages that produced nothing) goes to the run log and the status message instead.

Scraped supplier lead row

{
"title": "Custom Logo 500ml Double Wall Vacuum Insulated Stainless Steel Water Bottle",
"productId": "1601245883107",
"id": "1601245883107",
"productUrl": "https://www.alibaba.com/product-detail/Custom-Logo-500ml-Double-Wall-Vacuum_1601245883107.html",
"mainImage": "https://s.alicdn.com/@sc04/kf/H7d1c9a4b.jpg",
"multiImage": [
"https://s.alicdn.com/@sc04/kf/H2e8f0b1c.jpg",
"https://s.alicdn.com/@sc04/kf/H5a3d7c2e.jpg"
],
"price": "$2.85 - $4.20",
"moq": "100 pieces",
"moqV2": "100",
"soldOrder": "3120",
"reviewScore": "4.9",
"reviewCount": "486",
"productScore": "0.91",
"companyName": "Yongkang Hongyu Industry And Trade Co., Ltd.",
"companyId": "241773905",
"companyLogo": "https://s.alicdn.com/@sc04/kf/H0b4c8e1a.png",
"countryCode": "CN",
"goldSupplierYears": "9",
"supplierHref": "https://hongyubottle.en.alibaba.com/company_profile.html",
"supplierHomeHref": "https://hongyubottle.en.alibaba.com",
"supplierService": "Trade Assurance",
"supplierServiceScore": "4.8",
"shippingScore": "4.7",
"displayStarLevel": "5",
"certifications": ["BSCI", "ISO9001"],
"badges": ["Verified Supplier"],
"isShowAd": false,
"showCrown": true,
"showAddToCart": true,
"lyb": false,
"customGroup": "",
"loopSellingPoints": ["Custom logo", "Sample available"],
"pcLoopSellingPoints": ["Custom logo"],
"contactSupplier": "//message.alibaba.com/message/messenger.htm",
"chatToken": "",
"eurl": "https://www.alibaba.com/trade/search?fsb=y&keywords=stainless+steel+water+bottle",
"trackInfo": "",
"tmlid": "",
"contactEmail": "sales@hongyubottle.com",
"contactPhone": "+8657987654321",
"contactWebsite": "hongyubottle.com",
"contactSource": "google_serp",
"hasContact": true
}

The contact block when nothing was discoverable

The other 38 keys are unchanged β€” same names, same types. Only the contact block differs, and this is exactly the row contactsOnly removes:

{
"companyName": "Shenzhen Ruixin Household Products Co., Ltd.",
"contactEmail": null,
"contactPhone": null,
"contactWebsite": null,
"contactSource": null,
"hasContact": false
}

How does Alibaba Scraper: Supplier Contact Finder compare to other Alibaba scrapers?

FeatureAlibaba Scraper: Supplier Contact FinderGeneric alternative
Input you have to supplyβœ… An Alibaba search or category URLA list of company domains or websites you already sourced elsewhere
Listing and contact in one runβœ… Both on the same rowUsually two Actors: discovery, then enrichment
Output shapeβœ… 43 stable keys, every key present on every row, null for unknown contactsVaries; fields commonly omitted when empty
Lead filtering before rows are savedβœ… contactsOnly and emailDomainFilter applied pre-writePost-export filtering in a spreadsheet
Anti-bot handlingβœ… Residential ladder with sticky sessions for Alibaba, GOOGLE_SERP group for lookupsOften a single proxy setting, or none

Observed on the Apify Store on 25 July 2026, the closest listings take different angles. toolsnmoreapi/Alibaba-Product-and-Vender-Finder searches Alibaba by keyword or reverse image and documents nine output fields β€” search_input, name, product_url, vendor_name, vendor_profile_url, price, min_order, supplier_from, years_in_business; supplier email and phone extraction is not documented on its listing. automation-lab/website-contact-finder is a thorough contact enricher β€” emails, phones, socials and optional email verification β€” but its documented input is a list of website URLs, so it starts after you already have supplier domains. wishful_knowledge/shopify-pixel-audit-leads-scraper documents business-email extraction for Shopify storefronts; Alibaba is not part of its documented scope.

If you are building an AI agent or a RAG pipeline, the output-shape row is the decision-maker β€” parsing HTML inside an agent loop is a reliability failure mode, not a feature. If you are building an outreach list, the filtering row is: dropping rows before they are written is what keeps the dataset clean.

How many results can you scrape with Alibaba Scraper: Supplier Contact Finder?

maxLeads caps the number of lead rows saved to the dataset β€” not pages fetched, not listings visited. It accepts a minimum of 1 and a maximum of 100000, defaults to 10, and is a total across all the URLs you supply, not a per-URL figure.

Page depth is derived from it. The Actor divides your target across your URLs, estimates result pages at roughly 48 products per page, and opens that many plus a small pad β€” a larger pad when contactsOnly or emailDomainFilter is on, because filtering means fewer surviving rows per page. Page depth is clamped between 1 and 5000. Overflow on the final page is trimmed under a lock, so you get exactly the number of rows you asked for and never more.

Contact enrichment multiplies requests. Each listing page is one fetch, but every unique supplier on it can cost a separate Google lookup, and only enough products per page are enriched to fill the rows still outstanding. Repeat suppliers are cached, so a search dominated by a few large sellers costs far fewer lookups than one with 48 distinct companies.

How does Alibaba Scraper: Supplier Contact Finder handle blocking?

Two different targets, two different defences.

Alibaba listing pages. Requests are sent with browser-accurate TLS impersonation and a full desktop header set rather than a default HTTP client signature, after a randomised delay, at a concurrency of 3. Fetching escalates rather than failing on the first refusal: a caller-supplied proxy is tried first when CUSTOM_PROXY_URL is set, with up to four attempts. Otherwise, when Residential is selected in the proxy input the Actor goes straight to residential; if it is not, the Actor tries direct, then an Apify datacenter proxy, then residential. Residential runs up to six attempts, each with a fresh session ID, and a session that works is kept sticky for later pages and only rotated once it stops working. Retries back off exponentially with jitter. A response counts as blocked when the status is not 200, the body is under 800 bytes, or the listing payload markers are missing β€” so a soft block returning an empty 200 shell is caught rather than parsed into zero rows.

One thing to watch: if you switch the Apify Proxy toggle off, the Apify ladder is disabled entirely and only the direct attempt remains. Leave Residential on.

Google contact lookups. These run through the Apify GOOGLE_SERP proxy group, with randomised user agents and accept-language headers, a pause before each attempt, and up to three attempts per supplier β€” rotating the exit IP between them. A lookup counts as blocked when the status is not 200 or Google's result container is absent from the body. A supplier whose lookup cannot be completed simply comes back with null contacts.

Scraping publicly listed product and supplier data is broadly treated as permissible where the data is accessible without authentication, and this Actor collects only what an anonymous visitor already sees β€” Alibaba's public search results, plus public Google results for the supplier's company name.

Product listings, prices, MOQs and company trading names are commercial business records, not personal data, so the personal-data regimes that govern profile scraping do not attach to a supplier catalogue in the same way. What does apply is contractual and database-related: Alibaba's terms of service, and local database or unfair-competition rules covering systematic reuse of a compiled catalogue.

One caveat specific to this Actor: where an extracted contact row identifies a named individual rather than a company mailbox, personal-data rules can apply to that row. Consult legal counsel for commercial use involving bulk personal data.

❓ Frequently asked questions

Does Alibaba Scraper: Supplier Contact Finder work without an Alibaba account?

Yes. No Alibaba account, login, cookie or session is used. The Actor sends anonymous requests and reads the public listing payload, then resolves contacts from public Google results. The only credential involved is your Apify token.

How often is the scraped data updated?

Every run fetches live. Nothing is cached between runs β€” listing pages and Google lookups are both requested fresh each time. The one cache that exists is per-run and per-supplier: the same company looked up twice in a single run reuses the first result. Schedule the Actor on Apify if you want a recurring refresh.

What happens if a search URL returns no results?

You get an empty or short dataset, not an error row. If a page cannot be fetched through the proxy ladder, or its listing payload cannot be parsed, that page contributes zero products and the run logs it and moves on to the remaining pages. Nothing partial or fabricated is written. Because charging is per saved row, a page that produced nothing is not billed. If sourceUrls is empty altogether, the run logs an error and exits immediately without pushing anything.

What happens when a supplier has no discoverable contact?

The row is still complete β€” contactEmail, contactPhone and contactWebsite come back null, contactSource is null, and hasContact is false. Set contactsOnly to true and those rows are dropped before they are written, so they never reach your dataset and are never charged, even though the Google lookup for that supplier already ran. Leave it false when you want the full catalogue and intend to research the gaps yourself.

Can I scrape Alibaba supplier contact details that sit behind the inquiry flow?

No. Alibaba's direct contact surfaces are login and RFQ gated, and this Actor does not touch them. Everything it returns is either on the public search results page or already visible in public search results. That is precisely why contact coverage is partial, and why missing values are returned as null instead of being invented.

Am I charged for rows that get filtered out?

No. The Actor charges the row_result event on each row it pushes to the dataset, and rows removed by contactsOnly or emailDomainFilter are removed before that push. The lookup work behind a dropped row is not passed on to you. There are also no uncharged accounting or error rows mixed into the dataset β€” every item you see is a lead row.

Does Alibaba Scraper: Supplier Contact Finder work for AI agent workflows and LLM pipelines?

Yes. It is callable as a standard HTTP-triggered Actor run through the Apify API, so LangChain, CrewAI, n8n or a hand-written tool definition can invoke it and receive typed JSON with no parsing step. hasContact makes a clean boolean branch for agent routing.

How does Alibaba Scraper: Supplier Contact Finder handle Alibaba's anti-bot system?

With browser-accurate TLS impersonation, a full desktop header set, randomised request pacing, a concurrency cap of 3, and an escalating proxy ladder that ends on Apify Residential with sticky sessions and up to six fresh session attempts. Soft blocks β€” a 200 response with an empty shell β€” are detected by payload markers and body size rather than status alone. Google lookups are handled separately through the GOOGLE_SERP proxy group with IP rotation between attempts.

How does it compare to other Alibaba scrapers on the Store?

Observed on the Apify Store on 25 July 2026: toolsnmoreapi/Alibaba-Product-and-Vender-Finder covers keyword and reverse-image Alibaba search and documents nine output fields, with supplier email and phone extraction not documented. automation-lab/website-contact-finder documents thorough contact extraction and optional email verification, but takes website URLs as its input rather than discovering suppliers. wishful_knowledge/shopify-pixel-audit-leads-scraper documents contact finding for Shopify stores rather than Alibaba. This Actor's difference is doing discovery and contact enrichment in one pass, with 43 keys per row and the filtering applied before rows are saved.

Does it return data in a format LLMs can use directly?

Yes. Typed, normalized JSON with stable field names on every run. No HTML, no selectors, no parsing. Pass a row straight into an LLM context window, index it into a vector store, or hand it to an agent tool.

Can I use it without managing proxies?

Yes. Keep Apify Residential selected and the Actor handles session creation, sticky-session reuse, rotation on failure and the retry ladder for you. Contact lookups pick the GOOGLE_SERP group automatically β€” you configure nothing for them. If you already have your own residential egress, set CUSTOM_PROXY_URL as an environment variable and the Actor tries it first.

What happens when Alibaba changes its layout or blocks the scraper?

The scraper is maintained, and because it reads Alibaba's embedded data payload rather than rendered markup, a visual redesign generally does not affect it. When the payload structure itself shifts, the per-field deep key search keeps most fields populated. Your field names and types do not change on your end.

Integrate Alibaba Scraper: Supplier Contact Finder and automate your workflow

The Actor works with any language or tool that can send an HTTP request to the Apify API.

REST API integration

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("<YOUR_USERNAME>/alibaba-scraper-with-supplier-contact-leads").call(run_input={
"sourceUrls": ["https://www.alibaba.com/trade/search?fsb=y&keywords=silicone+kitchen+utensils&page=1"],
"maxLeads": 50,
"extractSupplierContacts": True,
"contactsOnly": True,
"proxyConfiguration": {"useApifyProxy": True, "apifyProxyGroups": ["RESIDENTIAL"]},
})
for lead in client.dataset(run["defaultDatasetId"]).iterate_items():
print(lead["companyName"], lead["countryCode"], lead["contactEmail"], lead["contactPhone"])

Works in Python, Node.js, Go, Ruby, cURL.

Automation platforms (n8n, Make, LangChain)

In n8n, use the Apify node β€” or an HTTP Request node pointed at the Apify run endpoint with your token β€” and pass the same JSON input shown above; a filter node on hasContact splits contactable leads from the rest. In Make, the Apify module supports run-and-wait, so a weekly supplier sweep can feed a Google Sheets, Airtable or CRM step directly. In LangChain, wrap the Apify run call as a tool and hand the dataset rows to the model unchanged β€” they are already JSON. Apify schedules cover recurring runs, and Apify webhooks fire your own endpoint the moment a run finishes.

Scraper NameWhat it extracts
Google Maps Scraper With Lead Contact EnrichmentLocal business listings with enriched contact details
LinkedIn Phone Email FinderPhone and email contact points for LinkedIn profiles
Facebook Search Scraper WhatsApp Contact LeadsFacebook search results with WhatsApp contact leads
Instagram Profile Bio Contact ExtractorContact details published in Instagram profile bios
TikTok Profile Scraper With Bio Link Contact LeadsTikTok profiles with bio links and contact leads

πŸ’¬ Your feedback

Found a bug, or need a field that is in Alibaba's listing payload but not in the output? Open an issue on the Actor's Issues tab and it will be looked at. Reports that include the exact input JSON and the Alibaba search URL you used are the fastest to reproduce and fix.