For sales ops and SDR teams

Sales lead validation and channel routing

Route every lead the moment it arrives. One lookup returns the line type after porting, whether a carrier deactivated the number recently, and the time zone, so mobiles get a text-first cadence, landlines get a call, and dead numbers never reach a rep.

  • US and Canadian numbers
  • From $0.0009 per lookup
  • State DNC checks free
Lead routing rules
If the lookup says Do this
Mobile, active Text first
Landline Call first
VoIP (sub-type IPES) Call-back queue
Deactivated in the last 45 days Drop
Known TCPA litigator (+1 credit) Suppress
Outside the rep's shift Route by time zone

Built from fields in the lookup response. The litigator check costs 1 extra credit.

  • 1B+ requests served by our validation network
  • ~32% of numbers we look up are landline or VoIP
  • ~7% of landlines we check can take a text

Where lead routing wastes rep time

Lead validation isn't a fraud problem. It's a routing problem: given what the lookup just returned, which channel, which rep and which urgency tier should this lead get?

“Reps keep texting landlines.”

About 32% of the numbers we look up are landline or VoIP, and most landlines can't take a text. nanpType and dipCarrierType give you the channel before the lead is assigned.

Source: CheckThatPhone lookup data

nanpTypedipCarrierType

“A rep spent the morning dialing dead numbers.”

deactivationDate flags a carrier deactivation in the last 45 days, and reason carries the carrier id and date. Drop those before assignment.

deactivationDatereason

“A 9 a.m. Eastern lead went to a Pacific rep at 6 a.m.”

Round-robin within a time zone, not across it. timezone comes from the lead's IP when you pass one, otherwise from the area code.

timezonetzOffsetgeoSource

“Which of these leads are VoIP?”

dipCarrierSubType "IPES" marks an IP-enabled (VoIP) line, from a live carrier dip. It can still be a real business line, so treat it as a routing input, not a reject.

dipCarrierSubType = IPES

How to wire it up

The same routing works for real estate ISAs, insurance agencies, lead sellers and call centers.

  1. Step 1

    Validate at arrival

    Every inbound lead (form submit, demo request, ad-platform lead) reaches your lead-routing service. Call the API there, attach the fields to the lead record and route in one pass. Speed-to-lead is the game, so don't wait for a nightly job.

  2. Step 2

    Score into a tier

    Fast laneNormalCall-back queueDead

    Fast lane: an active mobile, clean, with a rep on shift in that time zone. Normal: anything else reachable. Call-back queue: landlines and VoIP. Dead: deactivated or flagged, no rep contact. Tune the tiers from your own conversion data.

  3. Step 3

    Batch-check outbound lists

    For purchased or exported lists, upload the CSV before it reaches the dialer: drop deactivated numbers and litigators, tag landlines so the cadence is right, and split by time zone so each rep gets a list for their working hours.

Routing rules, field by field

If the response showsFieldDo this
Mobile, active nanpType = mobileaction = send Text-first cadence, then call. Queue normally.
Landline nanpTypedipCarrierType Call first. Ignore action: "unsubscribe", which only says it can't take a text. The landline SMS check (+1 credit) finds the ones that can.
VoIP dipCarrierSubType = IPES Call-back queue or email first, per your playbook.
Deactivated by the carrier recently deactivationDatereason Drop before assignment. Re-check if the lead submits again.
Blacklisted, or a known TCPA litigator blackListlitigator Keep it out of the rep queue. litigator needs litigatorFilter: true (+1 credit).
Time zone timezonetzOffsetgeoSource Assign to a rep on shift in that zone. From the IP if you pass one, otherwise the area code.
Carrier and porting dipCarrierdipPorted Attach to the lead record for reporting.

A mobile lead, routed

A demo request submitted with the visitor's IP. It is an active mobile on a wireless carrier, so it goes text-first, to a rep on Mountain time: with an ip passed, location and time zone come from the IP (geoSource: "ip"), not the area code. ipResult only says the IP was valid.

1 credit, no add-ons

