Phone Number Validation - Normalize & Check Numbers
Pricing
from $1.00 / 1,000 results
Phone Number Validation - Normalize & Check Numbers
Validate, normalize and enrich phone numbers: E.164, international/national format, country code, region, location, carrier, timezone and number type.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
Ben
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Phone Number Validation - Normalize E.164 & Check Region
Validate and normalize phone numbers in bulk. This actor turns messy phone inputs into clean, structured records with E.164 format, international and national formatting, country code, region code, location, carrier, timezone, number type and validity flags.
What does this actor do?
Phone numbers arrive in every possible shape: local numbers, international numbers, numbers copied from websites, CRM exports, spreadsheets, forms, lead lists and scraped pages. Before you call, text, deduplicate or import those numbers into another system, you need to know whether they are parseable, possible and valid.
This actor uses Google's widely used phone-number metadata library through Python's phonenumbers package. It does not scrape a website, call a paid API or use a proxy. That makes it fast, deterministic and cheap to run at scale.
Input
Provide phone numbers in phoneNumbers. Use international prefixes when possible, such as +1, +44, +49 or +33.
If some numbers are local, set defaultRegion to the country they should be interpreted in. For example, use US for United States local numbers, GB for United Kingdom numbers or DE for German numbers.
Use maxResults to cap very large batches.
Output fields
Each result can include:
input- original valueis_possible- whether the number length/shape is possibleis_valid- whether the number is valid for its regione164- normalized international E.164 formatinternational- human-readable international formatnational- national display formatcountry_codenational_numberregion_codelocationcarriertimezonesnumber_typeerror- parse error when the input cannot be interpreted
Use cases
Use this actor to clean CRM exports, normalize scraped lead data, deduplicate phone numbers, validate signup form submissions, enrich business contact lists, prepare SMS campaigns, QA phone fields before importing them into HubSpot or Salesforce, or standardize numbers before joining datasets.
Lead list cleanup
When you scrape websites, directories or marketplaces, phone numbers often include spaces, punctuation, local formatting and mixed countries. Run the raw list through this actor first, then keep the e164 field as your canonical phone key.
CRM enrichment
Import the output into a CRM to flag invalid numbers, segment leads by country, normalize display format and reduce duplicate records caused by inconsistent formatting.
Sales and operations teams often inherit contact data from multiple sources: form submissions, old spreadsheets, scraped directories, event registrations and vendor exports. The same phone number might appear as 4155552671, (415) 555-2671, +1 415 555 2671 or with country-specific spacing. Normalizing to E.164 gives you one stable value to compare, merge and sync.
Data pipelines
Because the actor is deterministic and does not depend on an external website, it is safe for scheduled jobs and repeatable ETL workflows. You can run it before downstream enrichment, outreach or validation steps.
For automated workflows, send the actor a list of numbers through the Apify API, then read the default dataset. A common pattern is: scrape contacts, validate phones, drop rows with parse errors, deduplicate on e164, then push the clean contacts into your CRM or outbound system.
International formatting
The defaultRegion setting matters when numbers do not include a country code. For example, 030 123456 could mean different things depending on the country. Setting defaultRegion to DE treats it as a German number, while US would not. For mixed-country datasets, include country prefixes in the raw input whenever possible.
Notes and limits
This actor validates phone-number structure using metadata. It does not call the number, send SMS, verify live ownership or confirm that the number is currently assigned to a person or business. is_valid means the number is valid according to numbering-plan metadata, not that a human will answer it.
Carrier data is available for some mobile ranges and countries, but not all. Location data is usually region-level, not street-level. These limits are normal for offline phone-number validation.
The actor returns failed parses as dataset rows with is_valid: false and an error message. That makes QA easier because you can see exactly which inputs failed and why instead of silently losing rows.
Pricing
The actor uses pay-per-result pricing. You are charged for each phone number pushed to the dataset, plus a tiny actor-start event. Failed parses are still useful rows and are charged as processed results.
FAQ
Does this actor use an external paid API?
No. It runs offline using phone-number metadata packaged with the library.
Can it validate international numbers?
Yes. Include the country prefix or set defaultRegion for local numbers.
Does it verify if the number is active?
No. It validates format and numbering-plan metadata. It does not ping carriers or send messages.
Can I upload thousands of numbers?
Yes. Use the array input or API input. For very large jobs, raise maxResults accordingly.
What format should I store?
Use e164 as the canonical machine-readable format. It is the safest field for deduplication and downstream APIs.
Is this useful for scraped website data?
Yes. Website phone numbers often contain labels, punctuation or inconsistent spacing. This actor helps convert those raw values into a standard format after extraction.
Does it detect mobile versus landline?
When metadata is available, number_type may identify mobile, fixed line, toll-free or other number types. Coverage varies by country.
Can I combine it with email validation?
Yes. A practical lead workflow is: collect company/contact data, validate emails, validate phones, deduplicate, then export only rows with at least one usable contact channel.
You might also like
- Website Contact Extractor - find phone numbers and emails from websites
- Email Finder Verifier - enrich and validate business contacts
- Google Maps Business Scraper - collect local business leads
- BusinessesForSale Scraper - acquisition and broker leads
Keywords
phone number validation, phone validator, E.164 formatter, phone number normalizer, validate phone numbers, CRM phone cleanup, lead list phone validation, phone carrier lookup, phone region lookup, phone number API.