Comparison

CheckThatPhone vs Twilio Lookup: US and Canadian carrier lookups at $30 per 10,000, not $80

CheckThatPhone is a Twilio Lookup alternative for teams that only need US and Canadian numbers. 10,000 carrier and line-type lookups a month cost $30 on our 10K plan; at Twilio's $0.008 list price for Line Type Intelligence, the same 10,000 cost $80 (10,000 × $0.008). Twilio Lookup charges per data package, while one CheckThatPhone credit, $0.005 down to $0.0009, returns carrier, line type, porting, deliverability and location together. One lookup also includes the ported flag and routing number, recent disconnections, a send-or-not verdict for texts, state and city, the time zone and location from your visitor's IP in the same call, which a Line Type Intelligence request doesn't (what each includes).

Twilio is the stronger choice for numbers outside North America, for checks we don't offer (reassigned numbers, SIM swap, caller name, identity match), and for pay-as-you-go use with no monthly plan. CheckThatPhone adds TCPA litigator, state DNC and landline-SMS checks, which Twilio's Lookup pricing page doesn't list.

As of October 3, 2026, read from Twilio's own pricing page and documentation. Each Twilio fact links to the page it came from. A few were read later, on October 10, 2026, and are dated where they appear. Twilio's pricing page says its prices are current as of August 2026. Prices change, so check the source before you commit budget. CheckThatPhone is our product. How we compare vendors.

At a glance

 CheckThatPhoneTwilio Lookup
Coverage US and Canada (NANP) only Line Type Intelligence worldwide; Canadian numbers need special approval source
Free usage 500 full lookups a month, hard-capped Formatting and validation free on every request source
Pricing model Monthly plans from $5 (1,000 lookups) to $450 (500,000); overage $0.005 down to $0.0009 per lookup Pay per request, per data package, no monthly commitment source
Carrier and line type Included in every lookup (1 credit) Line Type Intelligence, $0.008 per request source
Line type detail Mobile or landline, plus carrier sub-type (IPES = VoIP) Mobile, landline, fixed VoIP, non-fixed VoIP, toll free, premium and more source
Routing number (LRN) and ported flag dipLrn and dipPorted on every lookup Not among the Line Type Intelligence response fields source
Reachability action, deliverable, deactivationDate, included Line Status, $0.007 per request up to 100,000, down to $0.00385 above 10M; public beta pricing docs
Reassigned numbers Not offered Reassigned Number, $0.02 down to $0.0015 per request, US only pricing docs
Caller name, SIM swap, identity match Not offered Caller name $0.01 (US only), identity match $0.10 (varies by country), SIM swap via sales source
TCPA litigator scrub Add-on, +1 credit, refreshed daily Not listed on the Lookup pricing page source
State DNC and complainer checks Free add-on: 38 states plus DC, refreshed weekly (no federal DNC) Not listed on the Lookup pricing page source
Text-enabled landlines Add-on, +1 credit on landlines only Not listed on the Lookup pricing page source
List upload CSV upload in the dashboard, up to 1,000,000 rows, deduplicated Lookup Bulk (file upload) in private beta since October 2025 source
Request POST /v1/lookup, JSON body, bearer API key GET /v2/PhoneNumbers/{PhoneNumber} with a Fields parameter, HTTP Basic auth source

Cost of carrier and line type at volume

Like for like: carrier and line type for US numbers each month, monthly billing. Twilio column is Line Type Intelligence at its $0.008 list price per request (Twilio pricing; enterprise accounts can negotiate committed-use discounts with Twilio Sales); CheckThatPhone column is our cheapest plan for that volume, including any overage.

Lookups a monthTwilio Line Type IntelligenceCheckThatPhone
1,000 $8 $5 (1K plan)
10,000 $80 $30 (10K plan)
100,000 $800 $100 (100K plan)
500,000 $4,000 $450 (500K plan)

Two caveats. Twilio's formatting check is free at any volume, so for format validation alone Twilio costs less. And Twilio's Line Status package ($0.007 per request for the first 100,000) is a separate reachability signal; our base lookup includes action, deliverable and deactivationDate, which are not the same check, so compare them on your own numbers.

