DNC Checker
Check if a mobile is listed as DNC
Endpoint
POST https://api.airscale.io/v1/dnc-check
POST https://api.airscale.io/v1/dnc-check
POST https://api.airscale.io/v1/dnc-check
Headers
Key | Value | Required |
|---|---|---|
Content-Type | application/json | Yes |
Authorization | Bearer <YOUR_API_KEY> | Yes |
Request Body
{ "phone": "+14155550123" }
{ "phone": "+14155550123" }
{ "phone": "+14155550123" }
Field | Type | Required |
|---|---|---|
phone | string | Yes |
Response
Successful Response (200)
Important: DNC checks support US phone numbers only. Non-US numbers are rejected before the provider call and are not charged.
Each successful DNC check costs 1 credit. The endpoint is rate limited to 3 requests per second per workspace.
{ "status": "success", "phone": "+14155550123", "listed": false, "result": "Not listed on DNC", "credits_used": 1, "credits_remaining": 99 }
{ "status": "success", "phone": "+14155550123", "listed": false, "result": "Not listed on DNC", "credits_used": 1, "credits_remaining": 99 }
{ "status": "success", "phone": "+14155550123", "listed": false, "result": "Not listed on DNC", "credits_used": 1, "credits_remaining": 99 }
Rate Limited (429)
{ "error": "Too Many Requests", "message": "Rate limit exceeded" }
{ "error": "Too Many Requests", "message": "Rate limit exceeded" }
{ "error": "Too Many Requests", "message": "Rate limit exceeded" }
Unsupported Phone Region (422)
{ "error": "Unsupported phone region", "code": "unsupported_phone_region", "message": "DNC check supports US phone numbers only" }
{ "error": "Unsupported phone region", "code": "unsupported_phone_region", "message": "DNC check supports US phone numbers only" }
{ "error": "Unsupported phone region", "code": "unsupported_phone_region", "message": "DNC check supports US phone numbers only" }
Example Usage
cURL
curl -X POST https://api.airscale.io/v1/dnc-check \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"phone": "+14155550123"}'
curl -X POST https://api.airscale.io/v1/dnc-check \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"phone": "+14155550123"}'
curl -X POST https://api.airscale.io/v1/dnc-check \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"phone": "+14155550123"}'
Python
import requests url = 'https://api.airscale.io/v1/dnc-check' headers = { 'Authorization': 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json' } payload = { 'phone': '+14155550123' } response = requests.post(url, headers=headers, json=payload) data = response.json() print(data)
import requests url = 'https://api.airscale.io/v1/dnc-check' headers = { 'Authorization': 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json' } payload = { 'phone': '+14155550123' } response = requests.post(url, headers=headers, json=payload) data = response.json() print(data)
import requests url = 'https://api.airscale.io/v1/dnc-check' headers = { 'Authorization': 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json' } payload = { 'phone': '+14155550123' } response = requests.post(url, headers=headers, json=payload) data = response.json() print(data)
JavaScript (Fetch)
const response = await fetch('https://api.airscale.io/v1/dnc-check', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json' }, body: JSON.stringify({ phone: '+14155550123' }) }); const data = await response.json(); console.log(data);
const response = await fetch('https://api.airscale.io/v1/dnc-check', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json' }, body: JSON.stringify({ phone: '+14155550123' }) }); const data = await response.json(); console.log(data);
const response = await fetch('https://api.airscale.io/v1/dnc-check', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json' }, body: JSON.stringify({ phone: '+14155550123' }) }); const data = await response.json(); console.log(data);
PHP
<?php function dncCheck($phone) { $url = 'https://api.airscale.io/v1/dnc-check'; $apiKey = 'YOUR_API_KEY'; $data = ['phone' => $phone]; $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Content-Type: application/json', 'Authorization: Bearer ' . $apiKey ]); $response = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($response === false) { return ['error' => 'Request failed', 'http_code' => $httpCode]; } return json_decode($response, true); } $result = dncCheck('+14155550123'); print_r($result);
<?php function dncCheck($phone) { $url = 'https://api.airscale.io/v1/dnc-check'; $apiKey = 'YOUR_API_KEY'; $data = ['phone' => $phone]; $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Content-Type: application/json', 'Authorization: Bearer ' . $apiKey ]); $response = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($response === false) { return ['error' => 'Request failed', 'http_code' => $httpCode]; } return json_decode($response, true); } $result = dncCheck('+14155550123'); print_r($result);
<?php function dncCheck($phone) { $url = 'https://api.airscale.io/v1/dnc-check'; $apiKey = 'YOUR_API_KEY'; $data = ['phone' => $phone]; $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Content-Type: application/json', 'Authorization: Bearer ' . $apiKey ]); $response = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($response === false) { return ['error' => 'Request failed', 'http_code' => $httpCode]; } return json_decode($response, true); } $result = dncCheck('+14155550123'); print_r($result);
Go
package main import ( "bytes" "encoding/json" "fmt" "io" "net/http" ) type DncCheckRequest struct { Phone string `json:"phone"` } func dncCheck(phone string) error { url := "https://api.airscale.io/v1/dnc-check" payload := DncCheckRequest{ Phone: phone, } jsonData, err := json.Marshal(payload) if err != nil { return fmt.Errorf("error marshaling JSON: %w", err) } req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonData)) if err != nil { return fmt.Errorf("error creating request: %w", err) } req.Header.Set("Authorization", "Bearer YOUR_API_KEY") req.Header.Set("Content-Type", "application/json") client := &http.Client{} resp, err := client.Do(req) if err != nil { return fmt.Errorf("error making request: %w", err) } defer resp.Body.Close() body, err := io.ReadAll(resp.Body) if err != nil { return fmt.Errorf("error reading response: %w", err) } fmt.Printf("Status: %d\n", resp.StatusCode) fmt.Printf("Response: %s\n", string(body)) return nil } func main() { err := dncCheck("+14155550123") if err != nil { fmt.Printf("Error: %v\n", err
package main import ( "bytes" "encoding/json" "fmt" "io" "net/http" ) type DncCheckRequest struct { Phone string `json:"phone"` } func dncCheck(phone string) error { url := "https://api.airscale.io/v1/dnc-check" payload := DncCheckRequest{ Phone: phone, } jsonData, err := json.Marshal(payload) if err != nil { return fmt.Errorf("error marshaling JSON: %w", err) } req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonData)) if err != nil { return fmt.Errorf("error creating request: %w", err) } req.Header.Set("Authorization", "Bearer YOUR_API_KEY") req.Header.Set("Content-Type", "application/json") client := &http.Client{} resp, err := client.Do(req) if err != nil { return fmt.Errorf("error making request: %w", err) } defer resp.Body.Close() body, err := io.ReadAll(resp.Body) if err != nil { return fmt.Errorf("error reading response: %w", err) } fmt.Printf("Status: %d\n", resp.StatusCode) fmt.Printf("Response: %s\n", string(body)) return nil } func main() { err := dncCheck("+14155550123") if err != nil { fmt.Printf("Error: %v\n", err
package main import ( "bytes" "encoding/json" "fmt" "io" "net/http" ) type DncCheckRequest struct { Phone string `json:"phone"` } func dncCheck(phone string) error { url := "https://api.airscale.io/v1/dnc-check" payload := DncCheckRequest{ Phone: phone, } jsonData, err := json.Marshal(payload) if err != nil { return fmt.Errorf("error marshaling JSON: %w", err) } req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonData)) if err != nil { return fmt.Errorf("error creating request: %w", err) } req.Header.Set("Authorization", "Bearer YOUR_API_KEY") req.Header.Set("Content-Type", "application/json") client := &http.Client{} resp, err := client.Do(req) if err != nil { return fmt.Errorf("error making request: %w", err) } defer resp.Body.Close() body, err := io.ReadAll(resp.Body) if err != nil { return fmt.Errorf("error reading response: %w", err) } fmt.Printf("Status: %d\n", resp.StatusCode) fmt.Printf("Response: %s\n", string(body)) return nil } func main() { err := dncCheck("+14155550123") if err != nil { fmt.Printf("Error: %v\n", err
On this page
