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 detected
  • SPAM - Known spam number
  • ROBOCALL - Automated calling system
  • SCAM - 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