Alibaba Phone Number Scraper avatar

Alibaba Phone Number Scraper

Pricing

from $2.99 / 1,000 phone numbers

Go to Apify Store
Alibaba Phone Number Scraper

Alibaba Phone Number Scraper

[๐—–๐—ต๐—ฒ๐—ฎ๐—ฝ๐—ฒ๐˜€๐˜ ๐—ฃ๐—ฟ๐—ถ๐—ฐ๐—ฒ] Alibaba Phone Number Scraper extracts publicly available phone numbers from Alibaba for research & outreach. Fast, accurate, and easy to use. Ideal for marketers & businesses.

Pricing

from $2.99 / 1,000 phone numbers

Rating

0.0

(0)

Developer

w3crawler

w3crawler

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 hours ago

Last modified

Categories

Share

What does this Actor do?

Alibaba Phone Number Scraper extracts rich, publicly visible product and supplier observations from Alibaba search pages. It returns contact numbers only when a number is published beside an explicit label such as Phone, Mobile, WhatsApp, Viber, WeChat, Skype, or Call. It can also capture explicitly labeled public emails, supplier facts, product prices, product-scoped images, badges, tags, and pagination context.

Source listing: scraper-mind/alibaba-phone-number-scraper Primary source: Alibaba

The Actor is designed for public research and lead discovery. It does not sign in, submit inquiries, reveal hidden contact details, solve CAPTCHAs, bypass access controls, or infer a phone number from an ID, price, image, or unrelated text. Challenge pages and failed requests are reported in logs and operational metadata rather than as dataset rows.

Input

Basic example

{
"searchQuery": "gmail free email",
"maxPages": 2,
"maxItems": 100,
"sortBy": "phone_first"
}

Multiple sources, filters, and sorting

{
"sourceUrls": [
"https://www.alibaba.com/gmail-free-email-suppliers.html",
"https://www.alibaba.com/phone-accessories-suppliers.html"
],
"maxPages": 3,
"maxItems": 250,
"sortBy": "response_rate_desc",
"textQuery": "mobile",
"supplierCountries": ["CN", "VN", "China"],
"requiredPhoneLabels": ["whatsapp"],
"phoneRequired": true,
"minResponseRatePercent": 80,
"minPrice": 1,
"maxPrice": 500
}

Developer, proxy, and output controls

{
"sourceUrls": [
"https://www.alibaba.com/gmail-free-email-suppliers.html"
],
"maxPages": 2,
"maxItems": 100,
"requestDelayMs": 1000,
"maxConcurrency": 2,
"maxRequestRetries": 3,
"requestTimeoutSecs": 60,
"maxResponseBytes": 20000000,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": [
"RESIDENTIAL"
],
"apifyProxyCountry": "US"
},
"includeNoPhoneRows": true,
"includeMedia": true,
"includeAttributes": true,
"includeSupplierDetails": true
}

Proxy routing is optional and only changes the request route. It does not bypass Alibaba access controls. Use a respectful delay and comply with Alibaba terms and applicable law.

All supported input fields

FieldTypePurpose
searchQuerystringBuilds a public *-suppliers.html source when URLs are omitted.
queriesstring[]Adds independent generated supplier-search sources.
sourceUrlsstring[]Public Alibaba source URLs; takes precedence over generated queries.
startUrls / urlarray/stringCompatibility aliases for public source URLs.
maxPagesinteger, 1โ€“100Maximum ordered pages per source.
maxItemsinteger, 1โ€“5000Maximum rows after aggregation, filtering, and sorting.
sortByenumphone_first, relevance, price_asc, price_desc, response_rate_desc, country_asc, supplier_name_asc, or title_asc.
textQuerystringCase-insensitive text filter over product, supplier, country, tags, badges, and labels.
supplierCountriesstring[]Country/Region code or name filter.
requiredPhoneLabelsstring[]Requires every listed explicit phone/contact label.
phoneRequiredbooleanExcludes rows without an explicitly labeled public phone.
minResponseRatePercentnumber, 0โ€“100Minimum observed supplier response rate.
minPrice / maxPricenumberInclusive overlap filter on the observed product price range.
includeNoPhoneRowsbooleanKeeps genuine product rows without a public phone.
deduplicatebooleanMerges repeated canonical product URLs and repeated normalized phones.
includeMediabooleanIncludes product-scoped CDN image fields; Alibaba UI flags and logos are excluded.
includeAttributesbooleanIncludes product/supplier attributes, Main Products, Top Markets, and Tags.
includeSupplierDetailsbooleanIncludes supplier identity, profiles, country, revenue, response, assurance, and badges.
requestDelayMsinteger, 0โ€“15000Delay before each live public request.
maxConcurrencyinteger, 1โ€“5Concurrent independent source crawls. Pages within a source remain ordered.
maxRequestRetriesinteger, 0โ€“10Retries for transient network failures.
requestTimeoutSecsinteger, 15โ€“300Per-page request timeout.
maxResponseBytesintegerDownload safety cap, 100000โ€“50000000 bytes.
proxyConfigurationobjectStandard Apify Proxy groups and country selection.
userAgent / localestringOptional transparent request headers.

The local test suite uses Actor-relative HTML fixtures to cover pagination and multi-source processing without network access. Public Actor inputs do not expose fixture overrides.

Pagination and multiple datasets

Each configured public source is crawled independently. The Actor follows an observed Alibaba next-page link when available, otherwise uses a source-specific safe page URL for supported search families. Pages are processed in order up to maxPages; sources can run concurrently up to maxConcurrency. Canonical product URLs are deduplicated across pages and sources when deduplicate is enabled. Repeated normalized public phones are aggregated with relatedProductUrls, relatedProductTitles, and relatedProductCount.

