🛡️ Brand Reputation API

Get phone number reputation and trust information with real-time spam detection

Overview

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.

Migration Notice: This API replaces the deprecated /lookup endpoint. Use /trust for reputation checks, /cnam for caller names, /lrn for routing numbers, and /messaging for carrier information.

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/trust
GET https://api-service.verirouteintel.io/api/v1/trust?phone_number=19494600638

Request Body (POST)

{
  "phone_number": "19494600638"
}

Response

{
  "data": {
    "number": "19494600638",
    "is_spam": true,
    "is_robocall": true,
    "is_scam": false,
    "spam_type": "SPAM",
    "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": []
}

GraphQL Endpoint

POST
https://api-service.verirouteintel.io/graphql
Query
query TrustLookup($phoneNumber: String!) {
  trust(phoneNumber: $phoneNumber) {
    number
    isSpam
    isRobocall
    isScam
    spamType
    complaintCount
    subjects
    firstReported
    lastReported
    details
  }
}
Variables
{
  "phoneNumber": "19494600638"
}

Response

{
  "data": {
    "trust": {
      "number": "19494600638",
      "isSpam": true,
      "isRobocall": true,
      "isScam": false,
      "spamType": "SPAM",
      "complaintCount": 2,
      "subjects": ["Warranties"],
      "firstReported": "2022-06-27T12:33:40Z",
      "lastReported": "2025-07-04T18:02:13Z",
      "details": "FTC DNC complaints: 2"
    }
  }
}

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": "SPAM",
    "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 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/api/v1/trust \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"phone_number": "19494600638"}'

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 TrustLookup($phoneNumber: String!) { trust(phoneNumber: $phoneNumber) { number isSpam isRobocall spamType complaintCount subjects firstReported lastReported details } }",
    "variables": {"phoneNumber": "19494600638"}
  }'

Python - REST API

import requests

url = "https://api-service.verirouteintel.io/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']}")

Python - GraphQL

import requests

url = "https://api-service.verirouteintel.io/graphql"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
}
query = """
query TrustLookup($phoneNumber: String!) {
  trust(phoneNumber: $phoneNumber) {
    number
    isSpam
    isRobocall
    spamType
    complaintCount
    subjects
    firstReported
    lastReported
    details
  }
}
"""
variables = {"phoneNumber": "19494600638"}

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": "",
    "is_spam": false,
    "spam_type": "INVALID_NUMBER"
  },
  "errors": ["Invalid phone number format"]
}

Rate Limits

API requests are limited to:

  • 200 requests per hour
  • 20 requests per minute
  • Rate limits are per API key
  • Upgrade your plan for higher limits