Skip to content
Peachtree Data

← All API documentation

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

ParameterRequiredDescription
apikeyYesYour unique API key.
phonenumberYesPhone number to look up. Example: 678-987-4600.
requestIdAny 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

Single number (GET)
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"
Batch (POST)
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" }
]
Response — this number is on Georgia's state list
{
  "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

FieldTypeDescription
dncMatchBooleanTrue if the phone number is on any Do Not Call list.
federalDncBooleanTrue if the phone number is on the Federal Do Not Call list.
stateDncString(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.
dmaDncBooleanTrue if the phone number is on the Direct Marketing Association's Do Not Call list.
phoneNumberString(10)The ten digits actually used in the lookup — the first ten digits found in whatever you sent.
statusString(7)Success — lookup completed. Invalid — the number isn't ten digits. Error — a processing error occurred.
requestIdString(50)Echo of the requestId you sent, unchanged.

HTTP response codes

CodeDescription
200Processed successfully.
400Bad request — the API key format is invalid, the key is missing, or the input wasn't properly passed.
401Unauthorized — the API key is inactive or invalid.
403Forbidden — the request exceeds the max items allowed per call, or the account isn't set up for this service.
408Request timeout — processing exceeded the max processing time.
500Internal server error during processing.

Plans & pricing

$100/mo

10,000 lookups per month

$0.01 per lookup above 10,000 in a month.

Sign up

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.