Skip to main content
POST
/
v1.5
/
Data
/
TCPAAuthorityLitigator
TCPA Authority + Litigator (POST)
curl --request POST \
  --url https://dataapi.dncscrub.com/v1.5/Data/TCPAAuthorityLitigator \
  --header 'Content-Type: <content-type>' \
  --header 'loginId: <loginid>' \
  --data '
{
  "Data": [
    {
      "PhoneNumber": "<string>",
      "Date": "<string>"
    }
  ],
  "useSandbox": true
}
'
[
  {
    "PhoneNumber": "7075276405",
    "IsReassigned": false,
    "IsValid": true,
    "LineType": "Landline",
    "Carrier": "AT&T California",
    "Locale": "Santa Rosa",
    "Region": "CA",
    "Country": "US",
    "TZ": "America/Los_Angeles",
    "UTCOffset": "-420",
    "IsLitigator": false
  },
  {
    "PhoneNumber": "5039367187",
    "IsReassigned": false,
    "IsValid": true,
    "LineType": "Wireless",
    "Carrier": "Verizon Wireless",
    "Locale": "Portland",
    "Region": "OR",
    "Country": "US",
    "TZ": "America/Los_Angeles",
    "UTCOffset": "-420",
    "IsLitigator": true
  }
]
Check multiple phone numbers for reassignment status and litigator database in a single batch request.
For single number lookups, use the GET method instead.

Request

Headers

loginId
string
required
Your API Key (LoginId from your DNCScrub account)
Content-Type
string
required
Must be application/json

Request Body

Data
array
required
Array of phone number and date pairs to check
useSandbox
boolean
default:"false"
Set to true to use sandbox mode for testing

Example Request

curl --location --request POST \
  'https://dataapi.dncscrub.com/v1.5/Data/TCPAAuthorityLitigator' \
  --header 'loginId: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "Data": [
      { "PhoneNumber": "7075276405", "Date": "20210209" },
      { "PhoneNumber": "5039367187", "Date": "20210209" }
    ]
  }'
[
  {
    "PhoneNumber": "7075276405",
    "IsReassigned": false,
    "IsValid": true,
    "LineType": "Landline",
    "Carrier": "AT&T California",
    "Locale": "Santa Rosa",
    "Region": "CA",
    "Country": "US",
    "TZ": "America/Los_Angeles",
    "UTCOffset": "-420",
    "IsLitigator": false
  },
  {
    "PhoneNumber": "5039367187",
    "IsReassigned": false,
    "IsValid": true,
    "LineType": "Wireless",
    "Carrier": "Verizon Wireless",
    "Locale": "Portland",
    "Region": "OR",
    "Country": "US",
    "TZ": "America/Los_Angeles",
    "UTCOffset": "-420",
    "IsLitigator": true
  }
]

Response Fields

Each object in the response array contains:
PhoneNumber
string
The phone number that was checked
IsReassigned
boolean | null
Indicates if the phone was reassigned after the consent date
IsValid
boolean
true if the phone number is valid and callable
LineType
string
Type of phone line: Wireless, VoIP, Landline, Paging, or Unknown
Carrier
string
Original carrier the phone number was assigned to
Locale
string
City based on original phone number assignment
Region
string
State/region based on original phone number assignment
Country
string
Two-digit ISO country code
TZ
string
Timezone in ISO IANA format
UTCOffset
string
UTC offset in minutes
IsLitigator
boolean
true if the phone number is associated with a known TCPA litigator

Error Responses

StatusDescription
400 Bad RequestInvalid request body, phone number format, or date format
401 UnauthorizedInvalid or missing API key
403 ForbiddenAccount not authorized for this API or insufficient credits

Batch Risk Assessment

async function assessRisks(phoneRecords) {
  const response = await fetch(
    "https://dataapi.dncscrub.com/v1.5/Data/TCPAAuthorityLitigator",
    {
      method: "POST",
      headers: {
        "Content-Type": "application/json",
        loginId: "YOUR_API_KEY",
      },
      body: JSON.stringify({ Data: phoneRecords }),
    }
  );

  const results = await response.json();

  return results.map((r) => ({
    phone: r.PhoneNumber,
    safeToCall: !r.IsReassigned && !r.IsLitigator && r.IsValid,
    risks: [
      r.IsReassigned && "reassigned",
      r.IsLitigator && "litigator",
      !r.IsValid && "invalid",
    ].filter(Boolean),
  }));
}