Phone number validation is the process of checking the validity of phone numbers. A process that promises to improve the quality of a list by fixing formatting issues and appending data points like country, carrier and line type, or even asking for an explicit user consent to be contacted on a number.
This guide will cover three types of validation. Each provides a different level of validation with different data points. After reading through and considering the pros and cons of each type, you should hopefully be able to choose the right type of validation for your needs.
TL;DR;
Ready for a deep dive? let's go...
This is the most comprehensive and fastest level of validation, where the goal is to validate that a phone number is approved and assigned by a given country’s telecom authority to a carrier and line type. In most countries, not all numbers are in use. In Seychelles for example, number +248 2 510 123 is valid but not +248 5 510 123 even though it has the right number of digits.
A Valid number is one that is approved by telecom authorities and assigned to a carrier and line-type, but not necessarily currently active.
By validating a phone number, you can expect to receive the following data points:
Valid | True means that the number is approved and assigned to a carrier. |
Format | the phone number in a standard international or local format. |
Line type | the line type assigned by telecom authorities. Examples of line types are mobile, landline, VoIP, toll-free, satellite. |
Region | The country region to which a landline number is assigned. |
Carrier (original) | the carrier name to which the number is assigned. |
Covers 100% of all numbers used worldwide.
Very fast, usually in the order of milliseconds.
Costs as low as 0.1$ per 1000 validations.
Reveals the original carrier and line-type.
No guarantee that the number is currently active or online.
Ported and roaming carriers are not detected.
Carrier and line type not available for US and Canada numbers.
Provider | Bulk | API | Free quota | Price per 1000 |
---|---|---|---|---|
veriphone.io | 1000 | $0.2 | ||
numverify.com | 250 | $0.4 |
Network validation involves contacting the carrier to inquire about the current state of the phone number without contacting the number itself. Connecting directly to the telephone network reveals if the number is active, the name of the current carrier and the roaming status. A major drawback of this method is the coverage rate. Only mobile numbers are supported on less than 85% of worldwide carriers.
Active* | True if the number is assigned and active. |
Original carrier | The name of the original network assigned by the telecom authority. |
Ported carrier | The name of the carrier if ported |
Roaming carrier | The name of the roaming carrier if roaming |
Reveals if the number is assigned and active.
A reliable source of carrier identity for mobile numbers.
Limited coverage: only available for mobile numbers on less than 85% of worldwide carriers.
Slow: a validation usually takes more than a second, and up to a few seconds.
Cost: carriers charge for the use of their network per query.
No guarantee that the phone is currently online*.
* a number can be active but not online (eg. phone switched off). What is the difference between Valid, Active and Online?
Provider | Bulk | API | Free quota | Price per 1000 |
---|---|---|---|---|
twilio/lookup | 0 | $5 | ||
vonage/insight | 0 | $6 |
The next level of validation is to check that the phone is ready to receive text or voice communication and that the user who provided a number can actually be reached on that number. This level of validation is achieved by sending a numeric code by voice or text message to the phone number and requesting the owner to return the code via the web or a mobile app. The returned code constitutes a user’s explicit consent to be reached on that number.
Validates that the phone number is active and online
Validates that a particular user can be reached on that number.
Validates user consent.
Cost: the cost of the voice or text message in addition to the provider’s markup.
Slow: The time necessary to send or resend a message, then return it, will not only slow down the validation process but can also be a deterrent for some users.
Provider | Bulk | API | Free quota | Price / validation |
---|---|---|---|---|
twilio.com/verify | 0 | $0.05 + SMS | ||
vonage.com/verify | 0 | $0.06 + SMS |
You probably figured out that no validation method is perfect on its own. Depending on the use case, one, two, or even the three methods must be combined to achieve the desired outcome.
Number validation is a no brainer. Any solution can benefit from this validation type to exclude unauthorized numbers before eventually seeking more data in the next two levels.