Fast Phone Number Extractor | Bulk, Any Website & Low Cost
Under maintenancePricing
$10.00 / 1,000 results
Fast Phone Number Extractor | Bulk, Any Website & Low Cost
Under maintenanceFast Phone Number Extractor efficiently extracts phone numbers from static websites at high speed while keeping usage costs low. It detects various number formats, supports country code filtering. Ideal for cost-effective web scraping projects.
Pricing
$10.00 / 1,000 results
Rating
0.0
(0)
Developer
Muzaffer Kadir YILMAZ
Maintained by CommunityActor stats
2
Bookmarked
74
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Fast Phone Number Extractor
Extract phone numbers from any website in bulk — fast and at low cost. Give it one or more URLs and it returns every valid phone number found on each page, correctly parsed and formatted.
Use this actor to:
- Lead generation — collect contact numbers from a list of business websites
- Directory building — enrich a company list with phone numbers
- Data verification — check that a phone number listed elsewhere actually appears on a business's site
- Contact discovery — quickly find the phone number on any single page
Features
- Fast bulk extraction with inexpensive HTTP requests for the common case
- Automatic JavaScript rendering when a number is not present in static HTML
- Country-aware validation and national/international formatting
- Per-page deduplication, source text, and match position for auditability
- Run statistics that explain crawl coverage and browser fallback usage
How it works
- The actor visits each start URL and follows same-site links up to
maxRequestsPerCrawl. - It extracts and validates phone-like text using the selected country as a local-number hint.
- If static HTML contains no valid number, it retries that page once with JavaScript rendering.
- It writes one dataset item per page and a
STATSrecord for the run.
Getting more results
- Start from a contact or location page when you only need one business's number.
- Increase
maxRequestsPerCrawlwhen numbers may live on deeper pages. - Set the correct
phoneCountryCodefor local numbers without a+country prefix. - Results reflect phone numbers actually exposed by the website. Login walls, CAPTCHAs, and numbers embedded only in images are not bypassed.
What data you get
Each page you crawl returns:
| Field | Description |
|---|---|
url | The page that was crawled |
title | The page's title |
phoneNumbers | Array of phone numbers found (see below) |
renderedWithBrowser | true if the page needed JavaScript rendering to reveal its numbers |
Each entry in phoneNumbers includes:
| Field | Description |
|---|---|
number | Number in E.164 international format, e.g. +12125550198 |
formattedNumber | Number formatted for its country, e.g. (212) 555-0198 |
country | Detected country code, e.g. US |
text | The exact text the number was found in |
Input
| Field | Type | Description |
|---|---|---|
startUrls | array | Pages to extract phone numbers from |
maxRequestsPerCrawl | number | Maximum number of pages to visit, including links found on the start pages (default: 1) |
phoneCountryCode | string | Country hint for parsing numbers that aren't already in international format, e.g. US, TR, GB (default: US) |
Examples
One contact page
{"startUrls": [{ "url": "https://example-business.com/contact" }],"maxRequestsPerCrawl": 1,"phoneCountryCode": "US"}
Turkish local numbers
{"startUrls": [{ "url": "https://example.com/iletisim" }],"maxRequestsPerCrawl": 1,"phoneCountryCode": "TR"}
Crawl several pages from multiple sites
{"startUrls": [{ "url": "https://example.com" },{ "url": "https://example.org/contact" }],"maxRequestsPerCrawl": 20,"phoneCountryCode": "GB"}
Output sample
{"url": "https://example-business.com/contact","title": "Contact Us","phoneNumbers": [{"number": "+12125550198","nationalNumber": "2125550198","formattedNumber": "(212) 555-0198","country": "US","text": "(212) 555-0198","position": { "start": 152, "end": 166 }}],"renderedWithBrowser": false}
Notes
- Most sites are crawled with plain HTTP requests, which keeps this actor fast and cheap. If a page's static HTML has no phone numbers, it's automatically retried with a headless browser to catch numbers that only appear after JavaScript renders — most runs never need this, so it doesn't add cost or time by default.
phoneCountryCodeonly affects numbers written in a local (non-international) format. Numbers already written with a country code, e.g.+1 212 555 0198, are parsed correctly regardless.- The default key-value store contains a
STATSrecord with finished/failed requests, pages with numbers, unique-number events, and browser fallback counts.uniqueNumbersFoundis the sum of per-page unique numbers; the same number on two pages is counted twice.
License
ISC