The Actor writes product/contact observations to the default dataset. Run summary and per-source page metadata are stored separately in the OUTPUT_SUMMARY and SOURCE_METADATA key-value records. You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

Output data

Rich product/contact observation

{
"productTitle": "Northstar Phone Desk",
"productUrl": "https://www.alibaba.com/product-detail/Northstar-Phone-Desk_10000000001.html",
"productId": "10000000001",
"url": "https://www.alibaba.com/product-detail/Northstar-Phone-Desk_10000000001.html",
"sourceType": "alibaba_supplier_search",
"sourceUrl": "https://www.alibaba.com/gmail-free-email-suppliers.html",
"pageUrl": "https://www.alibaba.com/gmail-free-email-suppliers.html",
"pageNum": 1,
"position": 1,
"supplierPosition": 1,
"productPosition": 1,
"query": "gmail free email",
"pageTitle": "Phone supplier results - page 1",
"category": "Phone supplier results",
"phoneNumbers": ["+86 138 0013 8000"],
"phoneNumbersNormalized": ["+8613800138000"],
"phoneFound": true,
"phoneSource": "public-labeled-page-text",
"phoneLabels": ["phone"],
"contextSnippet": "Northstar Phone Desk Phone: +86 138 0013 8000",
"emailAddresses": ["hello@northstar.example"],
"emailDisplays": ["hello@northstar.example"],
"emailFound": true,
"emailSource": "public-labeled-page-text",
"emailContextSnippet": "Email: hello@northstar.example",
"company": "Northstar Contact Trading Co.",
"supplier": "Northstar Contact Trading Co.",
"supplierName": "Northstar Contact Trading Co.",
"supplierId": "123456789",
"supplierProfileUrl": "https://northstar.en.alibaba.com/company_profile.html",
"supplierContactUrl": "https://northstar.en.alibaba.com/contactinfo.html",
"profileUrls": [
"https://northstar.en.alibaba.com/company_profile.html",
"https://northstar.en.alibaba.com/contactinfo.html"
],
"country": "China",
"countryCode": "CN",
"mainProducts": "Mobile Phones, Phone Accessories",
"totalRevenue": "US$1 Million - US$2.5 Million",
"topMarkets": "North America 40% , Western Europe 25%",
"tags": ["Phone Supplier", "Trade Assurance"],
"responseRatePercent": 95,
"responseRateText": "95.0% Response Rate",
"tradeAssuranceLimit": "US $100,000",
"supplierProductCount": 2,
"isGoldSupplier": true,
"isAssessedSupplier": true,
"isVerifiedSupplier": true,
"badges": ["Gold Supplier", "Assessed Supplier", "Trade Assurance"],
"attributes": {
"mainProducts": "Mobile Phones, Phone Accessories",
"topMarkets": "North America 40% , Western Europe 25%"
},
"productPrice": "US $12.50",
"priceText": "US $12.50",
"price": 12.5,
"priceMin": 12.5,
"priceMax": 12.5,
"currency": "USD",
"imageUrl": "https://sc02.alicdn.com/kf/northstar-phone-desk.jpg",
"imageUrls": ["https://sc02.alicdn.com/kf/northstar-phone-desk.jpg"],
"thumbnailUrl": "https://sc02.alicdn.com/kf/northstar-phone-desk.jpg",
"imageCount": 1,
"imageAlt": "Northstar Phone Desk",
"isAd": false,
"canChatNow": false,
"canAddToCart": false,
"relatedProductUrls": [
"https://www.alibaba.com/product-detail/Northstar-Phone-Desk_10000000001.html",
"https://www.alibaba.com/product-detail/Northstar-Phone-Adapter_10000000002.html"
],
"relatedProductTitles": ["Northstar Phone Desk", "Northstar Phone Adapter"],
"relatedProductCount": 2,
"scrapedAt": "2026-09-06T00:00:00.000Z"
}

Rows without a public phone still have phoneFound: false and retain genuine product/supplier fields when includeNoPhoneRows is enabled. If the same public number appears on multiple products, one contact row contains the related product arrays.

The dataset contains only source-backed product/contact observations. It does not contain diagnostic, error-shaped, placeholder, or empty source rows. Request errors are counted in OUTPUT_SUMMARY; per-source page metadata is stored in SOURCE_METADATA, and failure details stay in the run logs. A valid search with no matching observations completes with status: SUCCEEDED and dataStatus: NO_RESULTS; a request/input failure before any observation fails the run. If observations were saved before a later request or optional-output failure, the run completes as SUCCEEDED with dataStatus: PARTIAL and keeps those rows.

Normal dataset rows intentionally do not contain fieldCoverage, dataQuality, httpStatus, recordId, recordType, status/success wrappers, actor metadata, transport metadata, or other debugging fields. Operational counts belong in the summary and metadata records; failure details stay in the run logs.

Local validation and deterministic QA

npm ci
npm test
apify validate-schema
apify run --purge --input-file .\test\inputs\pagination.json
npm run validate

The checked-in fixtures exercise rich parsing, two-page pagination, repeated-phone aggregation, multiple sources, filters, sorting, media/detail switches, diagnostics, and input limits without network access. For a live public run, use the root INPUT.json or supply a public sourceUrls value and omit fixture inputs.

This repository intentionally does not run apify push or paid/cloud apify call commands as part of local verification.

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.