Skip to main content
POST
https://dataapi.dncscrub.com
/
v1.5
/
Data
/
RNDBasic
RND Basic (POST)
curl --request POST \
  --url https://dataapi.dncscrub.com/v1.5/Data/RNDBasic \
  --header 'Content-Type: <content-type>' \
  --header 'loginId: <loginid>' \
  --data '
{
  "PhoneNumber": "<string>",
  "Date": "<string>"
}
'
[
  {
    "PhoneNumber": "5039367187",
    "IsReassigned": false,
    "HasSafeHarbor": true
  },
  {
    "PhoneNumber": "7075276405",
    "IsReassigned": false,
    "HasSafeHarbor": true
  }
]
Batch query the FCC Reassigned Number Database (RND) to check if multiple phone numbers have been reassigned after given dates.
The FCC Reassigned Number Database only has complete data after January 27, 2021. Numbers with consent dates prior to this date will typically return a blank IsReassigned value.

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/RNDBasic' \
  --header 'loginId: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data-raw '[
    { "PhoneNumber": "5039367187", "Date": "20211014" },
    { "PhoneNumber": "7075276405", "Date": "20211122" }
  ]'
[
  {
    "PhoneNumber": "5039367187",
    "IsReassigned": false,
    "HasSafeHarbor": true
  },
  {
    "PhoneNumber": "7075276405",
    "IsReassigned": false,
    "HasSafeHarbor": 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:
  • true - Reassigned. Do not call.
  • false - Not reassigned.
  • null - Insufficient FCC data.
HasSafeHarbor
boolean
true if an FCC safe harbor exemption may be available

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,442ms

Batch Processing Example

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

  const results = await response.json();

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

  console.log(`Safe: ${safeToCall.length}`);
  console.log(`Do Not Call: ${doNotCall.length}`);
  console.log(`Unknown (insufficient FCC data): ${unknown.length}`);

  return { safeToCall, doNotCall, unknown };
}

// Usage
const records = [
  { PhoneNumber: '5039367187', Date: '20211014' },
  { PhoneNumber: '7075276405', Date: '20211122' }
];

await checkRNDBasic(records);