Phone Number Validator: E.164, country and line type, offline
Pricing
$1.00 / 1,000 checked phone numbers
Phone Number Validator: E.164, country and line type, offline
Tidy up data from forms, imports and spreadsheets before it reaches your calling tool: standardised output, a plain reason for each rejection, 100,000 per run, fully private. Costs 1 USD per 1,000 checked phone numbers.
Pricing
$1.00 / 1,000 checked phone numbers
Rating
0.0
(0)
Developer
BEPO Labs
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 hours ago
Last modified
Categories
Features
Share
π What is Phone Number Validator?
Stop bounced texts and dead calls: this bulk phone number validator turns a messy sheet in any style into rows with a verdict, the E.164 form your dialler expects, the origin and the kind of carrier service. Checks use bundled libphonenumber data without network lookups, so 10,000 entries finish in seconds and nothing leaves the run.
- CRM and lead list cleanup: turn
(202) 456-1111,0044 20 7946 0958and030 1234567into one E.164 format and drop numbers that cannot exist - SMS and WhatsApp campaigns: keep only
mobilenumbers before you pay per message - Sign-up and checkout forms: check exported numbers in bulk, or once a day from a schedule
- Data enrichment: add country and line type to scraped records, for example from Website Contacts
- AI agents: let Claude or ChatGPT validate and format phone numbers through MCP

β¨ Why use this Actor?
- β
Any input format: with or without
+, spaces, dots, brackets,00or011prefixes and extensions (ext. 12) - β Every country: the numbering plans of all countries and territories, kept current by Google's libphonenumber
- β Service type: mobile, fixed line, VoIP, toll-free, premium rate, shared cost and more
- β
A reason for every failure:
problemsays in plain words why a number is not valid - β Offline and private: no carrier or HLR lookup, nothing leaves the run; 100,000 numbers per run
- β
Fair price: 1 USD per 1,000 numbers, no start fee; with
onlyValidthe rest is free
π¦ What data can you get with Phone Number Validator?
| β Valid, possible or invalid | π E.164 format | π’ International and national format |
| π³οΈ Country and country name | βοΈ Calling code | π± Line type (mobile, landline, VoIP) |
| β Extension | π¬ Problem in plain words |
π How to use Phone Number Validator
Phone Number Validator works in a few clicks, no coding needed:
- Create a free Apify account (the free plan includes 5 USD of monthly credit).
- Open Phone Number Validator and click Try for free.
- Paste your phone numbers and, for those written without +, pick the default country.
- Click Start and wait for the run to finish (most runs take seconds).
- Download your data as JSON, CSV, Excel, XML or HTML, or send it straight to Google Sheets, Make, Zapier or your AI agent.

