CNAM API – U.S. Real-Time Caller Name Lookup
Retrieve caller name information for phone numbers with optional spam detection
How It Works
The CNAM API provides caller ID name lookup for phone numbers. Perfect for call centers, caller ID applications, and spam detection systems.
Features
- Caller Name Lookup: Get registered caller ID names
- Spam Detection: Optional spam risk assessment
- Real-time Results: Fast response times
- High Availability: 99.9% uptime guarantee
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
{
"phone_number": "19494600638",
"include_spam": true
}
Response
{
"data": {
"number": "19494600638",
"cnam": "WARRANTY SCAMMER",
"spam_type": "SPAM"
},
"errors": []
}
GraphQL Endpoint
query LookupCnam($number: String!, $includeSpam: Boolean) {
lookupCnam(phoneNumber: $number, includeSpam: $includeSpam) {
number
cnam
spam_type
}
}
{
"number": "19494600638",
"includeSpam": true
}
Response
{
"data": {
"lookupCnam": {
"number": "19494600638",
"cnam": "WARRANTY SCAMMER",
"spam_type": "SPAM"
}
}
}
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
phone_number / phoneNumber |
string | Yes | The phone number to lookup (10-digit US number) |
include_spam / includeSpam |
boolean | No | Include spam risk assessment (default: false) |
Response Format
Success Response
{
"data": {
"number": "19494600638",
"cnam": "WARRANTY SCAMMER",
"spam_type": "SPAM"
},
"errors": []
}
Spam Types
NONE
- No spam detectedSPAM
- Known spam numberROBOCALL
- Automated calling systemSCAM
- Fraudulent caller
Integration Examples
cURL - REST API
curl -X POST https://api-service.verirouteintel.io/api/v1/cnam \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"phone_number": "19494600638", "include_spam": true}'
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 LookupCnam($number: String!, $includeSpam: Boolean) { lookupCnam(phoneNumber: $number, includeSpam: $includeSpam) { number cnam spam_type } }",
"variables": {"number": "19494600638", "includeSpam": true}
}'
Python - REST API
import requests
url = "https://api-service.verirouteintel.io/api/v1/cnam"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
}
data = {
"phone_number": "19494600638",
"include_spam": True
}
response = requests.post(url, headers=headers, json=data)
result = response.json()
print(result)
Python - GraphQL
import requests
url = "https://api-service.verirouteintel.io/graphql"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
}
query = """
query LookupCnam($number: String!, $includeSpam: Boolean) {
lookupCnam(phoneNumber: $number, includeSpam: $includeSpam) {
number
cnam
spam_type
}
}
"""
variables = {"number": "19494600638", "includeSpam": True}
response = requests.post(url, headers=headers, json={
"query": query,
"variables": variables
})
result = response.json()
print(result)
Error Handling
The API returns standard HTTP status codes and detailed error messages:
{
"data": {
"number": "",
"cnam": null,
"spam_type": "INVALID_NUMBER"
},
"errors": ["Invalid phone number format"]
}
Rate Limits
API requests are limited to:
- POST requests: 500 per hour; 20 per minute
- GET requests: 100 per minute
- Rate limits are per API key
- Upgrade your plan for higher limits
Pricing
Our CNAM API uses a simple pay-as-you-go pricing model:
- Always Free Tier: 10 free LRN/Enhanced LRN lookups per month
- Pay-per-use: Competitive per-lookup pricing after wallet funding
- No subscriptions: No recurring charges or auto-refill
- Enterprise: Custom pricing for high-volume usage
FAQs
What is CNAM?
CNAM (Caller Name) is the display name associated with a phone number that appears on caller ID systems.
How accurate is the CNAM data?
Our CNAM database is updated in real-time and provides high accuracy for U.S. phone numbers.
Do you support international numbers?
Currently, our CNAM API focuses on U.S. phone numbers for the highest accuracy and coverage.