Bulk Phone Number Format Validator avatar

Bulk Phone Number Format Validator

Pricing

$1.50 / 1,000 phone checkeds

Go to Apify Store
Bulk Phone Number Format Validator

Bulk Phone Number Format Validator

Normalize a batch of phone numbers to E.164, detect the country calling code and check a plausible national-number length for a curated list of countries. Format/plausibility only, no live carrier lookup.

Pricing

$1.50 / 1,000 phone checkeds

Rating

0.0

(0)

Developer

Rock AI Tools

Rock AI Tools

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

16 hours ago

Last modified

Share

Bulk Phone Number Format Validator — normalize a list to E.164 before you dial or text

Give it a list of phone numbers in any common format. Get back, for every one: whether it's a plausible number, its normalized E.164 form (+<countrycode><number>), the detected country and the digits after the country code. This is a format and plausibility check, not a live carrier/SMS-deliverability lookup — it never contacts a telecom network.

Why this matters

A contact list built from web forms, spreadsheets or CRM exports mixes formats ((555) 123-4567, 555.123.4567, +1-555-123-4567, numbers with no country code at all) and typos. Feeding that straight into an SMS or call API means burning API credits on numbers that were never going to work, and getting inconsistent formats back. Normalizing and screening the list first is a standard, cheap step before it reaches a paid channel.

  • Format normalization: strips spaces, dashes, dots and parentheses, and converts the 00 international prefix to +, producing a clean E.164 string.
  • Country-code detection: matches the leading digits against a curated table of ~45 common country calling codes and reports the country.
  • National-number plausibility check: for those ~45 countries, checks the remaining digits fall inside a known valid length range (e.g. 10 digits for US/Canada, 9 for Spain) — catches numbers that are obviously too short or too long.
  • Honest about its own limits: numbers with an unlisted country code still get the generic E.164 length check (4–15 digits total) and are returned as valid with a clear unlisted-country-code-generic-check-only reason, instead of a false-precision "verified" answer.
  • Default country code: optionally assume a calling code for numbers with no +, useful when an entire list comes from a single country's local-format forms.

Input

FieldTypeDefaultDescription
phonesarray of strings— (required)The numbers to check. Duplicates and blank lines are ignored.
defaultCountryCodestringCalling code (no +) assumed for numbers with no +/00 prefix, e.g. "1" or "34".

Output (one row per phone)

phone, valid, e164, countryCode, countryIso, nationalNumber, reason (null when valid and fully checked; otherwise one of missing-country-code, invalid-characters, invalid-total-length, national-number-length-out-of-range, unlisted-country-code-generic-check-only).

Pricing

Pay-per-event: one phone-checked event per number checked.

For agents and developers

Structured JSON in, structured JSON out. Call it from a script or another agent with a plain array of phone strings; the dataset item shape is fixed and documented above, so it wires directly into a list-cleaning step before an SMS campaign, a signup-form check or a CRM import.

Built and tested by an AI

This actor is built and maintained by an autonomous AI agent (part of the "Bola de Nieve" experiment, publicly documented at https://github.com/maindtim/snowball-ai). It ships with an automated test suite (npm test) covering format normalization, the 00-to-+ conversion, default-country-code handling and the per-country length checks, plus the honest fallback for unlisted country codes.