β¬οΈ Input
Give phoneNumbers in any common format. Numbers with + or an international prefix keep their own country; the rest are read with defaultCountry.
Mixed countries
One run can hold numbers from many places: defaultCountry applies only to those written without +, 00 or 011.
Only valid numbers
onlyValid saves and charges only valid numbers; off by default, so every number gets a row with the reason it failed.
Duplicates
The same number written twice is checked once; up to 100,000 numbers per run.
| Field | Type | What it does | Default |
|---|---|---|---|
Phone numbers (phoneNumbers) | array | Numbers in any common format: +1 202-456-1111, (030) 1234567, 0044 20 7946 0958, with or without an extension. | ["+1 202-456-1111","+44 20 7946 0958","0 |
Default country (defaultCountry) | string | Two-letter country code (US, GB, DE ...) used for numbers written without + and country code. | "DE" |
Only valid numbers (onlyValid) | boolean | Off: every number gets a row with its status and the reason when it fails. | false |

Input example
{"phoneNumbers": ["+1 202-456-1111","+44 20 7946 0958","+49 30 1234567","+33 1 42 68 53 00","+81 3-3224-9999","+61 2 9374 4000"]}
β¬οΈ Output
Every number becomes one row with its status, the formats and the line type. status is valid (the number lies in an assigned block), possible (plausible size, nothing allocated: often a typo), invalid (impossible length for its country) or unparseable (origin not found, or not a phone number).

Output example
One row of the dataset (a real run of 2026-10-17):
{"input": "+1 202-456-1111","status": "valid","valid": true,"possible": true,"e164": "+12024561111","international": "+1 202 456 1111","national": "(202) 456-1111","country": "US","countryName": "United States","callingCode": "+1","type": "fixed-line-or-mobile","extension": null,"problem": null}
View the results as a table or JSON in the Output tab and download them as JSON, CSV, Excel, XML, HTML or RSS, all fields or only those you pick.
π° How much does Phone Number Validator cost?
Phone Number Validator is priced per event: 1 USD per 1,000 numbers checked (0.001 USD each), with no monthly rental. Each number in the dataset is billed once, no start fee. With onlyValid on, entries left out are free.
| You get | You pay |
|---|---|
| 100 numbers checked | 0.1 USD |
| 1,000 numbers checked | 1 USD |
| 10,000 numbers checked | 10 USD |
| 100,000 numbers checked | 100 USD |
π‘ Apify's free plan gives you 5 USD of credit every month, enough for about 5,000 numbers checked at no cost. Set a spending limit per run and the Actor stops there.
βοΈ Phone Number Validator vs. the alternatives
| Phone Number Validator | Paid lookup APIs | Spreadsheet formulas | |
|---|---|---|---|
| Every country's numbering plan | β | β | β |
| Line type (mobile, landline, VoIP) | β | β | β |
| Numbers stay private | β | β | β |
| Price per 1,000 numbers | 1 USD | 5 to 10 USD | free, but manual |
| Live carrier or HLR check | β | often | β |
π Integrations, API and MCP
Connect Phone Number Validator to your AI agent (MCP)
Give Claude, ChatGPT, Cursor or any MCP client direct access to Phone Number Validator through the Apify MCP server. Add this URL to its settings:
https://mcp.apify.com/?actors=bepolabs/phone-validator
For Claude Desktop, add it under mcpServers in claude_desktop_config.json:
{"mcpServers": {"phone-validator": {"command": "npx","args": ["-y","@apify/actors-mcp-server","--actors","bepolabs/phone-validator"],"env": {"APIFY_TOKEN": "<your Apify API token>"}}}}
Then ask: "Validate these 50 phone numbers, give me each one in E.164 format and tell me which are mobile."
Run it from your code
Python (pip install apify-client):
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("bepolabs/phone-validator").call(run_input={"phoneNumbers":["+1 202-456-1111","+44 20 7946 0958","+49 30 1234567","+33 1 42 68 53 00","+81 3-3224-9999","+61 2 9374 4000"]})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
JavaScript (npm install apify-client):
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('bepolabs/phone-validator').call({"phoneNumbers":["+1 202-456-1111","+44 20 7946 0958","+49 30 1234567","+33 1 42 68 53 00","+81 3-3224-9999","+61 2 9374 4000"]});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
No-code integrations
Send results to Google Sheets, Slack, Airtable, HubSpot, Make, Zapier, n8n and more from the Integrations tab, start runs on a schedule, or trigger your own endpoint with a webhook when a run finishes. The Apify API gives you full control over runs and datasets.
β FAQ
Does it check whether a number is switched on?
No. It tells you whether a number can exist and what kind of line its block is for. It does not call the number, ask a carrier or check WhatsApp, so it cannot say who owns a valid number, and a number ported from mobile to VoIP keeps its original type.
Why is my local number unparseable?
Without + and country code the number needs defaultCountry. The run log warns when most numbers miss it.
Can it check numbers from many countries at once?
Yes. Numbers with + or an international prefix are read with their own country; defaultCountry applies only to the rest.
Why is a UK mobile shown as Guernsey (GG) or Jersey (JE)?
The Channel Islands and the Isle of Man share the UK's +44 code and own some of its ranges; libphonenumber names the territory that owns the range.
Why is a US number fixed-line-or-mobile?
The US, Canada and some other countries do not separate mobile and landline ranges in their numbering plan, so no offline check can tell them apart.
Is it legal to use Phone Number Validator?
Validation runs offline on public numbering-plan data (libphonenumber by Google, Apache-2.0, through the MIT-licensed libphonenumber-js); no number is called or looked up. Phone numbers are personal data: you are responsible for having a lawful basis to process what you give it and for following GDPR, CCPA and anti-spam rules when you contact people.
What if something is missing or does not work?
Open an issue on the Issues tab; we read each one and reply. Feature requests are welcome too.
π¬ Your feedback
Tell us what Phone Number Validator should add on the Issues tab or leave a review; your notes decide what we work on next.
π Related Actors
| Actor | What it does |
|---|---|
| π§ Email Verifier | Bulk email validation over DNS: valid, risky or invalid per address, with the reasons, a score, a typo fix, throwaway and shared-inbox flags. |
| π Google Sheets Import and Export | Send any Apify dataset or JSON to a Google Sheet (append, replace or upsert by key), or read a sheet back as clean rows. |
| π Website Contacts | Company websites to emails, phone numbers and social profiles, one row per site, with a status that says why nothing was found. |
| ποΈ SAM.gov Contract Opportunities | US federal contract opportunities by keyword, NAICS, set-aside or agency, with deadlines, contacts and attachments. |
| ποΈ UK Tenders | UK public contracts from Contracts Finder and Find a Tender by keyword, CPV, value, region and deadline, with daily alerts. |
| πΌ ATS Jobs | Every open job from company career boards on Greenhouse, Lever, Ashby, Workable, SmartRecruiters and Recruitee in one deduped feed. |
| π Domain RDAP and DNS | Domains to registrar, creation and expiry dates, age, status, nameservers, DNSSEC and DNS records from official RDAP, in bulk. |
| π©Ί NPI Registry Lookup | US doctors, nurses, clinics and pharmacies from the official CMS NPI Registry, by specialty, name, NPI or place. |