Guides

How to check if a phone number is active (and what "active" really means)

Valid, active, reachable and registered mean different things. The methods for checking each one, what they cost and where every method falls short.

By Published 7 min read

On this page

To check if a phone number is active, first decide which kind of "active" you need. A number can be valid (the digits are possible), in service (assigned to a line), reachable (the phone is on the network now) or registered (it has an account on an app). Each needs a different check, and only a reply from the person proves they hold the phone.

What are the four meanings of "active"?

People say "active number" and mean different things. Separating them avoids paying for the wrong check.

MeaningQuestionChanges how oftenExample of a number that fails
ValidDo the digits fit the country's numbering plan?Rarely (plan changes)+44 7911 12345: one digit short
In serviceIs the number assigned to a line with some operator?Weeks to yearsA mobile number disconnected when a contract ended
ReachableIs the phone attached to a network right now?MinutesA phone switched off overnight
RegisteredDoes the number have an account on a given app or service?MonthsA basic phone with no messaging apps

The layers are independent. A number can be valid and never assigned. It can be in service and unreachable because the phone is off. It can be reachable and registered nowhere. The number reachability glossary entry describes the same ladder from the network's point of view.

A cell tower sends signal to a SIM card; the line type is identified as mobile rather than landline or VoIP.A cell tower sends signal to a SIM card; the line type is identified as mobile rather than landline or VoIP.
Carrier lookup returns the line type (mobile, landline or VoIP) and the network behind the number.

How do you check that a number is valid?

Validation compares the number with the numbering plan of its country. The international format, E.164, allows at most 15 digits including the country code (ITU, 2010), and each country's plan sets the lengths and ranges inside that. Open-source libraries encode those plans, so the check runs offline and costs nothing.

MobileValidate validates and normalizes every number on every request. You see the outcome in number_status: valid, invalid_number or duplicate (the same number appeared earlier in the request after conversion to E.164). Invalid and duplicate rows are never checked and never charged.

A real test-mode request shows how three inputs collapse into one number plus one error:

Shell
curl https://api.mobilevalidate.com/v1/lookup \
  -H "Authorization: Bearer $MOBILEVALIDATE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"numbers": ["07700 900001", "0044 7700-900001", "12345"], "checks": ["whatsapp"], "default_country": "GB"}'

The results come back as valid, duplicate and invalid_number, in input order. Validation is the right first filter. It removes typos while the person is still on your form. It says nothing about whether the line exists.

How do you check that a number is in service?

A number is in service when an operator has assigned it to a line. Two kinds of data help.

Carrier and line-type data. A carrier lookup returns the number's line_type, the current carrier and its country from reference data. If we hold no data for a valid number, the answer is unknown with reason NO_DATA and it is free. Data for a number is a sign it belongs to an operator's active ranges, but reference data isn't refreshed every minute, and it doesn't prove a subscriber holds that exact number.

A live network query. For mobile numbers, the home network's subscriber register knows whether a number is assigned. An HLR lookup asks it directly and gets back reachable, unreachable or invalid (not assigned). This is the most direct in-service test for mobile numbers. MobileValidate's HLR lookup is coming soon; today a request for it returns 403 service_disabled, even with a test key.

Neither method works the same way for landlines, and most VoIP numbers have no subscriber register an outsider can query.

How do you check that a phone is reachable right now?

Reachability is the most short-lived property on the list. The home network knows whether the SIM is currently attached; that changes whenever the phone is switched off, loses coverage or goes into a tunnel.

A live network query reports it without contacting the handset. The planned number.hlr service defines these states:

statusMeaningWhat to do
reachableAssigned and attachedSend or call
unreachableAssigned, but not attached nowRetry later, or use another channel
invalidNot assignedRemove from the list
unknownNo conclusive answer (network error, timeout)Keep your default behaviour; not charged

Two cautions. First, a single unreachable is not a verdict. A phone off at 3 a.m. is fine at 9 a.m.; repeated answers over several weeks are what suggest an abandoned number. Second, some operators block or mask external queries, so a good service returns unknown rather than a guess.

How do you check that a number is registered on an app?

Messaging apps keep their own account databases, and each one verified the number at sign-up. A channel check asks whether an account exists for the number, without sending a message and without returning any name or profile.

In MobileValidate, WhatsApp, Telegram and Viber checks run in real time; others, such as iMessage, RCS and Signal, run in bulk jobs. Each answers registered: true, false or null (unknown), with checked_at.

What a registration tells you: somebody completed the app's verification with this number at some point and the account still exists. What it doesn't tell you: whether that person still holds the number, or whether the phone is on today. Apps remove inactive accounts only after a period they set themselves, so a recycled number can keep the previous owner's account for a while.

