Phone number validator

Validate any phone number worldwide — country, line type and E.164 format, with VoIP, premium-rate and toll-free detection. Add a two-letter country code for national-format numbers. No signup.

Same check from your code

The API returns everything above plus NANP area-code allocation data, and whether the number has been reported for abuse across the LayerCall network.

curl "https://www.layercall.com/v1/lookup/phone?phone=%2B14155552671" \
  -H "x-api-key: YOUR_KEY"

1,000 lookups a month free, no card. Get a key or read the docs.

What each signal means

Valid

The number matches a real allocation in its country's numbering plan — not merely the right length.

A length check passes 555-0100 and every made-up number of the correct shape. Plan validation is what separates a real number from a plausible-looking one, and it is the cheapest fraud check you can run at signup.

VoIP

The number is served by an internet telephony provider rather than a mobile or landline carrier.

VoIP numbers are free or near-free and can be discarded instantly, which makes them the phone equivalent of a disposable email. Plenty of legitimate businesses use them too, so treat as a flag rather than a block.

Premium rate

Calling or texting the number charges the sender a premium.

A genuine red flag on a signup form. If you send an SMS verification code to one of these, you pay the premium — this is an actual revenue-drain attack, not just a fraud proxy.

Toll free

An 800-style number where the recipient pays.

Almost always a business switchboard rather than a person. Reasonable on a B2B contact form, out of place as an individual user's mobile number.

Questions

What is E.164 format?

The international standard for phone numbers: a plus sign, country code, then the national number with no spaces or punctuation — for example +14155552671. Store numbers this way. It is unambiguous, it is what every SMS and voice API expects, and it removes an entire class of bug caused by locally formatted numbers.

Why do I need to give a country code?

A number written in national format is ambiguous — 415 555 2671 could belong to several countries. Type it in international form starting with + and no country is needed. Otherwise the two-letter code tells the validator which numbering plan to check against.

Does this tell me if the number is switched on?

No, and be sceptical of anything claiming otherwise cheaply. This validates against numbering-plan allocation and line type — real, useful, and it needs no live network query. Whether a handset is currently reachable requires an HLR lookup, which is a different and far more expensive product.

Should I block VoIP numbers at signup?

Rarely outright. Many legitimate users and most businesses use VoIP. It is far more useful as a weighting: VoIP plus a disposable email plus a datacenter IP is a strong pattern, whereas VoIP alone mostly identifies people who chose a modern phone provider.

Which countries are supported?

All of them. Validation uses Google's libphonenumber metadata, which covers every country's numbering plan and is the same library behind most phone-input widgets you have used.

All free tools