An unknown number calls your sales line. The caller ID says "WIRELESS CALLER," or a city name, or nothing at all. Your rep has to decide quickly whether to pick up, whether this is an existing customer, and who should own the callback. That moment of guessing is what reverse caller ID lookup is supposed to remove. Most teams expect it to return more than it actually does.
This guide covers where caller identity data comes from, why CNAM (the name on caller ID) is thinner than people assume, and why line type often helps more than the name. It also covers how to turn a lookup into a routing decision. We make Ready, which handles part of this (number validation, scrubbing, inbound calls on the dialer) but not all of it. We'll say which part is which.
What a reverse lookup can actually tell you
A "reverse lookup" is really several different lookups that get bundled under one name. They come from different sources and have different accuracy.
| Data point | Where it comes from | How reliable | What you use it for |
|---|---|---|---|
| Caller name (CNAM) | Carrier-maintained name databases | Patchy, especially for mobile | A hint on the incoming call screen |
| Line type (mobile, landline, VoIP) | Carrier and number-portability data | Generally good | Deciding whether to text or call back |
| Current carrier / ported status | Number portability records | Generally good | Deliverability, fraud signals |
| Your own CRM match | Your contact records | As good as your data | Routing to the right owner |
| Public directory / people-search | Aggregated public records | Variable, often stale | Rarely worth it for business routing |
The pattern is simple. The sources you control (your CRM) and the data carriers have to maintain for calls and texts to work (line type, carrier) are reliable. The caller name is the least reliable item on the list.
CNAM: why the name is often missing
CNAM is the caller-name field on caller ID. It's limited to 15 characters, and the terminating carrier fetches it from a database when your phone rings. It isn't sent by the caller.
Several limits follow from how it works:
- Mobile numbers often have no meaningful name. Many wireless carriers don't publish subscriber names to CNAM databases. You see "WIRELESS CALLER" or a city and state.
- Business names are only as good as the registration. If a company never set its CNAM, or set it years ago, you get a truncated or outdated name.
- Spoofed calls carry fake names. STIR/SHAKEN attestation helps carriers flag calls whose origin wasn't verified, but a missing or low attestation doesn't tell you who's actually calling.
- Paid CNAM dips cost money per lookup. Prices vary by provider. For a sales team taking a few hundred calls a month, the name rarely changes the decision to answer.
Our honest take: treat CNAM as a hint and don't route on it. For inbound sales and support, a CRM match on the phone number does far more work than a name lookup.
Setting your own outbound CNAM
The other side matters too. When your reps call people back, what does your number display? If your outbound caller name is blank, the person you're calling is in the same guessing position you were. Set CNAM on your outbound numbers through your carrier or provider so callbacks show your business name. That one setting tends to help answer rates more than any inbound lookup.
Line type: the lookup that changes what you do next
Knowing whether a number is mobile, landline or VoIP decides your next action:
- Mobile: you can call back or send a follow-up text, if you have permission to text them (more on that below).
- Landline: call back only. A text to a landline either fails or gets converted to a robotic voice call, which looks bad.
- VoIP: it may or may not take texts. Treat it with some caution, and call first if the lead matters.
This is where Ready fits directly. The number validation API checks a number before you text it:
curl https://api.tryready.com/v1/validate/+12125550199 \
-H "X-API-Key: YOUR_KEY" The response fields are documented at docs.tryready.com, so check there instead of hardcoding assumptions.
On the sending side, accounts can switch on landline validation. Texts to known landlines are then refused before they go out. It costs $0.003 extra per segment and is off by default. Opt-outs and numbers on your Ban list are always refused up front and never charged.
For the full vocabulary of number types (10DLC, toll-free, short code), see our 10DLC number lookup explainer.
Screening before you call or text back
Identity is one question. Risk is a separate one.
A small share of inbound "leads" are people who file TCPA complaints professionally. Statutory damages run $500 to $1,500 per text or call, so an unvetted follow-up from an automated system is real exposure.
Ready's standalone TCPA & DNC Litigator Scrub costs $0.005 per contact. It checks a number against known TCPA-litigator lists and DNC-complainer lists and flags matches. You can call it per number:
curl https://api.tryready.com/v1/scrub/+12125550199 \
-H "X-API-Key: YOUR_KEY" This is risk reduction, not immunity. Compliance stays the sender's responsibility.
Consent is the other half. An inbound call about a specific question is a conversation you can answer. It is not, on its own, permission to put that person on your marketing list. Send marketing texts to people who opted in, and keep the opt-in record (time, wording, form URL) in your own CRM or store.
Ready records the sender's attestation on each bulk send and each API send that sets consent_attested: who sent, to how many, and when. It does not store per-contact opt-in proof. (A contact who signs up on a Ready-hosted opt-in page is the exception: Ready stores that sign-up, with the time, IP address and exact wording, and support@tryready.com can send you a copy.)
Routing: turning a lookup into an owner
A practical inbound flow for a small sales or support team looks like this:
- Match on phone number against the CRM. Normalize to E.164 (+1XXXXXXXXXX) first, or you'll miss matches on formatting alone.
- Known contact: send the call to the owner. If it's an open deal, flag it.
- Unknown contact: check line type and run the scrub. Create a new lead record tagged with how they arrived.
- Missed call: put it in a callback list with the line type attached, so the rep knows whether a text is even possible.
- Callback within minutes, not hours. Most of an inbound lead's value decays in the first few minutes, which is why speed matters more than enrichment.
What Ready's dialer does and doesn't do here
The Ready Dialer handles the basic version of this:
- Inbound calls ring the open dial pad in the dashboard or in GoHighLevel.
- A missed call can text the caller back.
- Reps click-to-call back.
- Calls can be recorded with consent and transcribed.
It does not do IVR menus, ACD queue routing, call transfer, barge or whisper, or voicemail drop. If your support team needs "press 2 for billing" and skills-based routing across 30 agents, a contact-center platform is the right tool. We'd rather say that now than have you find out in week two.
A worked example: missed-call recovery costs
The assumptions below are illustrative only. A team misses 60 inbound calls in a month and wants to call every one back, then text the ones it can't reach.
Scrub first.
- 60 × $0.005
- Assume none match; any that do get dropped.
Callbacks on the Ready Dialer at $0.025 per minute, billing only answered time:
- Assume 45 of the 60 answer.
- Assume each answered call averages 4 minutes. Each started minute bills as a full minute, so 4 billed minutes per call.
- 45 × 4 × $0.025 = $4.50
- The 15 that ring out cost nothing.
Follow-up text to the 15 unreached numbers:
- Assume all 15 are mobile and asked to be contacted.
- Assume a single-segment message (under 160 plain characters, no emoji).
- Cost: 15 × $0.0075, plus 15 × $0.0045 in carrier fee.
- Replies bill the same way.
- Add an emoji and the limit drops to 70 characters, which can double or triple the segment count.
Ready's all-in prices per segment include the carrier fee but not screening: Scrub lists and Number validation, the two switches in Settings under Compliance, each add $0.003 per segment when switched on, shown as screening on your bill, and both are off by default. Unless you turn the opt-out footer off, the first text to each contact, and one again from time to time, also gets "Reply STOP to opt out" and your business name if the message does not already have them, so a text close to the segment limit can bill one more segment.
A paid CNAM dip on all 60 would have added cost without changing a single one of those actions.
For the text itself, our posts on following up after no response and sales text message examples have copy that's short enough to stay in one segment. If the callback hits voicemail, note that it counts as answered and bills like a connected call. Make it count with one of these sales voicemail scripts.
Where people-search tools fit (mostly they don't)
Consumer "who called me" sites and people-search databases pull from public records and data brokers. For a business, they have three problems:
- The data is often stale.
- Using it to make decisions about individuals can raise privacy and FCRA questions.
- They rarely tell you anything your CRM and a line-type check don't.
If you find yourself needing them regularly, it usually means your lead capture isn't storing phone numbers cleanly. Fix that at the source instead.
The practical takeaway
For sales and support teams, a "reverse lookup" works best as three cheap checks instead of one expensive name search:
- Match the number against your CRM to route the call to the right owner.
- Check line type to decide between calling and texting.
- Scrub risky numbers before any automated follow-up.
Treat CNAM as a nice-to-have on the incoming screen, and set your own outbound CNAM so your callbacks get answered.
If you want to try the validation and scrub endpoints against your own call log, the API quickstart walks through the key and first request. You can sign up with a card on file. Your first 20 one-to-one texts are free, so test your callback-and-text flow on real numbers before you register a campaign.