For outbound call centers and BPOs

Scrub dialer lists before they load

Call center list scrubbing in one pass: run every list through the lookup before it hits the predictive dialer to remove numbers carriers deactivated, separate cell phones from landlines after porting, suppress known TCPA litigators and state do-not-call matches, and pace calls by each number's time zone.

  • US and Canadian numbers
  • From $0.0009 per lookup
  • State DNC checks free
Pre-load routing rules
If the lookup says Do this
Deactivated in the last 45 days Remove
Mobile, no consent on file Manual dial or drop
Landline Dial
Known TCPA litigator Suppress
State DNC match, no consent Suppress
Outside 8 a.m. to 9 p.m. local Hold

Built from fields in the lookup response. The litigator check costs 1 extra credit.

  • 1B+ requests served by our validation network
  • ~32% of numbers we look up are landline or VoIP
  • ~7% of landlines we check can take a text
  • ~1.5% flagged as TCPA litigators when the scrub is on

Read the response for voice, not for SMS

action is a verdict for text lists, so a landline comes back as "unsubscribe". Dialer teams should branch on these fields instead.

FieldFor a dialerFor a text list
action Ignore it for landlines. Send only on "send".
nanpTypedipCarrierType Mobile vs landline decides the consent path. Mobiles can take texts; a landline only if the landline SMS check says so.
reason "Number deactivated by carrier..." means remove. "Not a valid mobile number" is a landline or other non-mobile line you can dial. Comes with action: "unsubscribe": don't send.
deactivationDate Remove. Daily refresh, 1 to 7 day lag, 45-day window. Remove.
timezonetzOffset Pace calls by zone. Quiet hours.

Where outbound dialing goes wrong

“My agents burn hours on dead numbers.”

Carriers deactivate numbers and the list never hears about it. deactivationDate flags numbers a carrier deactivated in the last 45 days, from data refreshed daily.

deactivationDatereason

“Which of these are cell phones? The dialer needs to know first.”

Autodialed or prerecorded calls to a cell phone need the called party's prior express consent. The live carrier dip says mobile or landline after porting.

47 CFR 64.1200(a)(1)(iii) · ecfr.gov

nanpTypedipCarrierTypedipPorted

“The client sent a list with no scrub history.”

The national registry check is still yours: the Telemarketing Sales Rule's safe harbor expects a copy no more than 31 days old. The lookup adds the state DNC, complainer and litigator checks on top.

16 CFR 310.4(b)(3)(iv) · ecfr.gov

litigatordncStateResultdncComplainerResult

“We dial four time zones from one floor.”

Without prior consent, telemarketing calls to a residence are limited to 8 a.m. to 9 p.m., local time at the called person's location.

16 CFR 310.4(c) · ecfr.gov

timezonetzOffset

“One serial plaintiff can turn a campaign into a lawsuit.”

About 1.5% of the numbers we check come back flagged as TCPA litigators when the scrub is on. Our complainer list holds roughly 700,000 numbers of people who have complained about telemarketers.

Source: CheckThatPhone lookup data

litigatorlitigator_typedncComplainerResult

Routing rules, field by field

What a dialer team does with each result. Absent DNC fields mean the check didn't run, not that the number is clear.

If the response showsFieldDo this
Deactivated by the carrier recently deactivationDatereason Remove it from the dialer list.
Mobile, no consent on file nanpTypedipCarrierType Keep it out of the autodialer: manual dial or drop, per your policy.
Landline nanpTypedipCarrierType Dial. Ignore action: "unsubscribe", which only means it can't take a text.
VoIP dipCarrierSubType = IPES Tag it for list scoring and reporting.
Known TCPA litigator litigator Suppress.
State DNC or complainer match dncStateResult = STATE DNCdncComplainerResult = DNC COMPLAINER Suppress unless you have consent or an established business relationship, per your policy.
State check absent (CO, FL, IN, LA, MA, MS, MO, OK, PA, TN, TX and WY) dncStateChecked Not checked. Scrub those states yourself.
Local time timezonetzOffset Pace by zone: 8 a.m. to 9 p.m. at the called person's location, 8 p.m. in Florida.
Carrier and porting dipCarrierdipOcndipPorted Reporting: contact rates by carrier, ported or not.

Where it fits before the dialer

  1. Step 1

    Take the list as delivered

    Client files, purchased data or your own CRM export, before anything loads into the dialer.

  2. Step 2

    Scrub it in one pass

    Upload the CSV in the dashboard (deduplicated, up to 1,000,000 rows, each unique number billed once), or call the API from your list-loading job.

  3. Step 3

    Load by rule

    DialManual dialSuppressRemove

    Then pace each campaign by time zone, and re-scrub lists that sit for weeks: deactivation data refreshes daily.

