curl --request POST \
--url https://api.airscale.io/v1/uk-dnc-check \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"phone": "+442079460000"
}
'const url = 'https://api.airscale.io/v1/uk-dnc-check';
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({phone: '+442079460000'})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));import requests
url = "https://api.airscale.io/v1/uk-dnc-check"
payload = { "phone": "+442079460000" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)UK DNC Checker
Check whether a UK phone number is registered on TPS or CTPS. Rate limit: 5 requests per rolling second per workspace.
curl --request POST \
--url https://api.airscale.io/v1/uk-dnc-check \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"phone": "+442079460000"
}
'const url = 'https://api.airscale.io/v1/uk-dnc-check';
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({phone: '+442079460000'})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));import requests
url = "https://api.airscale.io/v1/uk-dnc-check"
payload = { "phone": "+442079460000" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)phone. The operation checks the number against the UK TPS and CTPS registers: TPS (Telephone Preference Service) is the register for individuals, and CTPS (Corporate Telephone Preference Service) is the register for businesses. For US numbers, use the US DNC Checker.
Send a number
Send national (020 7946 0000) or international (+44 20 7946 0000) format. Spaces, parentheses, dots, and hyphens are accepted, up to 32 characters. Numbers in the Crown dependency ranges, such as Jersey, Guernsey, and the Isle of Man, are accepted. The response returns the number in +44 format.
phone_number and mobile_phone are accepted aliases. phone takes precedence when non-null, followed by phone_number, then mobile_phone. Any other body field returns 400 with code: "invalid_input". The maximum JSON body size is 256 KiB.
Read a successful result
| Field | Meaning |
|---|---|
status | success for a completed check. |
phone | Normalized UK phone number in +44 format. |
listed | true when the number is on TPS, CTPS, or both. |
on_tps | true when the number is on TPS, the register for individuals. |
on_ctps | true when the number is on CTPS, the register for businesses. |
result | Listed on TPS, Listed on CTPS, Listed on TPS & CTPS, or Not listed on TPS/CTPS. |
credits_used | Credits charged for this check: always 1. |
credits_remaining | Remaining workspace credit balance. |
Errors and retries
| Status | Meaning | Charged |
|---|---|---|
400 | Invalid JSON, a body that is not an object, or an unsupported field. | No |
401 | Missing or invalid API key. | No |
403 | Insufficient credits. At least 1 credit is required before a check starts. | No |
413 | JSON body larger than 256 KiB. | No |
422 | code: "unsupported_phone_region" for a valid non-UK number; code: "invalid_input" for a missing, malformed, or invalid UK number. | No |
429 | Workspace rate limit exceeded. | No |
502 | The register lookup failed or returned an invalid result. | No |
503 | A service the check depends on is temporarily unavailable. | No result is returned |
504 | The register lookup timed out. | No |
400 or 422. After 429, retry in a later second with bounded exponential backoff. For temporary 502, 503, or 504 responses, retry with increasing delays and a fixed retry limit; contact support if errors persist. Every completed retry is a new check that costs 1 credit.
Next step
Review Authentication and rate limits before scheduling checks.Authorizations
Use an Airscale workspace API key. Never expose the key in client-side code.
Body
- Option 1
- Option 2
- Option 3
Only phone, phone_number, and mobile_phone are accepted; any other field returns 400. Maximum JSON body size: 256 KiB.
Recommended field. A UK number in national (020 7946 0000) or international (+44 20 7946 0000) format, including Crown dependency ranges. At most 32 characters; digits, spaces, parentheses, dots, hyphens, and a leading + only.
1 - 32Alias used only when phone is null or absent.
1 - 32Alias used only when phone and phone_number are null or absent.
1 - 32Response
The result of a completed check. Costs one credit whether the number is listed or not.
"success"Normalized UK number in +44 format.
^\+44\d{9,10}$True when the number is on TPS, CTPS, or both.
True when the number is on TPS, the UK register for individuals.
True when the number is on CTPS, the UK register for businesses.
Readable summary of on_tps and on_ctps.
Listed on TPS, Listed on CTPS, Listed on TPS & CTPS, Not listed on TPS/CTPS Remaining workspace credit balance after the charge.