Trust & Reputation API – U.S. Phone Number Compliance
Get phone number reputation and trust information with real-time spam detection
Choose Your Version
v1 - Boolean Flags
/api/v1/trust
Returns is_spam, is_robocall, is_scam booleans
v2 - Reputation Scoring
RECOMMENDED/api/v2/trust
Adds reputation_score (0-100) and trust_level
Jump to v2 docs →Spam & Fraud Detection
The Brand Reputation API provides comprehensive trust and reputation information for phone numbers. It identifies spam, robocalls, and scam numbers using our master spam database as the source of truth.
Reputation Scoring
Our advanced reputation scoring system analyzes multiple data sources to provide accurate trust assessments:
- FTC Complaint Database: Real-time access to federal complaint records
- Carrier Reports: Direct feeds from major telecommunications providers
- Consumer Reports: Crowdsourced spam and scam reports
- Machine Learning: AI-powered pattern recognition for emerging threats
Authentication
All API requests require authentication using your API key. Include your API key in the request headers:
Authorization: Bearer YOUR_API_KEY
Don't have an API key? Get your API key here.
API Methods
REST Endpoint
Request Body (POST)
{
"phone_number": "19494600638"
}
Response
{
"data": {
"number": "19494600638",
"is_spam": true,
"is_robocall": true,
"is_scam": false,
"spam_type": "ROBOCALL",
"complaint_count": 2,
"subjects": ["Warranties"],
"first_reported": "2022-06-27T12:33:40Z",
"last_reported": "2025-07-04T18:02:13Z",
"details": "FTC DNC complaints: 2"
},
"errors": []
}
spam_type reflects the most specific: ROBOCALL > SCAM > SPAM.
GraphQL Endpoint
query LookupTrust($phoneNumber: String!) {
lookupTrust(phoneNumber: $phoneNumber) {
number
isSpam
isRobocall
isScam
spamType
complaintCount
subjects
firstReported
lastReported
details
}
}
{
"phoneNumber": "19494600638"
}
Response
{
"data": {
"lookupTrust": {
"number": "19494600638",
"isSpam": true,
"isRobocall": true,
"isScam": false,
"spamType": "ROBOCALL",
"complaintCount": 2,
"subjects": ["Warranties"],
"firstReported": "2022-06-27T12:33:40Z",
"lastReported": "2025-07-04T18:02:13Z",
"details": "FTC DNC complaints: 2"
}
}
}
API v2 - Enhanced Reputation Scoring
The Trust API v2 adds quantitative reputation scoring for more precise trust assessments. In addition to the boolean spam flags, v2 returns a numeric reputation score and categorical trust level.
reputation_score (0-100), trust_level (high/medium/low), and last_updated timestamp.
REST Endpoint (v2)
Request Body
{
"phone_number": "19494600638"
}
Response
{
"data": {
"number": "19494600638",
"is_spam": true,
"is_robocall": true,
"is_scam": false,
"spam_type": "ROBOCALL",
"complaint_count": 2,
"subjects": ["Warranties"],
"reputation_score": 20,
"trust_level": "low",
"last_updated": "2026-01-18T12:30:00Z"
},
"errors": []
}
Trust Level Thresholds
| Trust Level | Score Range | Description |
|---|---|---|
high |
70-100 | No spam indicators, low risk number |
medium |
40-69 | Some suspicious activity, moderate risk |
low |
0-39 | Spam/scam/robocall detected, high risk |
Reputation Score by Type
| Classification | Typical Score |
|---|---|
| Confirmed Scam | 10 |
| Confirmed Robocall | 20 |
| General Spam | 35 |
| Clean (no indicators) | 50-85 |
GraphQL Query (v2)
query LookupTrustV2($phoneNumber: String!) {
lookupTrustV2(phoneNumber: $phoneNumber) {
number
isSpam
isRobocall
isScam
spamType
complaintCount
subjects
reputationScore
trustLevel
lastUpdated
}
}
{
"phoneNumber": "19494600638"
}
Response
{
"data": {
"lookupTrustV2": {
"number": "19494600638",
"isSpam": true,
"isRobocall": true,
"isScam": false,
"spamType": "ROBOCALL",
"complaintCount": 2,
"subjects": ["Warranties"],
"reputationScore": 20,
"trustLevel": "low",
"lastUpdated": "2026-01-18T12:30:00Z"
}
}
}
v1 vs v2 Comparison
| Feature | v1 (/api/v1/trust) | v2 (/api/v2/trust) |
|---|---|---|
| Spam flags (is_spam, is_robocall, is_scam) | ✓ | ✓ |
| spam_type classification | ✓ | ✓ |
| complaint_count, subjects | ✓ | ✓ |
| reputation_score (0-100) | - | ✓ |
| trust_level (high/medium/low) | - | ✓ |
| last_updated timestamp | - | ✓ |
/api/v1/trust will continue to work without modification.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
phone_number / phoneNumber |
string | Yes | Phone number in E.164 format (+19494600638) or national format |
Response Format
Success Response
{
"data": {
"number": "19494600638",
"is_spam": true,
"is_robocall": true,
"is_scam": false,
"spam_type": "ROBOCALL",
"complaint_count": 2,
"subjects": ["Warranties"],
"first_reported": "2022-06-27T12:33:40Z",
"last_reported": "2025-07-04T18:02:13Z",
"details": "FTC DNC complaints: 2"
},
"errors": []
}
Response Fields
| Field | Type | Description |
|---|---|---|
is_spam |
boolean | True if any spam indicator detected |
is_robocall |
boolean | True if automated/robocall detected |
is_scam |
boolean | True if scam/fraud detected |
spam_type |
string | Primary classification (see below) |
Additional v2 Response Fields
| Field | Type | Description |
|---|---|---|
reputation_score |
integer | 0-100 score (higher = more trustworthy) |
trust_level |
string | Categorical level: "high", "medium", or "low" |
last_updated |
string | ISO 8601 timestamp of when data was last updated |
Spam Types
The spam_type field uses priority ordering: ROBOCALL > SCAM > SPAM
NONE- No spam detectedSPAM- Known spam numberROBOCALL- Automated calling system (highest priority)SCAM- Fraudulent caller
FTC/Traceback Integration
Seamlessly integrate with FTC traceback reporting and compliance systems:
- Automated Compliance: Real-time FTC data integration
- Traceback Reports: Access to official traceback investigations
- Regulatory Updates: Stay current with federal enforcement actions
- Audit Trail: Complete documentation for compliance reporting
Sample Requests
cURL - REST API
curl -X POST https://api-service.verirouteintel.io/api/v1/trust \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"phone_number": "19494600638"}'
cURL - GraphQL
curl -X POST https://api-service.verirouteintel.io/graphql \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "query LookupTrust($phoneNumber: String!) { lookupTrust(phoneNumber: $phoneNumber) { number isSpam isRobocall spamType complaintCount subjects firstReported lastReported details } }",
"variables": {"phoneNumber": "19494600638"}
}'
Python - REST API
import requests
url = "https://api-service.verirouteintel.io/api/v1/trust"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
}
data = {
"phone_number": "19494600638"
}
response = requests.post(url, headers=headers, json=data)
result = response.json()
print(f"Spam Status: {result['data']['spam_type']}")
Python - GraphQL
import requests
url = "https://api-service.verirouteintel.io/graphql"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
}
query = """
query LookupTrust($phoneNumber: String!) {
lookupTrust(phoneNumber: $phoneNumber) {
number
isSpam
isRobocall
spamType
complaintCount
subjects
firstReported
lastReported
details
}
}
"""
variables = {"phoneNumber": "19494600638"}
response = requests.post(url, headers=headers, json={
"query": query,
"variables": variables
})
result = response.json()
print(result)
cURL - REST API v2 (with Reputation Score)
curl -X POST https://api-service.verirouteintel.io/api/v2/trust \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"phone_number": "19494600638"}'
Python - REST API v2
import requests
url = "https://api-service.verirouteintel.io/api/v2/trust"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
}
data = {
"phone_number": "19494600638"
}
response = requests.post(url, headers=headers, json=data)
result = response.json()
# Access reputation score and trust level
data = result['data']
print(f"Reputation Score: {data['reputation_score']}/100")
print(f"Trust Level: {data['trust_level']}")
print(f"Last Updated: {data['last_updated']}")
Error Handling
The API returns standard HTTP status codes and detailed error messages:
{
"data": {
"number": "",
"is_spam": false,
"spam_type": "INVALID_NUMBER"
},
"errors": ["Invalid phone number format"]
}
Rate Limits
API requests are limited to:
- 200 rps
- 200 rps per minute
- Rate limits are per API key
- Upgrade your plan for higher limits
Rate limit headers are included in all responses:
X-RateLimit-Limit: 200
X-RateLimit-Remaining: 199
X-RateLimit-Reset: 60
429 Too Many Requests
When rate limits are exceeded, the API returns a 429 status code:
{
"error": "Rate limit exceeded",
"message": "Too many requests. Please wait before making another request.",
"retry_after": 60
}
FAQs
How accurate is the spam detection?
Our Trust API maintains 99.5% accuracy by combining FTC data, carrier reports, and machine learning algorithms updated in real-time.
What data sources are used for reputation scoring?
We aggregate data from FTC complaints, carrier spam reports, consumer feedback, and proprietary machine learning models to provide comprehensive reputation scores.
How often is the spam database updated?
Our database is updated in real-time with new spam reports and FTC traceback data, ensuring the most current threat intelligence.