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

POST https://api-service.verirouteintel.io/api/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 detected
  • SPAM - Known spam number
  • ROBOCALL - Automated calling system
  • SCAM - 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

View detailed pricing →

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.