Phone Number Validator: E.164, country and line type, offline avatar

Phone Number Validator: E.164, country and line type, offline

Pricing

$1.00 / 1,000 checked phone numbers

Go to Apify Store
Phone Number Validator: E.164, country and line type, offline

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

BEPO Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 hours ago

Last modified

Features

Limited permissions

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 0958 and 030 1234567 into one E.164 format and drop numbers that cannot exist
  • SMS and WhatsApp campaigns: keep only mobile numbers 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

Phone Number Validator: Bulk phone number validation offline: valid or not, E.164 format, country and line type (mobile, fixed line, VoIP) for every number.

✨ Why use this Actor?

  • βœ… Any input format: with or without +, spaces, dots, brackets, 00 or 011 prefixes 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: problem says 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 onlyValid the 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:

  1. Create a free Apify account (the free plan includes 5 USD of monthly credit).
  2. Open Phone Number Validator and click Try for free.
  3. Paste your phone numbers and, for those written without +, pick the default country.
  4. Click Start and wait for the run to finish (most runs take seconds).
  5. Download your data as JSON, CSV, Excel, XML or HTML, or send it straight to Google Sheets, Make, Zapier or your AI agent.

How Phone Number Validator works

⬇️ 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.

FieldTypeWhat it doesDefault
Phone numbers (phoneNumbers)arrayNumbers 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)stringTwo-letter country code (US, GB, DE ...) used for numbers written without + and country code."DE"
Only valid numbers (onlyValid)booleanOff: every number gets a row with its status and the reason when it fails.false

Phone Number Validator input form

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).

Phone Number Validator output table

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 getYou pay
100 numbers checked0.1 USD
1,000 numbers checked1 USD
10,000 numbers checked10 USD
100,000 numbers checked100 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 ValidatorPaid lookup APIsSpreadsheet formulas
Every country's numbering planβœ…βœ…βŒ
Line type (mobile, landline, VoIP)βœ…βœ…βŒ
Numbers stay privateβœ…βŒβœ…
Price per 1,000 numbers1 USD5 to 10 USDfree, 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 ApifyClient
client = 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.

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.

ActorWhat it does
πŸ“§ Email VerifierBulk 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 ExportSend any Apify dataset or JSON to a Google Sheet (append, replace or upsert by key), or read a sheet back as clean rows.
πŸ“‡ Website ContactsCompany websites to emails, phone numbers and social profiles, one row per site, with a status that says why nothing was found.
πŸ›οΈ SAM.gov Contract OpportunitiesUS federal contract opportunities by keyword, NAICS, set-aside or agency, with deadlines, contacts and attachments.
πŸ›οΈ UK TendersUK public contracts from Contracts Finder and Find a Tender by keyword, CPV, value, region and deadline, with daily alerts.
πŸ’Ό ATS JobsEvery open job from company career boards on Greenhouse, Lever, Ashby, Workable, SmartRecruiters and Recruitee in one deduped feed.
🌐 Domain RDAP and DNSDomains to registrar, creation and expiry dates, age, status, nameservers, DNSSEC and DNS records from official RDAP, in bulk.
🩺 NPI Registry LookupUS doctors, nurses, clinics and pharmacies from the official CMS NPI Registry, by specialty, name, NPI or place.
⌂ 捒网址