“We found out two months later that the number was dead.”
deactivationDate shows a carrier deactivation in the last 45 days, from data refreshed daily with a 1 to 7 day lag, and it clears once the number is reactivated.
deactivationDatereason In every lookup, no add-ons
Run every number in your CRM through the lookup on a schedule and update each record from the fields that change: a carrier deactivation in the last 45 days, the carrier serving the number now after porting, and whether it is mobile, landline or VoIP. One credit per number, no add-ons.
| Number | The lookup says | Do this |
|---|---|---|
| (415) 555-0102 | Deactivated by the carrier Oct 2 | Suspend |
| (617) 555-0148 | New carrier since the last scrub | Update record |
| (312) 555-0176 | Landline, can't take texts | Call only |
| (206) 555-0193 | Was deactivated, active again | Re-verify |
| (713) 555-0121 | Mobile, nothing changed | Keep |
Fictional 555 numbers.
deactivationDate shows a carrier deactivation in the last 45 days, from data refreshed daily with a 1 to 7 day lag, and it clears once the number is reactivated.
deactivationDatereason The wireless industry's messaging guidelines say senders should process deactivation files regularly, for example daily, and remove deactivated numbers from opt-in lists.
CTIA Messaging Principles 5.1.5 · api.ctia.org
deactivationDateaction Carriers reassign disconnected numbers. The FCC's reassigned-number safe harbor only covers its Reassigned Numbers Database; no single lookup can tell you who holds a number now.
47 CFR 64.1200(m) · ecfr.gov
deactivationDate About 32% of the numbers we look up are landline or VoIP. nanpType and dipCarrierType tell you which channel each record supports.
Source: CheckThatPhone lookup data
nanpTypedipCarrierTypedipCarrierSubType Teams that keep lists this way: call centers, collection agencies, SMS marketers, real estate teams and insurance agencies.
Upload the CSV from the dashboard. We deduplicate, look up every unique number and hand back your original columns with the same fields as the live API, up to 1,000,000 rows. Useful for one-off scrubs, list QA and pre-import audits.
A scheduled job (cron, dbt, Airflow, whatever owns your pipeline) pulls every number not verified in the last 90 days, calls the API on each and updates the record. A deactivation is only visible for 45 days, so lists that drive texts or calls are worth a monthly pass.
Opportunity created, deal won, list added to a campaign: a lookup before the record moves keeps a stale number out of the campaign tool.
One lookup per number; hygiene needs no add-ons.
| If the response shows | Field | Do this |
|---|---|---|
| Deactivated by the carrier | deactivationDatereason | Suspend the contact and store the date. reason reads "Number deactivated by carrier id <N> on <date>". |
| Was deactivated on an earlier scrub, active now | deactivationDate | Possibly a new subscriber: mark it reachable but unverified and re-confirm before outreach. For a definitive answer, the FCC Reassigned Numbers Database is the authoritative source. |
| Moved to a new carrier | dipCarrierdipOcndipPorted | Update the carrier fields. A port does not make the contact wrong, but your SMS routing assumptions may need updating. |
| Landline or VoIP | nanpTypedipCarrierTypedipCarrierSubType = IPES | Mark it call-only, or run the landline SMS check. It comes back "unsubscribe" with reason "Not a valid mobile number", which only means it cannot take a text. |
| On our internal blacklist | blackListreason | Flag it and keep it out of outreach; reason says "Blacklisted Subscriber". |
| The SMS verdict | actiondeliverable | deliverable always agrees with action. Break the "unsubscribe" results down by reason in your data-quality dashboard to see decay by cause. |
The carrier deactivated this number on October 2. reason carries the carrier id and date, and deactivationDate stays set until the number is reactivated or 45 days pass. Suspend the contact and store the date: it is your evidence if the number later comes back active.
Highlighted fields: action, reason, deactivationDate, dipCarrier.
{
"success": true,
"credits_used": 1,
"data": {
"subscriber": "4155550102",
"optDate": "2026-10-08T16:20:45.512Z",
"action": "unsubscribe",
"deliverable": "false",
"reason": "Number deactivated by carrier id 6529 on 2026-10-02",
"deactivationDate": "2026-10-02",
"nanpType": "mobile",
"blackList": "false",
"dip": "success",
"dipLrn": "4155550102",
"dipPorted": "false",
"dipOcn": "6529",
"dipCarrierSubType": "PCS",
"dipCarrier": "T-Mobile",
"dipCarrierType": "mobile",
"geoState": "CA",
"geoCity": "san francisco",
"geoCountry": "US",
"timezone": "America/Los_Angeles",
"tzOffset": 8,
"geoSource": "area-code",
"error": "false",
"doNotSms": "true"
}
} One credit per number, no add-ons needed. Computed from the published plans. For lists in the millions or a daily cadence, ask us about volume pricing.
action) and the reason behind itNot legal advice.
deactivationDate: data refreshed daily, with a 1 to 7 day lag, and entries expire after 45 days. It is not a reassigned-number check.deactivationDate, whether it went back to the same subscriber or a new one.Email validation checks whether a mailbox accepts mail. Phone numbers get deactivated and reassigned by carriers, so a number that reached your customer last year may reach someone else today. A lookup tells you whether a carrier deactivated the number recently and which carrier serves it now; spotting a change of owner means comparing lookups over time.
No. It is the date the carrier most recently deactivated the number, and it only appears while that deactivation is recent (45 days) and the number has not been reactivated. Once it is reactivated, for the same subscriber or a new one, the field is empty again. What it gives you is evidence over time: if a number you saw deactivated later comes back active, treat it as possibly a new subscriber and re-verify before contacting.
Monthly for lists that drive texts or calls: a deactivation is only visible for 45 days, so a monthly pass sees each one while it is set, and the wireless industry's messaging guidelines suggest processing deactivation data regularly, for example daily (CTIA 5.1.5). A quarterly rescrub keeps carrier and line-type fields current but can miss deactivations that come and go between runs.
No. deliverable agrees with action, which is a verdict for text lists, so every landline comes back "false" with reason "Not a valid mobile number". A dead number is one with a deactivationDate; the reason then reads "Number deactivated by carrier id <N> on <date>".
No. CheckThatPhone validates phone numbers only, so the email column needs its own tool.
One credit per number. Upload a CSV, or schedule the API.