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
| CheckThatPhone | Twilio 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 month | Twilio Line Type Intelligence | CheckThatPhone |
|---|---|---|
| 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
actionreasondeactivationDateblackListsmsEligiblenanpTypenanpCarrierdipLrndipPorteddipOcndipCarrierdipCarrierTypedipCarrierSubTypegeoCountrygeoStategeoCitygeoMetrotimezone
Twilio Lookup 6 fields
validcountry_codeline_type_intelligence.carrier_nameline_type_intelligence.typeline_type_intelligence.mobile_country_codeline_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.
| CheckThatPhone | Twilio 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:
- Twilio Lookup API pricing (read October 3, 2026 and October 10, 2026)
- Twilio Lookup v2 API documentation (read October 3, 2026 and October 10, 2026)
- Twilio Line Type Intelligence documentation (read October 3, 2026 and October 10, 2026)
- Twilio changelog: Lookup Bulk private beta (October 1, 2025) (read October 3, 2026)
- Twilio support plans (read October 10, 2026)
- Twilio service level agreements (read October 10, 2026)
CheckThatPhone figures come from our pricing page, API documentation and terms of service.
Related
- All comparisons and the cost at different volumes: CheckThatPhone compared
- Other options: vs Abstract API, vs Numverify, vs Vonage Number Insight and vs Trestle
- Eight vendors side by side: Phone validation API pricing in 2026