What one request includes

A lower price per request only compares like with like when the requests return the same data. One CheckThatPhone lookup also includes the ported flag and routing number, recent disconnections, a send-or-not verdict for texts, state and city, the time zone and location from your visitor's IP in the same call, which a request to Twilio Lookup (Line Type Intelligence) doesn't.

One request includes CheckThatPhone Twilio LookupLine Type Intelligence
Current carrier Included: Yes, live carrier dip Included: Yes source
Mobile, landline or VoIP Included: Yes, VoIP as IPES Included: Yes, fixed and non-fixed VoIP source
Ported flag and routing number Included: Yes Not included: No source
Recently disconnected Included: Yes, last 45 days Costs extra: Line Status package, from $0.007 source
Can it take a text Included: Yes: action and reason Not included: No source
State and city Included: Yes, from the area code or the IP Not included: Country only source
Time zone Included: Yes Not included: No source
IP geolocation in the same call Included: Yes: pass ip Not included: No source

included included with a limit a separately priced package or API not in the documented request or response

Every documented field, by name

The response fields that describe the number, from each side's own reference. Not listed: copies of the number you sent, format variants, ids, status, error and price fields; on our side also deliverable, doNotSms and tzOffset, which restate other fields. Caller name, line status, SIM swap and the other data packages are priced separately. line type docs docs read October 10, 2026

CheckThatPhone 18 fields

  • action
  • reason
  • deactivationDate
  • blackList
  • smsEligible
  • nanpType
  • nanpCarrier
  • dipLrn
  • dipPorted
  • dipOcn
  • dipCarrier
  • dipCarrierType
  • dipCarrierSubType
  • geoCountry
  • geoState
  • geoCity
  • geoMetro
  • timezone

Twilio Lookup 6 fields

  • valid
  • country_code
  • line_type_intelligence.carrier_name
  • line_type_intelligence.type
  • line_type_intelligence.mobile_country_code
  • line_type_intelligence.mobile_network_code

Operational terms

Commitments, limits and support, from each side's own published pages. Where a page doesn't state a term, the table says so.

 CheckThatPhoneTwilio Lookup
Minimum commitment None: a Free plan, or monthly plans from $5 that you can cancel any time from the billing page pricing terms None: pay per request, per data package source
Free tier or trial 500 lookups a month, hard-capped; card on file, verified with a $0 check and never charged source Formatting and validation free on every request source
Past the plan allowance $0.005 down to $0.0009 per lookup on paid plans, on the next invoice; the Free plan stops at 500 source No plan allowance: each request is billed at its data package price source
Failed or invalid lookups Not charged: a failed lookup returns credits_used: 0, and a malformed number returns HTTP 400 pricing docs Not published
API access Every plan, Free included: POST /v1/lookup with a bearer API key, plus CSV upload in the dashboard docs bulk GET /v2/PhoneNumbers/{PhoneNumber} with a Fields parameter, HTTP Basic auth; Line Type Intelligence is self-serve, but Canadian numbers need special approval docs line type docs
Rate limit Not a fixed published number: each account's limit grows with its billing history source Not published
Uptime SLA No contractual uptime SLA in our standard terms; enterprise agreements on request source Its published "Twilio APIs Service Level Agreement" covers APIs branded as Twilio source read October 10, 2026
Support Email (hello@checkthatphone.com) and the contact form source A free Developer plan with web support on every account; paid plans from the greater of $250 or 4% of monthly spend source read October 10, 2026
Unused credits Not published No plan allowance to expire: pay per request source
High volume The 500K plan keeps working past 500,000 at $0.0009 per lookup; a quote form for higher volume source Committed-use discounts for enterprise accounts through Twilio Sales source

Not published means it isn't stated on the Twilio pages listed under Sources when we read them. It doesn't mean Twilio doesn't offer it. Our column follows the same rule, using only our own pricing, docs, terms and contact pages.

Which one to choose