One lookup, read the way a dialer reads it

A landline comes back with action: "unsubscribe" because it can't take a text. For a dialer it's a number to call: active, not a known litigator, not a state DNC match, and on Eastern time.

2 credits: lookup + litigator scrubDNC checks free

Highlighted fields: action, reason, nanpType, dipCarrierType, litigator, dncStateResult, timezone.

{
  "success": true,
  "credits_used": 2,
  "data": {
    "subscriber": "2125550186",
    "optDate": "2026-10-08T14:03:51.770Z",
    "action": "unsubscribe",
    "deliverable": "false",
    "reason": "Not a valid mobile number",
    "nanpType": "landline",
    "blackList": "false",
    "dip": "success",
    "dipLrn": "2125550186",
    "dipPorted": "false",
    "dipOcn": "9104",
    "dipCarrierSubType": "RBOC",
    "dipCarrier": "Verizon New York",
    "dipCarrierType": "landline",
    "litigator": "false",
    "litigator_type": "",
    "litigator_name": "",
    "dncStateChecked": "true",
    "dncStateResult": "",
    "dncComplainerChecked": "true",
    "dncComplainerResult": "",
    "dncOtherChecked": "true",
    "geoState": "NY",
    "geoCity": "new york",
    "geoCountry": "US",
    "timezone": "America/New_York",
    "tzOffset": 5,
    "geoSource": "area-code",
    "error": "false",
    "doNotSms": "true"
  }
}

Cost at call-center volume

300,000 numbers a month $300/mo 300,000 numbers × 1 credit = 300,000 credits. 100K plan: $100 + 200,000 × $0.001 = $300
Same list, with the litigator scrub $540/mo 300,000 numbers × 2 credits = 600,000 credits. 500K plan: $450 + 100,000 × $0.0009 = $540

Computed from the published plans. State DNC and complainer checks never add credits. Above this volume, ask us about a custom plan.

What the lookup covers, and what's still on you

The lookup gives you

  • Cell vs landline from a live carrier dip, after porting
  • Carrier deactivations in the last 45 days
  • Known TCPA litigators (+1 credit)
  • State DNC matches in 38 states plus DC, and complainers (free)
  • Time zone by IP or area code
  • Carrier, OCN and ported flag for reporting

Still your job

Not legal advice.

Coverage and limits

  • State DNC: covers 38 states plus DC, refreshed weekly. Numbers in CO, FL, IN, LA, MA, MS, MO, OK, PA, TN, TX and WY aren't checked, and dncStateChecked is left out for them, so "not checked" never reads as clear.
  • No National Do Not Call Registry check. Registry access for sellers comes from the FTC at telemarketing.donotcall.gov.
  • No subscriber names or owner details.
  • deactivationDate: data refreshed daily, with a 1 to 7 day lag, and entries expire after 45 days. It is not a reassigned-number check.
  • Canadian numbers are validated and carrier-dipped like US numbers, but the state DNC check is US-only and Canada's National DNCL isn't checked.

Questions dialer teams ask

Why does a landline come back as action "unsubscribe"?

Because action is a verdict for text lists, and a landline usually can't take a text; the reason is "Not a valid mobile number". For a dialer, read nanpType and dipCarrierType and keep landlines on the list.

Does it detect reassigned numbers?

No. deactivationDate shows a carrier deactivation in the last 45 days, but a reactivated number shows no date whether it went back to the same subscriber or a new one. The reassigned-number safe harbor in 47 CFR 64.1200(m) only covers the FCC's Reassigned Numbers Database.

Does it check the National Do Not Call Registry?

No. Get registry access through the FTC at telemarketing.donotcall.gov; the Telemarketing Sales Rule's safe harbor expects a copy no more than 31 days old (16 CFR 310.4(b)(3)(iv)). The lookup adds the state DNC check (38 states plus DC), the complainer list and the litigator scrub on top.

What about Canadian numbers?

They are validated and carrier-dipped like US numbers. The state DNC check is US-only, and Canada's National DNCL isn't checked, so scrub Canadian lists against it separately.

Is the mobile or landline answer current after a number ports?

Yes. Every lookup runs a live carrier dip, so dipCarrierType and dipPorted reflect the carrier serving the number now. Whether you have consent to autodial a cell phone is still your decision.

How fresh is the data?

The carrier dip runs on every lookup. Litigator data is refreshed daily, state DNC data weekly, and deactivations daily, with a 1 to 7 day lag.

Scrub the next list before it loads

CSV upload up to 1,000,000 rows, deduplicated, each unique number billed once.