> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dncscrub.com/llms.txt
> Use this file to discover all available pages before exploring further.

# RND Basic (GET)

> Query the FCC Reassigned Number Database for single number lookup

Query the FCC Reassigned Number Database (RND) to check if a phone number has been reassigned after a given date.

<Warning>
  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 indicating insufficient data.
</Warning>

## Request

### Headers

<ParamField header="loginId" type="string" required>
  Your API Key (LoginId from your DNCScrub account)
</ParamField>

### Query Parameters

<ParamField query="phoneNumber" type="string" required>
  10-digit North American phone number (without leading 1 or +)
</ParamField>

<ParamField query="date" type="string" required>
  Consent date to check reassignment against. Supported formats: `MM/DD/YYYY`,
  `YYYY-MM-DD`, `MM/DD/YY`, or `YYYYMMDD`
</ParamField>

<ParamField query="useSandbox" type="boolean" default="false">
  (Optional) Set to `true` to use sandbox mode for testing (returns random
  results)
</ParamField>

<ParamField query="projId" type="string">
  Project identifier for tracking purposes
</ParamField>

## Example Request

<CodeGroup>
  ```bash cURL theme={null}
  curl --location --request GET \
    'https://dataapi.dncscrub.com/v1.5/Data/RNDBasic?phoneNumber=7075276405&date=20211109' \
    --header 'loginId: YOUR_API_KEY'
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    "https://dataapi.dncscrub.com/v1.5/Data/RNDBasic?phoneNumber=7075276405&date=20211109",
    {
      method: "GET",
      headers: { loginId: "YOUR_API_KEY" },
    }
  );
  const data = await response.json();
  console.log(data);
  ```

  ```csharp C# theme={null}
  using (var client = new HttpClient())
  {
      client.DefaultRequestHeaders.Add("loginId", "YOUR_API_KEY");

      var url = "https://dataapi.dncscrub.com/v1.5/Data/RNDBasic?phoneNumber=7075276405&date=20211109";
      var response = await client.GetStringAsync(url);
      Console.WriteLine(response);
  }
  ```
</CodeGroup>

<ResponseExample>
  ```json Response theme={null}
  {
    "PhoneNumber": "7075276405",
    "IsReassigned": false,
    "HasSafeHarbor": true,
    "IsSandBox": false
  }
  ```
</ResponseExample>

## Response Fields

<ResponseField name="PhoneNumber" type="string">
  The phone number that was checked
</ResponseField>

<ResponseField name="IsReassigned" type="boolean | null">
  Indicates if the phone was reassigned after the consent date based on FCC
  data: - `true` (or `1`) - Reassigned after the date. **Do not call.** -
  `false` (or `0`) - Not reassigned. - `null` (blank) - Insufficient data in the
  FCC database to determine.
</ResponseField>

<ResponseField name="HasSafeHarbor" type="boolean">
  `true` if an FCC safe harbor exemption may be available for this number
</ResponseField>

<ResponseField name="IsSandBox" type="boolean">
  `true` if the response was generated in sandbox mode (test data), `false` for production data.
</ResponseField>

## Error Responses

| Status Code      | Description                                                                      |
| ---------------- | -------------------------------------------------------------------------------- |
| 400 Bad Request  | Invalid phone number format, invalid date format, or missing required parameters |
| 401 Unauthorized | Invalid or missing API key                                                       |

## Processing the Response

```javascript theme={null}
const result = await response.json();

if (result.IsReassigned === true) {
  console.log("DO NOT CALL - Number has been reassigned per FCC data");
} else if (result.IsReassigned === false) {
  console.log("Safe to call - Number has not been reassigned");
  if (result.HasSafeHarbor) {
    console.log("FCC Safe Harbor exemption may be available");
  }
} else {
  console.log(
    "Insufficient FCC data - consider using TCPA Authority for older consent dates"
  );
}
```

## When to Use RND Basic vs TCPA Authority

| Feature          | RND Basic                           | TCPA Authority                         |
| ---------------- | ----------------------------------- | -------------------------------------- |
| Data Source      | FCC Reassigned Number Database only | Carrier data + FCC data                |
| Data Coverage    | January 27, 2021 onwards            | July 2018 onwards                      |
| Update Frequency | Monthly                             | Daily                                  |
| Additional Data  | Safe harbor only                    | Line type, carrier, location, timezone |
| Cost             | Lower                               | Higher                                 |

For comprehensive coverage, especially with older consent dates, consider using [TCPA Authority](/api-reference/reassigned/authority-get) instead.
