Phone validation that scrubs TCPA litigators before you press send.

Real-time carrier DIP, line type, portability, deliverability, and geolocation in one POST. Optional TCPA litigator filter and landline SMS reachability — two add-ons no marketplace API gives you.

Starting at $0.001 per call — Free tier: 500 lookups/month, no credit card

Test a phone number

Enter a US or Canada phone number — limited free lookups per visitor

What no other phone API does

Compliance add-on

Don't text a serial plaintiff

Enable litigatorFilter on any lookup and we check the number against our TCPA litigator database. We return litigator, litigator_type, and litigator_name so you can route the contact out of your campaign automatically — before legal does it for you.

{
  "phone": "8016667777",
  "litigatorFilter": true
}
Reachability add-on

Yes, some landlines can text

A growing slice of landlines are SMS-enabled through providers like Bandwidth, Google Voice, and Twilio. Set landlineSmsLookup: true and we check messaging eligibility per number — mobile numbers are skipped, so you only pay the extra credit when the lookup actually applies.

{
  "phone": "8016667777",
  "landlineSmsLookup": true
}

Everything you need in one API call

Line Type

Know if a number is mobile, landline, or VoIP. Filter invalid numbers before contact attempts.

Carrier DIP

Direct carrier lookup returns the operating carrier name and OCN identifier code.

Portability

Up-to-date number portability status. Know if a number has been ported to another carrier.

Deliverability

Determine instantly whether a phone number is reachable and can receive calls or SMS.

Geolocation

City, country, and metro area data based on the area code. Precise timezone information.

GeoIP

Provide an IP with your request and get precise timezone and location data for the phone owner.

Routing

Local Routing Number (LRN) — the most accurate data used for call and SMS routing.

Blacklist

Check against our internal platform blacklist for flagged numbers. An extra signal for your filtering logic.

TCPA Litigator Scrub

Optional add-on. Check every number against our TCPA litigator database — returns three dedicated litigator fields. +1 credit per lookup.

Landline SMS Lookup

Optional add-on. Detect SMS-eligible landlines via their messaging provider. Mobile numbers skipped — pay only when applied.

What you get back

POST /v1/lookup · standard call
{
  "success": true,
  "credits_used": 1,
  "data": {
    "subscriber": "8182925409",
    "optDate": "2026-05-21T18:55:56.532Z",
    "action": "send",
    "deliverable": "true",
    "reason": "",
    "nanpType": "mobile",
    "nanpCarrier": "verizon",
    "blackList": "false",
    "ipResult": "valid-v4",
    "dip": "success",
    "dipLrn": "8182925409",
    "dipPorted": "false",
    "dipOcn": "6010",
    "dipCarrier": "AT&T",
    "dipCarrierSubType": "WIRELESS",
    "dipCarrierType": "mobile",
    "geoCountry": "US",
    "geoState": "CA",
    "geoCity": "Riverside",
    "geoMetro": 803,
    "geoSource": "ip",
    "timezone": "America/Los_Angeles",
    "tzOffset": 8
  }
}
POST /v1/lookup · with both add-ons enabled
{
  "success": true,
  "credits_used": 3,
  "data": {
    "subscriber": "2627834719",
    "optDate": "2026-05-22T14:30:29.735Z",
    "action": "unsubscribe",
    "deliverable": "false",
    "reason": "Associated with TCPA Litigator DO NOT CONTACT",
    "nanpType": "mobile",
    "blackList": "true",
    "dip": "success",
    "dipLrn": "2627834719",
    "dipPorted": "false",
    "dipOcn": "9327",
    "dipCarrier": "AT&T Wisconsin",
    "dipCarrierSubType": "RBOC",
    "dipCarrierType": "landline",
    "dipMessagingLookup": "false",
    "dipMessagingEnabled": "false",
    "litigator": "true",
    "litigator_type": "litigator",
    "litigator_name": "Jean Zoulek",
    "geoCountry": "US",
    "geoState": "WI",
    "geoCity": "kenosha",
    "geoSource": "area-code",
    "timezone": "America/Chicago",
    "tzOffset": 6
  }
}

Envelope

success, credits_used, and data. The X-Credits-Used response header mirrors the count.

Carrier DIP

Authoritative carrier name and type, OCN, LRN, and porting status — sourced directly from carrier records.

Deliverability

action, deliverable, reason, nanpType, deactivation, age, and blacklist signals in one place.

Geo & Timezone

Country, state, city, metro, timezone, and UTC offset — resolved from the supplied IP or the area code.

Litigator Filter +1 credit

Set litigatorFilter: true and you get three TCPA litigator fields plus an action of unsubscribe on a match.

Landline SMS Lookup +1 credit

Set landlineSmsLookup: true and we add five dipMessaging* fields for landlines that can actually receive SMS.

Built for developers who value accuracy

All-in-One

One API call returns carrier, line type, portability, geo, and routing data. No need for multiple providers.

Real-Time Data

Sourced directly from carrier records and the Mobile Switching Center. Not cached, not stale.

Best Rates

From $0.001 per call on metered plans, even less on custom plans. Free tier available.

Privacy First

We don't store your data. It is deleted right after your request is processed. Zero retention.

Common questions

Is the API TCPA-compliant?

We don't make a TCPA determination for you, but we ship the litigatorFilter add-on so you can scrub against our internal litigator database before contact. Our carrier data and action recommendations are advisory; final outreach decisions belong to you and your consent records.

How fresh is the carrier data?

Real-time carrier DIP on every lookup, unless the same number was queried in the last 24 hours — in which case we serve a cached result and no credit is charged. The upstream feed is sourced directly from carrier records, not a stale scrape.

What happens when I exceed my plan's included credits?

Paid plans (1K, 10K, 100K, and Pay As You Go) have no hard limit — overage is billed at the per-credit rate shown on the pricing page. The Free plan is hard-capped at 500 lookups per month for abuse prevention.

What does the response actually look like?

A { success, credits_used, data } envelope. Inside data you get up to 25+ fields covering carrier DIP, line type, deliverability, geolocation, and — when their flags are enabled — litigator and landline-messaging fields. The full reference lives in the docs.

Can I cancel anytime?

Yes, from your dashboard. Paid access continues to the end of the current billing period; we do not refund the unused portion. The Free plan can be deleted immediately.

Do you have a free tier?

500 lookups per month, hard-capped, no credit card required. Sign up and your API key is issued in seconds.

From the blog

Ready to validate?

Start validating phone numbers in minutes. Free tier — 500 lookups per month, no credit card required.