To check if a phone number is real, run three checks in order: a format check (is it a valid, dialable number), a line-type lookup (mobile, landline or VoIP) and a reachability check (is it active or disconnected). No lookup proves the number belongs to the person who gave it to you, so use the lookups to clean the list and a confirmation text to prove it.

This guide covers each check, what it catches and misses, and what a bad number costs once you start texting. It also covers how number validation works on Ready, including the API call and the pricing for each check.

Why bad numbers cost more than you think

A list with bad numbers loses you money in three ways.

  1. Wasted segments. Many providers bill the attempt whether or not a phone ever receives it. A text to a landline or a dead number is still a billed text.
  2. Carrier reputation. A high share of failed deliveries looks like a sender working from a bought or scraped list. Carriers watch for that pattern, and it adds to the filtering risk you already carry. We cover the content side of filtering in why approved campaigns still get filtered.
  3. Wrong-person risk. A number that is "real" but was reassigned to someone new is a valid mobile line. It is also a stranger who never agreed to hear from you. That is where TCPA exposure, often cited at $500 to $1,500 per text, comes from.

A worked example

Here is an example with stated assumptions, not a measured figure. Say you send a 5,000-contact appointment campaign. The message is 175 characters and includes one emoji. An emoji forces unicode encoding, which drops the segment limit to 70 characters, or 67 for multipart, so 175 characters becomes 3 segments.

Now assume 10% of the list is landlines and disconnected numbers. That is a round assumption for an older list, not a benchmark.

  • Bad numbers: 5,000 × 10% = 500
  • Segments sent to them: 500 × 3 = 1,500
  • On Ready Standard, at $0.0075/segment plus a $0.0045 carrier fee: 1,500 × $0.0075 = $11, plus 1,500 × $0.0045 in carrier fees

That is per send. Run that campaign weekly and the waste repeats every week until someone cleans the list.

How to check if a phone number is real: the three checks

1. Format check (free, instant, catches typos)

Start with a format check. It costs nothing and catches the most errors per minute of effort. For US and Canadian numbers (the North American Numbering Plan), reject anything that breaks these rules:

  • 10 digits after the +1. Store numbers in E.164 format, such as +12125550199. A 10-digit US number entered without the country code should be normalized to +1.
  • Area code can't start with 0 or 1. The same applies to the three-digit exchange that follows it.
  • 555-0100 through 555-0199 are fictional. Those exchanges are reserved for movies and TV, so a 555-01xx number on a lead form is a fake.
  • Obvious junk. Watch for 000-0000, 123-4567, a repeated digit ten times, or the business's own number typed into its own form.

A format check tells you a number could exist. It cannot tell you it does exist.

2. Line-type lookup (is this a cell phone number?)

This check answers "is this a cell phone number?" You can't tell from the area code, because number portability lets people move a landline number to a mobile carrier and back. A line-type lookup queries carrier data and returns one of four types:

Line typeCan it receive SMS?What to do
MobileYesKeep; text it if you have consent
LandlineGenerally no (some carriers read the text aloud as a voice call, many drop it)Call or mail instead; don't text
VoIP, non-fixed (app-based numbers)Often yes, less reliablyKeep, but watch delivery
VoIP, fixed (business phone systems)Depends on whether texting is enabled on the numberTreat as unconfirmed

The landline row is where most of the money goes. A landline on a texting list is a number you pay to reach that will never reach anyone.

3. Reachability (is it disconnected?)

A number can be correctly formatted and correctly typed as mobile and still be dead. The account may have been cancelled, or the number may be sitting in a carrier's pool waiting to be reassigned. US reachability data is less complete than line-type data, so treat a "possibly inactive" result as a flag to review, not a verdict.

Reassigned numbers are a separate problem. The FCC runs a Reassigned Numbers Database for exactly that case: a number that is live, mobile and owned by the wrong person. If your consent is old, checking it matters more than any line-type lookup.

The check no lookup replaces: a confirmation text

Every check above is about the number. None of them is about the person. The only proof that a number is real, can receive texts and belongs to whoever gave it to you is a reply.

That is why double opt-in works. Someone enters their number, you send "Reply YES to confirm texts from Acme Dental," and they reply. Now you know four things:

  • the number is valid
  • it is mobile, or a VoIP line that takes texts
  • it is active
  • the person holding it agreed to hear from you

We cover the deliverability case for this in single vs double opt-in. Keep your own record of the opt-in: the time, the wording and the page it came from. On Ready, the attestation we capture records who sent, to how many and when. It is not a per-contact consent record, so your form or store has to keep that.

