Alibaba Phone Number Scraper
Pricing
from $2.99 / 1,000 phone numbers
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
Maintained by CommunityActor 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
| Field | Type | Purpose |
|---|---|---|
searchQuery | string | Builds a public *-suppliers.html source when URLs are omitted. |
queries | string[] | Adds independent generated supplier-search sources. |
sourceUrls | string[] | Public Alibaba source URLs; takes precedence over generated queries. |
startUrls / url | array/string | Compatibility aliases for public source URLs. |
maxPages | integer, 1โ100 | Maximum ordered pages per source. |
maxItems | integer, 1โ5000 | Maximum rows after aggregation, filtering, and sorting. |
sortBy | enum | phone_first, relevance, price_asc, price_desc, response_rate_desc, country_asc, supplier_name_asc, or title_asc. |
textQuery | string | Case-insensitive text filter over product, supplier, country, tags, badges, and labels. |
supplierCountries | string[] | Country/Region code or name filter. |
requiredPhoneLabels | string[] | Requires every listed explicit phone/contact label. |
phoneRequired | boolean | Excludes rows without an explicitly labeled public phone. |
minResponseRatePercent | number, 0โ100 | Minimum observed supplier response rate. |
minPrice / maxPrice | number | Inclusive overlap filter on the observed product price range. |
includeNoPhoneRows | boolean | Keeps genuine product rows without a public phone. |
deduplicate | boolean | Merges repeated canonical product URLs and repeated normalized phones. |
includeMedia | boolean | Includes product-scoped CDN image fields; Alibaba UI flags and logos are excluded. |
includeAttributes | boolean | Includes product/supplier attributes, Main Products, Top Markets, and Tags. |
includeSupplierDetails | boolean | Includes supplier identity, profiles, country, revenue, response, assurance, and badges. |
requestDelayMs | integer, 0โ15000 | Delay before each live public request. |
maxConcurrency | integer, 1โ5 | Concurrent independent source crawls. Pages within a source remain ordered. |
maxRequestRetries | integer, 0โ10 | Retries for transient network failures. |
requestTimeoutSecs | integer, 15โ300 | Per-page request timeout. |
maxResponseBytes | integer | Download safety cap, 100000โ50000000 bytes. |
proxyConfiguration | object | Standard Apify Proxy groups and country selection. |
userAgent / locale | string | Optional 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 cinpm testapify validate-schemaapify run --purge --input-file .\test\inputs\pagination.jsonnpm 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.