Choose Twilio Lookup if…

  • Your numbers are outside the US and Canada. We don't cover them. source
  • You need checks we don't offer: reassigned numbers (US), SIM swap, call forwarding (UK carriers), caller name and identity match. pricing docs
  • You only need format validation. Twilio's is free. source
  • You need finer line types: fixed vs non-fixed VoIP, toll free, premium and others. source
  • Your volume is low or irregular and you want no monthly plan, or your stack already runs on Twilio. source

Choose CheckThatPhone if…

  • You want more in one call: the ported flag and routing number, recent disconnections, a send-or-not verdict for texts, state and city, the time zone and location from your visitor's IP in the same call come with every lookup (compare).
  • You call or text US and Canadian numbers and want the current carrier, porting status, line type, deliverability and location for one credit. See the carrier lookup API and line type lookup API.
  • You want compliance screening in the same call: the TCPA litigator scrub (+1 credit) and the free state DNC and complainer checks.
  • You text landlines. About 7% of landlines we check are SMS-capable, and the landline SMS lookup finds them.
  • You clean lists: CSV upload up to 1,000,000 rows, each unique number billed once.
  • You have Canadian numbers: every plan covers them, with no separate approval step.

Example request and response

A CheckThatPhone lookup with the TCPA litigator scrub switched on:

curl --request POST \
  --url 'https://api.checkthatphone.com/v1/lookup' \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{"phone": "+1 312 555 0142", "litigatorFilter": true}'

An illustrative response (a fictional 555 number; field names and formats match the live API):

{
  "success": true,
  "credits_used": 2,
  "data": {
    "subscriber": "3125550142",
    "optDate": "2026-10-03T15:20:05.114Z",
    "action": "send",
    "deliverable": "true",
    "reason": "",
    "nanpType": "mobile",
    "blackList": "false",
    "dip": "success",
    "dipLrn": "3125550199",
    "dipPorted": "true",
    "dipOcn": "6010",
    "dipCarrier": "AT&T",
    "dipCarrierSubType": "WIRELESS",
    "dipCarrierType": "mobile",
    "litigator": "false",
    "geoState": "IL",
    "geoCity": "chicago",
    "geoCountry": "US",
    "geoSource": "area-code",
    "timezone": "America/Chicago",
    "tzOffset": 6,
    "error": "false"
  }
}

The carrier name Twilio returns as carrier_name under line_type_intelligence is dipCarrier here, and its line type maps to nanpType, dipCarrierType and dipCarrierSubType. Every field is documented in the API reference.

CheckThatPhone vs Twilio Lookup: common questions

Is CheckThatPhone a good Twilio Lookup alternative?

For US and Canadian numbers, yes, if you want carrier, line type, porting and deliverability in one call, plus optional TCPA litigator, state DNC and landline-SMS checks. If you need other countries, reassigned-number checks or SIM swap, Twilio Lookup is the better fit; nothing stops you using both.

Is CheckThatPhone cheaper than Twilio Lookup?

For carrier and line type at volume, yes: 10,000 lookups cost $30 on our 10K plan, against $80 for 10,000 Line Type Intelligence requests at the $0.008 on Twilio's pricing page. Twilio's format validation is free, so if format checks are all you need, Twilio costs less.

What changes in the integration?

Twilio Lookup v2 is a GET to /v2/PhoneNumbers/{PhoneNumber} with a Fields parameter and HTTP Basic auth. CheckThatPhone is a POST to https://api.checkthatphone.com/v1/lookup with a JSON body and a bearer API key, and returns flat fields such as dipCarrier and nanpType, with booleans as strings ("true" / "false"). Official SDKs: npm install checkthatphone and pip install checkthatphone.

Does CheckThatPhone detect reassigned numbers like Twilio?

No. Twilio's Reassigned Number package (US only) is built for that. Our deactivationDate shows a recent carrier deactivation, but it is not a reassignment signal.

Sources

Twilio pages, with the date we read each one:

CheckThatPhone figures come from our pricing page, API documentation and terms of service.

Related

Try it on your list

Free tier: 500 lookups per month, hard-capped. Paid plans start at $5/month.