Litigator Scrub vs DNC Registry vs Internal Opt-Out: Why You Need All Three

The three-layer problem most teams get wrong

Most compliance checklists collapse suppression into one question: are we honoring opt-outs? That feels thorough. It isn’t. There are three separate failure modes here, each caught by a different mechanism, and each one completely invisible to the other two.

Skip any layer and you leave a gap. Skip the litigator scrub in particular and you leave the kind of gap that turns into coordinated TCPA litigation, because some of the people on your list are not there by accident. They put themselves there on purpose, and they are waiting for you to call.

Here is how each layer works, what it misses, and how to wire all three into a real pipeline.


Layer 1: the federal Do-Not-Call Registry

The National Do-Not-Call Registry, run by the FTC, lets consumers register their numbers to opt out of unsolicited telemarketing calls. If you make outbound marketing calls, you are legally required to scrub against it at least every 31 days.

What it catches: consumers who proactively told the government they don’t want telemarketing calls.

What it misses: numbers registered after your last scrub window. Numbers that were never registered at all. Numbers belonging to serial litigants who registered specifically to collect evidence, since registration alone tells you nothing about intent. And it covers calls. SMS compliance under the TCPA and state laws runs on a separate track entirely.

The practical point is that DNC registration is a floor, not a ceiling. Regulators and courts have been clear: a valid DNC scrub does not immunize you from TCPA claims over consent failures, abandoned or reassigned lines, or contacting known litigators.


Layer 2: your internal opt-out list

Every outbound program should keep its own suppression list of numbers where a contact asked you, specifically, to stop. This list is yours to build and yours to honor, regardless of DNC status.

What it catches: prior customers or leads who revoked consent, numbers that generated complaints internally, and anyone who used your opt-out mechanism, whether that was a STOP reply, a verbal request, or a web form.

What it misses: people who never contacted you in the first place. Reassigned numbers, where a number that opted out two years ago may belong to a stranger today. And litigants who haven’t touched your brand yet.

Before you dial a number that’s been sitting in your CRM for months, it’s worth confirming it’s still active and still belongs to the same person. CheckThatPhone returns a deactivationDate field when a number has been deactivated, and the deliverable flag tells you whether the number is reachable at all. A recent deactivationDate on a suppressed number is a warning sign that it may have been reassigned, which flips the risk: now you might be calling a stranger who never opted out of anything.

The /v1/lookup endpoint also returns blackList, action, and reason. If blackList is true, the number is flagged in CheckThatPhone’s own risk database, and action tells you what to do with it (usually suppress or review).


Layer 3: the TCPA litigator scrub

This is the layer most teams skip, and it carries the most asymmetric downside.

A small, well-documented group of people, sometimes called serial TCPA plaintiffs or professional litigants, deliberately hand their numbers to businesses, wait for contact, then file or threaten TCPA suits. They are not on the DNC registry by accident, and they are not on your internal opt-out list at all. In your data they look exactly like any other lead.

The litigator scrub is a lookup against a database of numbers tied to known TCPA litigants and their attorneys. It won’t stop every claim, but it clears the low-hanging fruit: numbers with a documented history of litigation activity.

With CheckThatPhone you enable it by adding litigatorFilter: true to your lookup request:

POST https://api.checkthatphone.com/v1/lookup
Authorization: Bearer <key>
Content-Type: application/json

{
  "phone": "2025550178",
  "litigatorFilter": true
}

The response includes three fields:

  • litigator: boolean, true if the number is flagged
  • litigator_type: categorizes the match (e.g. plaintiff, attorney)
  • litigator_name: the name on the record where available

If litigator comes back true, suppress the number before it ever reaches your dialer queue. Don’t call it. Don’t text it. The cost of a single TCPA claim, where statutory damages run from $500 to $1,500 per violation and violations can be counted per message, dwarfs the value of any one contact.

For how this fits a broader TCPA risk strategy, see our TCPA litigator scrub use case.


Layering all three in a real campaign pipeline

Here is the sequence I’d run for an outbound SMS or calling campaign.

Step 1: line type and carrier validation. Before anything else, know what you’re dialing. CheckThatPhone returns nanpType (mobile, landline, not-mobile) and carrier details via dipCarrier, dipCarrierType, dipCarrierSubType, and dipPorted. A number that has ported from a landline carrier to a mobile carrier is now subject to the TCPA’s autodialer restrictions even if you originally captured it as a landline. Missing that shift is a common source of consent failures.

If you need to reach landline numbers via SMS through registered messaging services, add landlineSmsLookup: true to the request. The response then includes dipMessagingLookup, dipMessagingEnabled, and dipMessagingProvider to tell you whether that specific landline can receive messages.

Step 2: deliverability and blacklist check. Look at deliverable, blackList, action, and reason. Drop numbers that aren’t deliverable or are flagged. If deactivationDate is present and recent, treat the number as potentially reassigned and don’t lean on historical consent.

Step 3: litigator scrub. Run litigatorFilter: true. If litigator returns true, suppress immediately and log litigator_type and litigator_name for your compliance records.

Step 4: DNC registry scrub. Apply your most recent DNC scrub file. Do this at least monthly, more often if your list turns over fast.

Step 5: internal opt-out suppression. Cross-reference your internal list last, since it’s the most current signal about your specific relationship with that contact.

Only numbers that clear all five checks should enter the active campaign.


Running this at scale

For real-time lead qualification, like a web form submission, an inbound call, or a new CRM record, the single-number endpoint at POST https://api.checkthatphone.com/v1/lookup handles per-request checks with low latency.

For existing lists of thousands or hundreds of thousands of numbers, use the Bulk CSV feature in the dashboard (Dashboard, then Bulk CSV). Upload your file, select the add-ons you need (including litigator filter and landline SMS lookup), and download the enriched results. The service deduplicates rows, validates carrier and line type, and runs every add-on you have enabled against each number. Uploaded files and result files are deleted within 24 hours of delivery. That is the right path for pre-campaign list hygiene. Looping the single-lookup endpoint once per number at scale is not.

See /pricing for add-on costs and volume tiers, and /docs for the full field reference and request schema.


The bottom line

Each layer catches a specific failure mode. The DNC registry catches consumers who opted out federally. Your internal list catches people who opted out of your program. The litigator scrub catches people who never intended to opt out at all, because they want you to call.

Running one or two of these layers does not buy you partial protection. It leaves a gap, and the parties most motivated to find it already know exactly where to look.

If your pipeline doesn’t include all three today, contact list hygiene and sales lead validation are good starting points for seeing where these checks fit in practice.

Start validating phone numbers today

CheckThatPhone provides real-time carrier, line type, portability, and deliverability data for US & Canada numbers in a single API call.