Skip to main content
POST
https://dataapi.dncscrub.com
/
v1.5
/
Data
/
EnhancedRND
Enhanced RND (POST)
curl --request POST \
  --url https://dataapi.dncscrub.com/v1.5/Data/EnhancedRND \
  --header 'Content-Type: <content-type>' \
  --header 'loginId: <loginid>' \
  --data '
{
  "phoneNumber": "<string>",
  "date": "<string>"
}
'
[
  {
    "PhoneNumber": "7075276405",
    "IsReassigned": false,
    "HasSafeHarbor": true,
    "CCCIsReassigned": false
  },
  {
    "PhoneNumber": "5039367187",
    "IsReassigned": false,
    "HasSafeHarbor": true,
    "CCCIsReassigned": false
  }
]
Batch check multiple phone numbers using TCPA Authority Plus (Enhanced RND), which combines CCC’s authoritative carrier data with the FCC Reassigned Number Database.
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

The request body is a JSON array of objects:
phoneNumber
string
required
10-digit North American phone number (without leading 1 or +)
date
string
required
Consent date in format YYYYMMDD, MM/DD/YYYY, YYYY-MM-DD, or MM/DD/YY

Example Request

curl --location --request POST \
  'https://dataapi.dncscrub.com/v1.5/Data/EnhancedRND' \
  --header 'loginId: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data-raw '[
    { "phoneNumber": "7075276405", "date": "20211109" },
    { "phoneNumber": "5039367187", "date": "20211109" }
  ]'
[
  {
    "PhoneNumber": "7075276405",
    "IsReassigned": false,
    "HasSafeHarbor": true,
    "CCCIsReassigned": false
  },
  {
    "PhoneNumber": "5039367187",
    "IsReassigned": false,
    "HasSafeHarbor": true,
    "CCCIsReassigned": false
  }
]

Response Fields

Each object in the response array contains:
PhoneNumber
string
The phone number that was checked
IsReassigned
boolean | null
Combined result - use this field to determine if to place the call:
  • true - Reassigned. Do not call.
  • false - Not reassigned. Safe to call.
  • null - Insufficient information.
HasSafeHarbor
boolean
true if an FCC safe harbor exemption may be available
CCCIsReassigned
boolean | null
Result from CCC’s carrier data only. For informational purposes.

Error Responses

400 Bad Request
Invalid request body, phone number format, or date format
401 Unauthorized
Invalid or missing API key

Rate Limits

  • 50 requests per minute
  • Up to 1,000 numbers per request
  • Average response time: ~1,575ms

Batch Processing Example

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

  const results = await response.json();

  // Categorize by IsReassigned (the combined result)
  const safeToCall = results.filter(r => r.IsReassigned === false);
  const doNotCall = results.filter(r => r.IsReassigned === true);
  const unknown = results.filter(r => r.IsReassigned === null);

  // Numbers with safe harbor protection
  const withSafeHarbor = safeToCall.filter(r => r.HasSafeHarbor);

  return {
    safeToCall: safeToCall.map(r => r.PhoneNumber),
    doNotCall: doNotCall.map(r => r.PhoneNumber),
    unknown: unknown.map(r => r.PhoneNumber),
    safeHarborCount: withSafeHarbor.length
  };
}

// Usage
const records = [
  { phoneNumber: '7075276405', date: '20211109' },
  { phoneNumber: '5039367187', date: '20211109' }
];

const result = await checkEnhancedRND(records);
console.log(`Safe to call: ${result.safeToCall.length}`);
console.log(`With safe harbor: ${result.safeHarborCount}`);