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: Access to federal complaint records
- Spam & Robocall Reports: Aggregated reports from reputation and analytics sources
- Consumer Reports: Crowdsourced spam and scam reports
- Machine Learning: Pattern recognition for emerging threats
Note on coverage: the score is a single aggregated reputation signal. It is not a per-carrier label and does not represent a number's live status on any one carrier's network (AT&T, Verizon and T-Mobile each apply their own proprietary spam analytics). A NONE / clean result means the number is not flagged in our aggregated data — a strong signal for triage, not a per-carrier certification.
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.
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 |
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://verirouteintel.com/api/v1/trust \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"phone_number": "19494600638"}'
Python - REST API
import requests
url = "https://verirouteintel.com/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']}")
cURL - REST API v2 (with Reputation Score)
curl -X POST https://verirouteintel.com/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://verirouteintel.com/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 combines FTC data, aggregated spam/robocall reports, and machine-learning models, updated regularly. It returns one aggregated reputation signal rather than a per-carrier label.
What data sources are used for reputation scoring?
We aggregate reputation signals from public complaint data (e.g. FTC complaints), aggregated spam/robocall reports, consumer feedback, and proprietary machine-learning models to produce a single reputation score — an aggregate signal, not a per-carrier label.
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.