> ## 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.

# Full Scrub API Overview

> Scrub phone numbers against multiple DNC lists and compliance databases

The Full Scrub API allows you to check phone numbers against multiple compliance databases including:

* **National DNC Registry** (USA and Canada)
* **State DNC Lists**
* **Your Internal DNC (IDNC) Database**
* **Litigator Lists**
* **Consent and EBR (Existing Business Relationship) Records**
* **Wireless Number Identification**
* **VoIP Identification**
* **Calling Time Restrictions**
* **Holiday Restrictions**

<Info>
  The Full Scrub API is only checking for DNC status and Calling TIme\Holiday
  restrictions. For full TCPA compliance, you also need to scrub for Reassigned
  Numbers. A second API call is needed to scrub for Reassigned Scrubbing such as
  [Reassigned Authority Plus](/api-reference/reassigned/authority-plus).
</Info>

## Base URL

```
https://www.dncscrub.com/app/main/rpc/scrub
```

## Quick Start

<CodeGroup>
  ```bash cURL theme={null}
  curl --location --request GET \
    'https://www.dncscrub.com/app/main/rpc/scrub?phoneList=7075276405&version=5&output=json' \
    --header 'loginId: YOUR_API_KEY'
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    "https://www.dncscrub.com/app/main/rpc/scrub?phoneList=7075276405&version=5&output=json",
    {
      method: "GET",
      headers: { loginId: "YOUR_API_KEY" },
    }
  );
  const data = await response.json();
  ```

  ```csharp C# theme={null}
  using (var client = new HttpClient())
  {
      client.DefaultRequestHeaders.Add("loginId", "YOUR_API_KEY");
      var response = await client.GetStringAsync(
          "https://www.dncscrub.com/app/main/rpc/scrub?phoneList=7075276405&version=5&output=json"
      );
  }
  ```
</CodeGroup>

## Parameters

| Parameter    | Required | Description                                             |
| ------------ | -------- | ------------------------------------------------------- |
| `phoneList`  | Yes      | Phone number(s) to scrub. Comma-separated for multiple. |
| `version`    | Yes      | API output version. Use `5` for current version.        |
| `output`     | No       | Response format: `json` or `csv` (default)              |
| `projId`     | No       | Project ID for specific project                         |
| `campaignId` | No       | Campaign ID for specific campaign                       |

## Response Example

```json theme={null}
[
  {
    "Phone": "7075276405",
    "ResultCode": "D",
    "Reserved": "",
    "Reason": "National (USA) 2003-06-01;;;",
    "RegionAbbrev": "CA",
    "Country": "US",
    "Locale": "Santa Rosa",
    "CarrierInfo": "9740;RBOC;\"AT&T California:AT&T California\"",
    "NewReassignedAreaCode": "",
    "TZCode": "4",
    "CallingWindow": "",
    "UTCOffset": "-420",
    "DoNotCallToday": "",
    "CallingTimeRestrictions": "4",
    "EBRType": "",
    "IsWirelessOrVoIP": "0",
    "LineType": "AllOther"
  }
]
```

## Result Codes

The `ResultCode` field indicates the scrub result:

| Code | Meaning                 | Action                                             |
| ---- | ----------------------- | -------------------------------------------------- |
| `C`  | Clean                   | Phone number is safe to call                       |
| `D`  | Do Not Call             | Phone number is on a DNC list                      |
| `W`  | Wireless                | Wireless number, not in DNC, not blocked           |
| `L`  | Wireless Prohibited     | Wireless in a state prohibiting solicitation       |
| `G`  | EBR + Wireless          | Valid EBR and wireless, not on any DNC             |
| `H`  | EBR Override + Wireless | Wireless with valid EBR overriding DNC             |
| `F`  | Wireless Restricted     | Wireless in state not allowing even manual dialing |

<Note>
  For a complete list of result codes and field descriptions, see the [Output
  Guide](/api-reference/scrub/output-guide).
</Note>

## Available Endpoints

<CardGroup cols={2}>
  <Card title="Scrub Single Number" icon="phone" href="/api-reference/scrub/scrub-single">
    Scrub a single phone number
  </Card>

  <Card title="Scrub Multiple Numbers" icon="list" href="/api-reference/scrub/scrub-multiple">
    Scrub multiple phone numbers in one request
  </Card>

  <Card title="Unique Identifier" icon="fingerprint" href="/api-reference/scrub/unique-identifier">
    Pass a unique ID with each phone number
  </Card>

  <Card title="Internal DNC" icon="database" href="/api-reference/scrub/internal-dnc">
    Add or remove numbers from your Internal DNC
  </Card>

  <Card title="EBR List" icon="handshake" href="/api-reference/scrub/ebr-list">
    Manage Existing Business Relationship records
  </Card>

  <Card title="Output Guide" icon="book" href="/api-reference/scrub/output-guide">
    Complete field reference
  </Card>
</CardGroup>
