Get All Spam Scores
curl --request GET \
--url https://dataapi.dncscrub.com/v1.5/TrustCall/GetAll \
--header 'loginId: <loginid>'import requests
url = "https://dataapi.dncscrub.com/v1.5/TrustCall/GetAll"
headers = {"loginId": "<loginid>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {loginId: '<loginid>'}};
fetch('https://dataapi.dncscrub.com/v1.5/TrustCall/GetAll', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://dataapi.dncscrub.com/v1.5/TrustCall/GetAll",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"loginId: <loginid>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://dataapi.dncscrub.com/v1.5/TrustCall/GetAll"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("loginId", "<loginid>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://dataapi.dncscrub.com/v1.5/TrustCall/GetAll")
.header("loginId", "<loginid>")
.asString();require 'uri'
require 'net/http'
url = URI("https://dataapi.dncscrub.com/v1.5/TrustCall/GetAll")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["loginId"] = '<loginid>'
response = http.request(request)
puts response.read_body[
{
"Response": "Phone number current score",
"Phone": "7867056421",
"LegalEntityId": 123,
"CurrScore": "High",
"MaxScore": "High",
"HistoricalScore": "5",
"VerizonScore": "Flagged",
"ATTScore": "Flagged",
"TMobileScore": "Clean",
"RoboKillerStatus": "Clean",
"NomoroboStatus": "Flagged",
"FTCComplaints": [
{
"FTCComplaintId": "79923e06b1c74d47e6ad5826b7554046",
"Phone": "7867056421",
"CreatedDate": "08/15/2022 22:22:39",
"ViolationDate": "07/29/2022 12:04:00",
"City": "Jackson",
"State": "New Jersey",
"AreaCode": "732",
"Subject": "Dropped call or no message",
"RecordedMessageOrRobocall": "Y"
}
]
},
{
"Response": "Phone number current score",
"Phone": "5039367187",
"LegalEntityId": 456,
"CurrScore": "Clean",
"MaxScore": "Clean",
"HistoricalScore": "0",
"VerizonScore": "Clean",
"ATTScore": "Clean",
"TMobileScore": "Clean",
"RoboKillerStatus": "Clean",
"NomoroboStatus": "Clean",
"FTCComplaints": null
}
]
Call Deliverability (TrustCall)
Get All Spam Scores
Retrieve carrier spam scores for all monitored phone numbers
GET
/
v1.5
/
TrustCall
/
GetAll
Get All Spam Scores
curl --request GET \
--url https://dataapi.dncscrub.com/v1.5/TrustCall/GetAll \
--header 'loginId: <loginid>'import requests
url = "https://dataapi.dncscrub.com/v1.5/TrustCall/GetAll"
headers = {"loginId": "<loginid>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {loginId: '<loginid>'}};
fetch('https://dataapi.dncscrub.com/v1.5/TrustCall/GetAll', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://dataapi.dncscrub.com/v1.5/TrustCall/GetAll",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"loginId: <loginid>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://dataapi.dncscrub.com/v1.5/TrustCall/GetAll"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("loginId", "<loginid>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://dataapi.dncscrub.com/v1.5/TrustCall/GetAll")
.header("loginId", "<loginid>")
.asString();require 'uri'
require 'net/http'
url = URI("https://dataapi.dncscrub.com/v1.5/TrustCall/GetAll")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["loginId"] = '<loginid>'
response = http.request(request)
puts response.read_body[
{
"Response": "Phone number current score",
"Phone": "7867056421",
"LegalEntityId": 123,
"CurrScore": "High",
"MaxScore": "High",
"HistoricalScore": "5",
"VerizonScore": "Flagged",
"ATTScore": "Flagged",
"TMobileScore": "Clean",
"RoboKillerStatus": "Clean",
"NomoroboStatus": "Flagged",
"FTCComplaints": [
{
"FTCComplaintId": "79923e06b1c74d47e6ad5826b7554046",
"Phone": "7867056421",
"CreatedDate": "08/15/2022 22:22:39",
"ViolationDate": "07/29/2022 12:04:00",
"City": "Jackson",
"State": "New Jersey",
"AreaCode": "732",
"Subject": "Dropped call or no message",
"RecordedMessageOrRobocall": "Y"
}
]
},
{
"Response": "Phone number current score",
"Phone": "5039367187",
"LegalEntityId": 456,
"CurrScore": "Clean",
"MaxScore": "Clean",
"HistoricalScore": "0",
"VerizonScore": "Clean",
"ATTScore": "Clean",
"TMobileScore": "Clean",
"RoboKillerStatus": "Clean",
"NomoroboStatus": "Clean",
"FTCComplaints": null
}
]
Retrieve carrier spam scores for all phone numbers being monitored by your account.
The
X-Total-Count response header contains the total number of phone numbers in your account.Request
Headers
string
required
Your API Key (LoginId from your DNCScrub account)
Query Parameters
integer
default:"15000"
Maximum number of records to return. Defaults to 15,000.
Example Request
curl --location --request GET \
'https://dataapi.dncscrub.com/v1.5/TrustCall/GetAll' \
--header 'loginId: YOUR_API_KEY'
const response = await fetch(
'https://dataapi.dncscrub.com/v1.5/TrustCall/GetAll',
{
method: 'GET',
headers: { 'loginId': 'YOUR_API_KEY' }
}
);
// Get total count from header
const totalCount = response.headers.get('X-Total-Count');
console.log(`Total numbers monitored: ${totalCount}`);
const data = await response.json();
console.log(data);
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("loginId", "YOUR_API_KEY");
var response = await client.GetAsync(
"https://dataapi.dncscrub.com/v1.5/TrustCall/GetAll"
);
// Get total count from header
if (response.Headers.TryGetValues("X-Total-Count", out var values))
{
Console.WriteLine($"Total numbers: {values.First()}");
}
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
[
{
"Response": "Phone number current score",
"Phone": "7867056421",
"LegalEntityId": 123,
"CurrScore": "High",
"MaxScore": "High",
"HistoricalScore": "5",
"VerizonScore": "Flagged",
"ATTScore": "Flagged",
"TMobileScore": "Clean",
"RoboKillerStatus": "Clean",
"NomoroboStatus": "Flagged",
"FTCComplaints": [
{
"FTCComplaintId": "79923e06b1c74d47e6ad5826b7554046",
"Phone": "7867056421",
"CreatedDate": "08/15/2022 22:22:39",
"ViolationDate": "07/29/2022 12:04:00",
"City": "Jackson",
"State": "New Jersey",
"AreaCode": "732",
"Subject": "Dropped call or no message",
"RecordedMessageOrRobocall": "Y"
}
]
},
{
"Response": "Phone number current score",
"Phone": "5039367187",
"LegalEntityId": 456,
"CurrScore": "Clean",
"MaxScore": "Clean",
"HistoricalScore": "0",
"VerizonScore": "Clean",
"ATTScore": "Clean",
"TMobileScore": "Clean",
"RoboKillerStatus": "Clean",
"NomoroboStatus": "Clean",
"FTCComplaints": null
}
]
Response Headers
| Header | Description |
|---|---|
X-Total-Count | Total number of phone numbers in your account |
Response Fields
string
Status message
string
The phone number
integer
The legal entity identifier associated with the phone number
string
Current average carrier spam score:
Clean, Medium, High, or Processingstring
Maximum score recorded in the last 15 days
string
Historical score from 0-5 (0-1 = no issues, 5 = 50%+ high spam)
string
Verizon carrier status:
Clean, Flagged, or Processingstring
AT&T carrier status:
Clean, Flagged, or Processingstring
T-Mobile carrier status:
Clean, Flagged, or Processingstring
RoboKiller app status:
Clean or Flaggedstring
Nomorobo app status:
Clean or Flaggedarray | null
Array of FTC complaints, or
null if noneError Responses
| Status | Description |
|---|---|
| 400 Bad Request | Invalid request parameters |
| 401 Unauthorized | Invalid or missing API key |
| 413 Payload Too Large | Too many records requested |
Pagination Example
async function getAllMonitoredNumbers(apiKey) {
const response = await fetch(
'https://dataapi.dncscrub.com/v1.5/TrustCall/GetAll?maxRecords=15000',
{
headers: { 'loginId': apiKey }
}
);
const totalCount = parseInt(response.headers.get('X-Total-Count'));
const results = await response.json();
console.log(`Retrieved ${results.length} of ${totalCount} total numbers`);
// Categorize by score
const flagged = results.filter(r => r.CurrScore === 'High');
const medium = results.filter(r => r.CurrScore === 'Medium');
const clean = results.filter(r => r.CurrScore === 'Clean');
return {
total: totalCount,
flagged: flagged.length,
medium: medium.length,
clean: clean.length,
results
};
}
⌘I