Features

Phone validation API features: six signals, one call

Validation, live carrier dip, geoIP, TCPA litigator scrub, landline-SMS reachability, and a free state-DNC & complainers scrub. Six signals, one call. Below: what each one returns.

TCPA litigator scrub

Don't text a plaintiff.

Optional, +1 credit

One serial plaintiff on a list can turn a single text into a $500 to $1,500 statutory claim, and a class action from there. We screen every number against industry-leading litigation-data systems (the same caliber of data the largest TCPA-compliance platforms rely on) built from federal and state court records, demand-letter activity, and known professional-filer numbers, and refreshed daily. Flag them before you send.

Every match is auditable: litigator_type and litigator_name come back for your records.

See the TCPA litigator scrub use case →
"action": "unsubscribe",
"litigator": "true",
"litigator_type": "litigator",
"litigator_name": "Jane Example"

Carrier DIP

The current carrier, not last quarter's.

Every paid call runs a live carrier dip, not a cached table, not a quarterly OCN snapshot. Returns the current carrier, the OCN, the LRN after porting, and a dipPorted flag.

Same call. Same credit. Included on every paid lookup.

Carrier lookup API →
"dipCarrier": "AT&T",
"dipCarrierType": "mobile",
"dipCarrierSubType": "WIRELESS",
"dipOcn": "6010",
"dipLrn": "8182925409",
"dipPorted": "false"

Phone validation

Validity, line type, and what to do next.

The base layer of every response. Structural correctness, line type, deliverability state, and a single action field your code branches on. Three values: send, unsubscribe, error. Blacklist and litigator hits surface as unsubscribe with blackList: "true".

Branching on action alone is enough for most outbound suppression flows.

Line type lookup API →
"action": "send",
"deliverable": "true",
"nanpType": "mobile",
"subscriber": "8182925409",
"optDate": "2026-05-23T21:56:26.108Z"

GeoIP location

Where the number actually is.

State, city, metro, timezone, and IANA tz on every paid call. Pass an ip on the request and we add the caller's IP-derived location. Useful for catching out-of-state leads and VPN signups.

Always included. Never billed as an add-on.

See the sales lead routing use case →
"geoState": "UT",
"geoCity": "Salt Lake City",
"geoMetro": 770,
"timezone": "America/Denver",
"tzOffset": 7,
"ipResult": "valid-v4"

Landline-SMS reachability

Some landlines can text. Find out which.

Optional, +1 credit on landlines

About 7% of the landlines we check are SMS-capable. Set landlineSmsLookup: true and we return five dipMessaging fields when the landline is SMS-reachable. Mobile lookups skip the check automatically.

The voice carrier and the messaging carrier are different fields. You pay only when the lookup applies.

Landline SMS lookup →
"dipCarrierType": "landline",
"dipMessagingLookup": "true",
"dipMessagingEnabled": "true",
"dipMessagingProvider": "Bandwidth",
"dipMessagingCountryCode": "US"

State DNC & complainers

On a do-not-call list? Know before you dial.

Optional, free

Set dncState: true and dncComplainer: true and every number gets a state do-not-call check and is screened against our national list of roughly 700,000 numbers belonging to people who have lodged complaints against telemarketers. The state check covers 38 states plus DC, refreshed weekly. For the 12 states it doesn't cover (Florida, Texas, and ten others), the state check reports that it didn't run, so "not checked" never reads as clear.

Free on every plan. Does not cover the federal DNC registry — scrub that separately.

See the state DNC scrub use case →
"dncStateChecked": "true",
"dncStateResult": "STATE DNC",
"dncComplainerChecked": "true",
"dncComplainerResult": ""

Two ways to call

Got a list? Skip the SDK.

Live API

One call per number. Real-time response. Best for new-lead arrival, signup forms, and any workflow where the answer informs the very next action.

CSV upload

Drag a file from your dashboard. We deduplicate, look up every unique number, and hand back a results CSV with every field per row. No SDK or batching code.

Up to 1M rows / 50MB per file. Phone numbers are never stored; the upload and the result file are hard-deleted within 24 hours.

Honest limits

What we don't do.

Try it on a number you care about.

500 free lookups a month. Key in seconds. No surprise bills.

Get my API key