Use channel checks to choose a channel for messages people agreed to receive, and as one sign of real use. See check if a number is on WhatsApp.

What is the only definitive test?

Contacting the person, and getting an answer back. A one-time passcode that is entered on your site proves that whoever is in front of the screen controls the phone right now. That is why authentication standards treat the code, not a lookup, as the verification step. They also warn that the phone channel has weaknesses: NIST's 2025 guidelines classify out-of-band codes sent over the phone network as a restricted authenticator and say verifiers should consider risk indicators such as a SIM change or a number port before relying on it (NIST, 2025).

So lookups and codes play different roles:

  • Lookups run before you contact anyone. They are cheap filters that decide whether a message is worth sending, and on which channel.
  • A confirmed code or a call answered proves possession. It costs a message and needs the person's cooperation.

Don't send test messages to numbers that never agreed to hear from you. A lookup exists precisely so you don't have to.

How do you know if a number now belongs to someone else?

This is the question none of the network or app checks answer. Operators recycle numbers after disconnection. A reassigned number is valid, in service, reachable and possibly registered on apps, all for its new owner.

In the US there is a dedicated source. The FCC's Reassigned Numbers Database became operational on 1 November 2021, and by 17 February 2023 it held over 305.9 million geographic and toll-free numbers; providers must report permanent disconnections monthly (FCC, 2023). Under US rules, callers who query it may qualify for a safe harbor from liability for calls to reassigned numbers; check the conditions with your counsel.

A reachability or porting result is not a substitute for that database. In other countries, the practical approach is to reconfirm consent when you haven't been in touch for a long time, and to treat a change in carrier or line type since your last check as a prompt to reconfirm.

Which checks should you combine?

Pick by the cost of being wrong:

SituationChecksNotes
Sign-up formValidation + line typeInstant feedback; add a channel check if you deliver codes by app
Before sending an OTPValidation + line type; reachability once availableDon't block on unknown; fall back to your normal flow
Cleaning an old list before a consented campaignValidation + line type in a bulk job; reachability once availableSee cleaning a list in bulk
Choosing a channel for an opted-in customerChannel checksRefresh monthly or after a failed delivery
US calling listThe FCC database for reassignment, plus line typeNetwork checks don't answer "same person?"

In MobileValidate, you pay per check and only for conclusive answers. You're not charged for inconclusive results (unknown, unsupported country, timeout, invalid, duplicate). See pricing.

How do you test this without real numbers?

Use numbers that can never belong to anyone. The UK regulator reserves 07700 900000 to 07700 900999 for drama, and they are never assigned (Ofcom). MobileValidate's test mode uses this range: +447700900001 answers registered or with carrier data, …002 answers "no" or no data, …003 simulates a timeout, …004 stays pending for about five seconds, and …005 returns unsupported country. Test keys never reach a real network and are never billed, so you can build every branch of your "is it active?" logic first.

What are the key takeaways?

  • "Active" means one of four things: valid, in service, reachable or registered. Decide which you need first.
  • Validation is free and catches typos, but not dead numbers.
  • Carrier data shows line type and network; a live network query (HLR, coming soon in MobileValidate) shows whether a mobile phone is attached right now.
  • App registration shows real use at some point, not today's state.
  • Only a reply from the person proves possession. In the US, the FCC's database is the dedicated source for whether a number was disconnected and may have changed hands.
  • Treat unknown as missing data, never as a negative. It is free.

For the difference between the network checks, read HLR vs MNP vs number validation.

Sources

  1. Recommendation ITU-T E.164: The international public telecommunication numbering plan — ITU, 2010
  2. Reassigned Numbers Database — FCC, 2023
  3. NIST SP 800-63B-4: Digital Identity Guidelines, Authentication and Authenticator Management — NIST, 2025
  4. Telephone numbers for use in TV and radio drama programmes — Ofcom, 2025

Frequently asked questions

Can I check whether a number is active without sending a message?

Partly. Validation, a carrier lookup, a live network query (HLR) and channel checks all work without contacting the person. Only a message or call that the person answers proves they hold the phone right now.

Does a WhatsApp account prove a number is active?

It shows the number passed WhatsApp's sign-up verification at some point and still has an account. It doesn't prove the phone is on today, and a recycled number can still show the previous owner's account for a while.

What does unreachable mean in a live network check?

The number is assigned, but the phone is switched off, out of coverage or not attached to the network at that moment. Treat a single unreachable answer as 'try later', not as 'dead'.

How do I know if a US number was reassigned to someone else?

The FCC's Reassigned Numbers Database is built for that question: it tells callers whether a US number has been permanently disconnected since a given date, based on providers' reports. Network and channel checks can't tell you whether the person behind a number changed.

All articles

Know before you send.

Tell us about your use case. We review every request and set you up with test and live keys.