CNAM API
Fast and accurate CNAM (Caller ID Name) lookup API with optional spam detection.
Overview
The CNAM API provides caller ID name lookup for phone numbers. Perfect for call centers, caller ID applications, and spam detection systems.
Key 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
POST
https://api-service.verirouteintel.io/v1/cnam
Request Body
{
"phone_number": "19494600638",
"include_spam": true
}
Response
{
"data": {
"number": "19494600638",
"cnam": "WARRANTY SCAMMER",
"spam_type": "SPAM"
},
"errors": []
}
GraphQL Endpoint
POST
https://api-service.verirouteintel.io/graphql
Query
query LookupCnam($number: String!, $includeSpam: Boolean) {
lookupCnam(phoneNumber: $number, includeSpam: $includeSpam) {
number
cnam
spam_type
}
}
Variables
{
"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
Code Examples
cURL - REST API
curl -X POST https://api-service.verirouteintel.io/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/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:
- Free tier: 10 requests per month
- Paid plans: Based on your subscription level