How number validation works on Ready

We make Ready, so here is exactly what it does and what it charges. Nothing below goes beyond what the product actually does.

Validate one number over the API

Platforms can check a number before adding it to a contact record or a campaign. Make a single authenticated request:

GET https://api.tryready.com/v1/validate/+12125550199 with the header X-API-Key: <your key>

Call it at the point of capture, such as a signup form or a CRM import, so bad numbers never reach a list. The fields it returns are listed in the number validation docs. We won't paraphrase them here. If you run AI agents, the MCP server can also check number deliverability as a tool call.

What happens at send time

When you send through POST /v1/messages or POST /v1/messages/bulk, three kinds of numbers are refused up front and not charged: opt-outs, numbers on your Ban list and known landlines. The messages docs show the full request.

On Ready, the landline waste in the worked example above mostly doesn't reach your bill. The cost that remains is the second and third items from the first section: list quality and wrong-person risk.

Pricing, stated plainly

ItemPriceDefault
Sending (Standard)$0.0075/segment + $0.0045 carrier feeAlways on
Landline validation on sends$0.003 extra per segmentOff
Scrubbing on sends$0.003 extra per segmentOff
Number validation API (GET or POST /v1/validate)$0.003 per number checkedPay for what you check
Standalone TCPA & DNC litigator scrub$0.005 per contactPay for what you scrub

The quoted all-in sending rate excludes those compliance surcharges. Switch them on only if they earn their cost.

The honest math is worth running before you do. In the example above, turning on landline validation for all 15,000 segments adds 15,000 × $0.003 = $45. That is more than the $11 in wasted sending it would prevent.

On pure send cost, then, per-segment validation can lose money on a fairly clean list. It pays off on messier sources like old imports, purchased-then-re-consented lists and form fills without a confirmation step. It also earns its keep when compliance matters more than the fraction of a cent.

Scrubbing is a different check

Validation asks whether you can text a number. Scrubbing asks whether you should, by checking it against known TCPA-litigator and DNC-complainer lists. They solve different problems, and confusing them is common. The three lists compliance teams confuse breaks that down.

Lists also decay after you clean them, so re-check on a schedule. How fast each list source rots gives cadences by source. None of these checks makes a sender lawsuit-proof. They reduce risk, and compliance stays the sender's responsibility.

A practical order of operations

For a list you're about to text:

  1. Normalize to E.164 and drop anything that fails the format rules.
  2. Run a line-type check and move landlines to a call or mail list.
  3. Flag numbers with stale consent (old imports) for a re-confirmation text, or for removal.
  4. Scrub against litigator and DNC lists if the list came from anywhere other than your own fresh opt-ins.
  5. Send to confirmed mobile numbers, and let opt-outs propagate automatically.

For new numbers coming in, put steps 1 and 2 at the form, using the validate endpoint, and add a confirmation text. Then you rarely need a cleanup project at all.

The takeaway

A real number is not the same as a reachable one, and a reachable number is not the same as a consenting one. Format checks catch typos, line-type lookups catch landlines, and reachability flags dead numbers. Only a reply proves the person is on the other end.

To try validation on your own list, create an account. To send, you add a card and get a number, which is $2 a month with the first month charged when you get it. Your first 20 one-to-one texts are free, and they end once you pay for registration, so use them to test before you register.

FAQ

Can I check if a phone number is real for free?

Partly. Format checks are free and catch typos and fake numbers like 555-01xx. Free reverse-lookup sites vary widely in accuracy. A confirmation text costs one message and is the most reliable free-ish test, because a reply proves the number is live and the person agreed.

How do I know if a number is a cell phone or a landline?

Run a line-type lookup. The area code tells you nothing, because numbers move between landline and mobile carriers through porting. Line type is the single most useful field for anyone planning to text.

Can a landline receive text messages?

Usually not as a text. Some carriers convert it to a voice call that reads the message aloud, and many simply drop it. Treat landlines as not textable and reach them by phone or mail.

Does a valid number mean I can legally text it?

No. Validation confirms the number works, not that its current owner consented. Reassigned numbers are valid mobiles that belong to someone new. Consent records and scrubbing address that; validation doesn't.

Does Ready charge for texts sent to landlines?

Known landlines are refused at send time and not charged, along with opt-outs and numbers on your Ban list. Landline validation on sends is an optional $0.003 extra per segment and is off by default. Sending itself is $0.0075/segment plus the $0.0045 carrier fee.