Comparison
CheckThatPhone vs Numverify: porting and deliverability in 2 countries, or validation in 232
CheckThatPhone is a Numverify alternative for US and Canadian numbers when you need the current carrier, whether the number was ported and whether it can take a text. Numverify validates numbers in 232 countries against international numbering plans, from $14.99 a month for 5,000 requests. CheckThatPhone covers only the US and Canada, but runs a live carrier dip on every lookup, from $5 a month for 1,000. Neither is cheaper at every volume: 10,000 lookups a month cost $30 on our 10K plan against $59.99 on Numverify Professional, while 250,000 cost $129.99 on Numverify Enterprise against $250 on our 100K plan. Either way, one CheckThatPhone lookup also includes the ported flag and routing number, recent disconnections, a send-or-not verdict for texts, the time zone and location from your visitor's IP in the same call, which a Numverify request doesn't (what each includes).
If you need numbers from outside North America, or the lowest price per request at certain volumes, Numverify is the better fit. If you call or text North American numbers, the porting, deliverability and compliance fields are what CheckThatPhone adds.
As of October 3, 2026, read from Numverify's own pricing and documentation pages. Each Numverify fact links to the page it came from. A few were read later, on October 10, 2026, and are dated where they appear. Prices change, so check the source before you commit budget. CheckThatPhone is our product. How we compare vendors.
At a glance
| CheckThatPhone | Numverify | |
|---|---|---|
| Coverage | US and Canada (NANP) only | 232 countries source |
| Data source | Live carrier dip at lookup time | Requests "processed in real time, cross-checked against the latest international numbering plan databases" source |
| Free plan | 500 lookups a month, hard-capped | 100 requests a month, non-commercial use, no support source |
| Paid plans | $5 a month for 1,000 lookups up to $450 for 500,000 | $14.99 a month for 5,000 requests up to $129.99 for 250,000; custom plans above source |
| Overage | $0.005 down to $0.0009 per lookup | $0.011992 (Basic) down to $0.00207984 (Enterprise) per request source |
| Annual billing | 15% off | Up to 15% off source |
| Fields returned | Carrier, OCN, routing number, ported flag, line type and sub-type, action, deliverability, deactivation date, location and timezone | Valid, local and international format, country, location, carrier, line type (documented response fields) source |
| Ported numbers | dipPorted and dipLrn on every lookup | No porting or routing-number field in the documented response source |
| TCPA litigator scrub | Add-on, +1 credit, refreshed daily | Not listed on its pricing page source |
| State DNC and complainer checks | Free add-on: 38 states plus DC, refreshed weekly (no federal DNC) | Not listed on its pricing page source |
| Text-enabled landlines | Add-on, +1 credit on landlines only | Not listed on its pricing page source |
| List upload | CSV upload in the dashboard, up to 1,000,000 rows, deduplicated | No batch endpoint in its API reference source |
| Request | POST /v1/lookup, JSON body, bearer API key | GET request with access_key and number in the query string source |
Cost at different volumes
Base lookups each month, monthly billing, cheapest plan on each side including overage. Numverify figures use the plan prices and overage rates on its pricing page; its Free plan is left out because it is non-commercial.
| Lookups a month | Numverify | CheckThatPhone |
|---|---|---|
| 5,000 | $14.99 (Basic) | $25 (1K plan) |
| 10,000 | $59.99 (Professional) | $30 (10K plan) |
| 50,000 | $59.99 (Professional) | $100 (100K plan) |
| 100,000 | $129.99 (Enterprise) | $100 (100K plan) |
| 250,000 | $129.99 (Enterprise) | $250 (100K plan) |
Neither is cheaper at every volume: it depends on where your volume falls against each plan's included requests. The bigger difference is what a request includes. Numverify's documented response has no ported flag or routing number, while a live carrier dip returns both, along with the carrier serving the number today.
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, the time zone and location from your visitor's IP in the same call, which a request to Numverify (every plan) doesn't.
| One request includes | CheckThatPhone | Numverifyevery plan |
|---|---|---|
| Current carrier | Included: Yes, live carrier dip | Included: Yes source |
| Mobile, landline or VoIP | Included: Yes, VoIP as IPES | Included: Yes source |
| Ported flag and routing number | Included: Yes | Not included: No source |
| Recently disconnected | Included: Yes, last 45 days | Not included: No 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 | Partly: City, state or county, if available 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.
reference docs read October 10, 2026
CheckThatPhone 18 fields
actionreasondeactivationDateblackListsmsEligiblenanpTypenanpCarrierdipLrndipPorteddipOcndipCarrierdipCarrierTypedipCarrierSubTypegeoCountrygeoStategeoCitygeoMetrotimezone
Numverify 6 fields
validcountry_codecountry_namelocationcarrierline_type
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 | Numverify | |
|---|---|---|
| Minimum commitment | None: a Free plan, or monthly plans from $5 that you can cancel any time from the billing page pricing terms | Monthly plans from $14.99; annual billing up to 15% off source |
| Free tier or trial | 500 lookups a month, hard-capped; card on file, verified with a $0 check and never charged source | 100 requests a month, non-commercial use, no support 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 | $0.011992 (Basic) down to $0.00207984 (Enterprise) per request; email alerts at 75%, 90% and 100% of the allowance source read October 10, 2026 |
| Failed or invalid lookups | Not charged: a failed lookup returns credits_used: 0, and a malformed number returns HTTP 400 pricing docs | Its FAQ: "Accessing any type of numverify API data using a valid API Access Key counts as one API Request" source read October 10, 2026 |
| API access | Every plan, Free included: POST /v1/lookup with a bearer API key, plus CSV upload in the dashboard docs bulk | GET request with access_key and number in the query string source |
| 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 FAQ says uptime "is at around 99.9%", with uptime reports on request source read October 10, 2026 |
| Support | Email (hello@checkthatphone.com) and the contact form source | Standard (email) support on paid plans, none on Free; optional Platinum Support, billed annually source read October 10, 2026 |
| Unused credits | Not published | Not published |
| High volume | The 500K plan keeps working past 500,000 at $0.0009 per lookup; a quote form for higher volume source | Custom plans above the $129.99 plan (250,000 requests) source |
Not published means it isn't stated on the Numverify pages listed under Sources when we read them. It doesn't mean Numverify 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 Numverify if…
- Your numbers are outside the US and Canada. Numverify lists 232 countries; we cover two. source
- You need format and country checks on signup forms, where knowing the number is well-formed is enough and porting or compliance data doesn't matter. source
- Its plans come out lower at your volume in the cost table above. 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, 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. The current carrier, routing number and ported flag come from a live carrier dip. See the carrier lookup API.
- You want a deliverability verdict: a single
actionfield ("send","unsubscribe"or"error") with areason, plusdeactivationDatefor recent carrier deactivations. - 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.
Example request and response
A standard CheckThatPhone lookup:
curl --request POST \
--url 'https://api.checkthatphone.com/v1/lookup' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{"phone": "617-555-0133"}'
An illustrative response (a fictional 555 number; field names and formats match the live API).
The fields with no counterpart in Numverify's documented response are the carrier dip fields
(dipLrn, dipPorted, dipOcn), action,
deliverable and timezone:
{
"success": true,
"credits_used": 1,
"data": {
"subscriber": "6175550133",
"optDate": "2026-10-03T15:31:52.640Z",
"action": "send",
"deliverable": "true",
"reason": "",
"nanpType": "mobile",
"blackList": "false",
"dip": "success",
"dipLrn": "6175550133",
"dipPorted": "false",
"dipOcn": "6010",
"dipCarrier": "AT&T",
"dipCarrierSubType": "WIRELESS",
"dipCarrierType": "mobile",
"geoState": "MA",
"geoCity": "boston",
"geoCountry": "US",
"geoSource": "area-code",
"timezone": "America/New_York",
"tzOffset": 5,
"error": "false"
}
} CheckThatPhone vs Numverify: common questions
Is CheckThatPhone a good Numverify alternative?
For US and Canadian numbers where the current carrier, porting status and deliverability matter, yes. For numbers in other countries, no: CheckThatPhone covers only the US and Canada, while Numverify lists 232 countries.
Is Numverify cheaper than CheckThatPhone?
At some volumes. Numverify lists $14.99 a month for 5,000 requests and $129.99 for 250,000; our plans run from $5 for 1,000 lookups to $450 for 500,000. The cost table on this page shows where each one comes out lower. Per request, a CheckThatPhone lookup also includes the ported flag and routing number, recent disconnections, a send-or-not verdict for texts, the time zone and location from your visitor's IP in the same call.
Does Numverify detect ported numbers?
Numverify's documented response fields cover validity, formats, country, location, carrier and line type, with no porting flag or routing number. CheckThatPhone returns dipPorted and dipLrn from a live carrier dip on every lookup.
What changes in the integration?
Numverify is a GET request with your access key and the number in the query string, returning fields such as valid, carrier and line_type. CheckThatPhone is a POST to https://api.checkthatphone.com/v1/lookup with a JSON body and a bearer API key. Official SDKs: npm install checkthatphone and pip install checkthatphone.
Sources
Numverify pages, with the date we read each one:
- Numverify pricing page (plans, overage and FAQ) (read October 3, 2026 and October 10, 2026)
- Numverify documentation: response fields and request format (read October 3, 2026 and October 10, 2026)
- Numverify API documentation overview (read October 3, 2026)
- Numverify API reference (endpoints) (read October 3, 2026 and October 10, 2026)
- Numverify homepage (read October 3, 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 Twilio Lookup, vs Abstract API, vs Vonage Number Insight and vs Trestle
- Eight vendors side by side: Phone validation API pricing in 2026