API Documentation
Do Not Call.
Check whether a phone number appears on the Federal, State, or Direct Marketing Association Do Not Call lists — before your team dials it. One number per GET, or thousands per POST.
- Endpoint
- https://rapid.peachtreedata.com/api/v1/donotcall
- Methods
- GET for a single number · POST for a batch
- Formats
- JSON by default; append .xml for XML
Authentication
Every request carries your API key in the query string. The API is HTTPS-only, so the key is encrypted in transit. Query parameters can appear in any order, and responses are JSON by default — append .xml to the endpoint for XML.
https://rapid.peachtreedata.com/api/v1/donotcall?apikey={apikey}&…Don't have a key? Sign up under plans & pricing below — keys work immediately.
Request
| Parameter | Required | Description |
|---|---|---|
| apikey | Yes | Your unique API key. |
| phonenumber | Yes | Phone number to look up. Example: 678-987-4600. |
| requestId | — | Any identifier you choose; echoed back so you can match responses to requests — important for batches, since response order isn't guaranteed. |
Phone numbers can be alphanumeric — the first ten digits in the string are used, so punctuation and extensions are fine. Strings with fewer than ten digits are considered invalid and aren't processed or billed. The response's phoneNumber field shows exactly what was looked up.
Examples
curl "https://rapid.peachtreedata.com/api/v1/donotcall?apikey={apikey}&phonenumber=(678)+987-4600"
# Formats are forgiving — extensions and punctuation are fine:
curl "https://rapid.peachtreedata.com/api/v1/donotcall?apikey={apikey}&phonenumber=555.555.4600+Ext+200"POST https://rapid.peachtreedata.com/api/v1/donotcall?apikey={apikey}
Content-Type: application/json
[
{ "phoneNumber": "(678) 987-4600", "requestId": "00001" },
{ "...": "up to your plan's max numbers per request" }
]{
"status": "Success",
"phoneNumber": "6789874600",
"requestId": "0001",
"dncMatch": "True",
"federalDnc": "False",
"stateDnc": "GA",
"dmaDnc": "False"
}POST responses wrap the per-number results in a totals envelope (totalRequests, totalProcessed, totalInvalidRequests, totalError, responses).
Response reference
| Field | Type | Description |
|---|---|---|
| dncMatch | Boolean | True if the phone number is on any Do Not Call list. |
| federalDnc | Boolean | True if the phone number is on the Federal Do Not Call list. |
| stateDnc | String(2) | Two-letter abbreviation of the state whose Do Not Call list includes this number; empty when the number isn't on any state list. |
| dmaDnc | Boolean | True if the phone number is on the Direct Marketing Association's Do Not Call list. |
| phoneNumber | String(10) | The ten digits actually used in the lookup — the first ten digits found in whatever you sent. |
| status | String(7) | Success — lookup completed. Invalid — the number isn't ten digits. Error — a processing error occurred. |
| requestId | String(50) | Echo of the requestId you sent, unchanged. |
HTTP response codes
| Code | Description |
|---|---|
| 200 | Processed successfully. |
| 400 | Bad request — the API key format is invalid, the key is missing, or the input wasn't properly passed. |
| 401 | Unauthorized — the API key is inactive or invalid. |
| 403 | Forbidden — the request exceeds the max items allowed per call, or the account isn't set up for this service. |
| 408 | Request timeout — processing exceeded the max processing time. |
| 500 | Internal server error during processing. |
Plans & pricing
Need higher volume or invoicing? Talk to us — we'll set up a plan that fits.
Keeping your calling compliant?
Tell us what you're building and we'll get you moving — usually the same day.