Phone & WhatsApp Validator — Bulk Clean and Normalise
Pricing
from $1.00 / 1,000 results
Phone & WhatsApp Validator — Bulk Clean and Normalise
Clean a list of phone numbers at scale: normalise to E.164, validate each against real numbering-plan rules, identify the country, flag line type and duplicates, and reject the junk before you pay to message it.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
alaudin burki
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Security
Limited permissionsShare
Phone & WhatsApp Number Validator — Bulk Clean, Validate, Normalise
Clean a list before it costs money to message. Normalise every number to E.164, validate it against the real numbering plan, identify the country, flag the duplicates, and reject the junk — deterministically, offline, and with no API key.
The problem this solves
A list of 10,000 numbers usually has the same number written four ways, some rows with a country code and some without, landlines mixed into a mobile campaign, and rows that were never a number. Every one of those is a paid message that reaches nobody.
What you get
| Field | Description |
|---|---|
input | The value you gave |
e164 | Canonical form, e.g. +923001234567 — the join key |
country | Two-letter country, e.g. PK, GB, US |
callingCode, national | Calling code and national number |
lineType | MOBILE, FIXED_LINE, FIXED_LINE_OR_MOBILE, or null where the plan carries none |
valid | Passes the real numbering plan |
possible | Right length for the region |
isDuplicate / duplicateOf | This number already appeared in this run |
mobileCapable | Suits an SMS/WhatsApp campaign |
reason | Why a row failed — empty, contains_letters, unparseable, fails_numbering_plan |
A SUMMARY record gives the totals an operator checks before sending: valid, invalid, duplicates, unique E.164, mobile-capable, and a breakdown by country and line type.
Sample output
4/5 valid · 1 duplicates · 4 mobile-capable · 3 unique
{ "input": "0300 1234567", "e164": "+923001234567", "country": "PK","valid": true, "isDuplicate": true, "mobileCapable": true }
Default input
Runs with no editing: five sample numbers, PK as the default country.
What this proves — and what it does not
It proves the number is a real number, in which country, of which line type, in canonical form, and which rows duplicate each other.
It does NOT prove the SIM is active, registered, or reachable. It is not an HLR lookup.
It does NOT check WhatsApp. The public wa.me route returns HTTP 200 for a fabricated number,
so it carries no signal — tested, and deliberately not used rather than quietly relied on.
Limitations
- Line type is not available for every country. Pakistan, for example, comes back
nulland is counted underunknown— the summary says it does not know rather than guessingMOBILE. WherelineTypeisnull,mobileCapablefalls back to validity. - A default country coerces. With
defaultCountry: PK,(415) 555-2671is read as a Pakistani national number, because that is what the hint means. Set it only when the list really is single-country; otherwise give numbers with a leading+. - A wrong country is worse than a rejection. National-format numbers are rejected when no default country is set, rather than being guessed into a country that would silently message a stranger.
- Numbering plans change; the library's metadata is a snapshot.
Pricing
Pay per result.