Phone validation for affiliate marketers and lead-gen marketplaces
Validate every lead inside the form-submit handler, before you ping a buyer: line type after porting, a carrier deactivation in the last 45 days, our internal blacklist and, with the litigator scrub, known TCPA litigators. The result travels with the ping, and buyers can re-check it on the post.
~1.5%flagged as TCPA litigators when the scrub is on
Where lead sales go wrong
“Buyers reject leads we already paid traffic for.”
About 32% of the numbers we look up are landline or VoIP. If your buyers price by channel, nanpType and dipCarrierSubType belong in the ping.
Source: CheckThatPhone lookup data
nanpTypedipCarrierSubType
“One litigator in a sold lead becomes everyone's problem.”
Each call or text that breaks the TCPA rules on autodialed or prerecorded calls can cost $500 in statutory damages, and up to three times that if the court finds it willful or knowing.
The 11th Circuit vacated the FCC's one-to-one consent rule on January 24, 2025, before it took effect. Prior express written consent is still required for autodialed or prerecorded telemarketing.
optDate timestamps every lookup, and deactivationDate and reason show whether the carrier had deactivated the number. Store the response with the lead for disputes; your contract decides the outcome.
optDatedeactivationDatereason
The ping-post integration shape
The same pattern works for direct affiliate-to-advertiser flows and for ping-post platforms that broker leads between many sources and many buyers.
Step 1
Validate at form submit
The seller's submit handler calls the API with litigatorFilter: true and stores the response on the lead. The visitor sees the thank-you page right away; the lookup runs server-side. A hard reject (deactivated, litigator, blacklisted) never enters the marketplace.
Step 2
Ping buyers with the result
Include nanpType, dipCarrierType, dipCarrierSubType, dipPorted, geoState and optDate in the ping. Buyers' acceptance rules and bids run on that metadata.
Step 3
Buyer re-checks on the post
Buyers call the API themselves on the post and compare it with the seller's claims. A mismatch (seller said mobile, buyer sees VoIP) feeds seller quality scoring. It is one more lookup per accepted lead.
Step 4
Re-score on a schedule
SellDiscount tierDiscard
Re-check recent leads weekly for active sources and monthly for archives. A number that was clean at submit but has since been deactivated or flagged tells the seller the source is going stale, and the buyer not to recontact.
The fields that decide saleability
Which buyer tier a lead fits, and whether it is sellable at all. Absent DNC fields mean the check didn't run (not checked), never clear.
If the response shows
Field
Do this
A hard reject
action = unsubscribereason
Read reason first. A litigator match, "Blacklisted Subscriber" or a carrier deactivation means discard. "Not a valid mobile number" is a landline: still sellable to call buyers.
Known TCPA litigator
litigatorlitigator_typelitigator_name
Discard. Needs litigatorFilter: true (+1 credit per lookup).
On our internal blacklist
blackListreason
Hard reject. blackList is "true" for numbers on our internal blacklist of flagged numbers, and for any litigator match; reason and litigator tell you which.
Active mobile
nanpType = mobiledipCarrierSubType = WIRELESS
Premium tier: SMS and call buyers.
VoIP
dipCarrierSubType = IPES
Discount tier, or a buyer that specifically takes VoIP.
Landline
nanpTypedipCarrierType
Call-center buyers, not SMS buyers, unless the landline SMS check returns smsEligible: "true".
Deactivated by the carrier recently
deactivationDate
Discard: the carrier deactivated it in the last 45 days.
State DNC or complainer match (free)
dncStateResult = STATE DNCdncComplainerResult = DNC COMPLAINER
Pass it to buyers. Whether to call is their consent decision. If dncStateChecked is absent, the state was not checked.
State and time zone
geoStatetimezonegeoSource
For state-licensed buyers and call cadence. From the visitor's IP if you pass one, otherwise the area code; neither proves where the person lives.
Ported
dipPorted
Metadata only: the number moved carriers at some point. There is no port date.
A sellable lead
An active mobile on a wireless carrier, not a litigator, with the litigator scrub on. The visitor's IP was passed, so geoState and timezone come from the IP (geoSource: "ip"); ipResult only says the IP was valid, it doesn't compare locations.
Monthly cost, with the TCPA litigator scrub (+1 credit per number):
Single offer, 5,000 leads/mo: $30/mo on the 10K plan, billed monthly
Growing network, 40,000 leads/mo: $100/mo on the 100K plan, billed monthly
High-volume network, 80,000 leads/mo: $160/mo on the 100K plan, billed monthly
Ping-post buyer, 200,000 posts/mo: $400/mo on the 100K plan, billed monthly
Your monthly cost$100/moon the 100K plan, billed monthly40,000 leads × 2 credits = 80,000 credits. 100K plan: $100 (100,000 included)
Computed from the published plans. State DNC and complainer checks never add credits. For seven-figure monthly volume, use the volume contact form.
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
Our internal blacklist
Known TCPA litigators (+1 credit)
State do-not-call matches in 38 states plus DC, and complainers (free)
A timestamp (optDate) on every lookup
Still your job
Prior express written consent captured on every form, for autodialed or prerecorded telemarketing. The one-to-one consent rule was vacated before it took effect; written consent still applies. · 47 CFR 64.1200(a)(2), 64.1200(f)(9), IMC v. FCC (11th Cir. 2025)
The National Do Not Call Registry, through the FTC, with a copy no more than 31 days old · 47 CFR 64.1200(c)(2)(i)(D)
Opt-outs by any reasonable method, honored within 10 business days · 47 CFR 64.1200(a)(10)
SMS buyers: the wireless industry's messaging guidelines say not to use opt-in lists that have been rented, sold or shared · CTIA Messaging Principles 5.1.4
Duplicate suppression across submissions: we validate the number, not whether you have seen it before
Not legal advice.
Coverage and limits
State DNC: covers 38 states plus DC, refreshed weekly. Numbers in CO, FL, IN, LA, MA, MS, MO, OK, PA, TN, TX and WY aren't checked, and dncStateChecked is left out for them, so "not checked" never reads as clear.
No National Do Not Call Registry check. Registry access for sellers comes from the FTC at telemarketing.donotcall.gov.
No subscriber names or owner details.
deactivationDate: data refreshed daily, with a 1 to 7 day lag, and entries expire after 45 days. It is not a reassigned-number check.
Canadian numbers are validated and carrier-dipped like US numbers, but the state DNC check is US-only and Canada's National DNCL isn't checked.
Lead-gen validation: common questions
Where in the ping-post flow should the lookup happen?
On the seller side, inside the form-submit handler, before you ping any buyer, so the ping carries the validation metadata. On the buyer side, call it again when the post arrives rather than trusting the seller's metadata blindly. Both sides should count the lookup credit in their unit economics.
Will buyers accept leads with our validation metadata attached?
That's between you and your buyers. Attaching the response fields gives a buyer the same fields their own lookup would return, with a timestamp (optDate) and an audit trail if a complaint is filed.
How do we keep this from hurting our conversion rate?
Don't block the form submit on the result: the visitor has already converted. Make the routing decision after submit: ping buyers with the metadata and let their acceptance rules decide. Failed validation goes to your discard bucket or a lower-tier buyer that wants the volume.
Do you flag duplicates across multiple submissions?
No. CheckThatPhone validates the phone number itself; it does not keep a cross-customer duplicate database. Most lead-gen networks layer their own duplicate suppression on top, keyed on the phone number plus a recency window.
Does ipResult tell me whether the IP matches the phone number?
No. ipResult only says whether the IP you passed is valid ("valid-v4" or "valid-v6"). When you pass an IP, geoState, geoCity and timezone come from the IP; without one they come from the area code. One lookup returns one or the other, so it can't compare them.
Does a clean lookup prove consent?
No. A number can pass every check and still be wrong to contact if the consent record is weak. The FCC's one-to-one consent rule never took effect (the 11th Circuit vacated it on January 24, 2025), but prior express written consent still applies. This page is not legal advice.