Highlighted fields: action, nanpType, dipCarrierType, timezone, geoSource.

{
  "success": true,
  "credits_used": 1,
  "data": {
    "subscriber": "8185550142",
    "optDate": "2026-10-08T21:56:26.108Z",
    "action": "send",
    "deliverable": "true",
    "nanpType": "mobile",
    "blackList": "false",
    "ipResult": "valid-v4",
    "dip": "success",
    "dipLrn": "8185550142",
    "dipPorted": "false",
    "dipOcn": "6010",
    "dipCarrierSubType": "WIRELESS",
    "dipCarrier": "AT&T",
    "dipCarrierType": "mobile",
    "geoState": "UT",
    "geoCity": "Salt Lake City",
    "geoCountry": "US",
    "geoMetro": 770,
    "timezone": "America/Denver",
    "tzOffset": 7,
    "geoSource": "ip",
    "error": "false",
    "smsEligible": "true"
  }
}

What it costs at your lead volume

Monthly cost, without the TCPA litigator scrub:

  • Early-stage, 500 leads/mo: $0/mo on the Free plan
  • Inbound team, 5,000 leads/mo: $25/mo on the 1K plan, billed monthly
  • Inbound + outbound, 20,000 leads/mo: $60/mo on the 10K plan, billed monthly
Your monthly cost $25/mo on the 1K plan, billed monthly 5,000 leads × 1 credit = 5,000 credits. 1K plan: $5 + 4,000 × $0.005 = $25

Routing needs no add-ons: one credit per lead. Computed from the published plans. Above 500,000 leads a month, contact us about volume.

What the lookup covers, and what's still on you

The lookup gives you

  • Mobile, landline or VoIP from a live carrier dip, after porting
  • Carrier deactivations in the last 45 days
  • The time zone of the lead's IP, or of the area code
  • Known TCPA litigators (+1 credit)
  • Which landlines can take a text (+1 credit per landline)

Still your job

  • Consent for autodialed or prerecorded calls to cell phones · 47 CFR 64.1200(a)(1)(iii)
  • Calling hours for telephone solicitations: 8 a.m. to 9 p.m., local time at the called party's location · 47 CFR 64.1200(c)(1)
  • Your own do-not-call list, honored within 10 business days · 47 CFR 64.1200(d)(3)
  • Fit and intent: a reachable mobile tells you the channel is live, not that the person matches your ICP or is in-market

Not legal advice.

Coverage and limits

  • No subscriber names, company or owner details: this is not enrichment.
  • deactivationDate: data refreshed daily, with a 1 to 7 day lag, and entries expire after 45 days. It is not a reassigned-number check.
  • Location and time zone come from the IP when you pass one, otherwise from the area code, which is where the number was issued, not necessarily where the lead is.
  • US and Canadian numbers.

Sales lead validation: common questions

How do we use this to decide between SMS and a phone call?

Branch on nanpType and dipCarrierType. A mobile can take a text, so text-first works. A landline usually can't, so call it, unless the landline SMS check returns smsEligible: "true". VoIP shows up as dipCarrierSubType "IPES".

Is there a way to skip dead leads before they hit our SDR queue?

Yes. Drop leads with a deactivationDate, with blackList: "true", or, with the litigator scrub on, with litigator: "true". Don't gate on deliverable alone if your reps call: it is "false" for every landline, because it is a verdict for text lists.

Can we use this on inbound demo-request leads or only outbound lists?

Both. For inbound, call it when the form is submitted, before round-robin assignment: you only get one shot at a demo request. For outbound, upload the list as a CSV before it reaches the dialer.

Is this lead enrichment?

No. Phone validation isn't a substitute for firmographic enrichment or intent data: a reachable mobile tells you the channel is live, not that the person matches your ICP. Run the cheap check first, then spend on enrichment.

Which time zone does it use?

If you pass the lead's IP, timezone comes from the IP; otherwise it is the area code's zone, which is where the number was issued, not necessarily where the lead lives now.

Route your next lead by channel

500 free lookups a month. One credit per lead, no add-ons needed.