Spam Reporting API – Report Phone Number Spam

Report spam, robocalls, and scam phone numbers to help protect the community

Community-Driven Spam Protection

The Spam Reporting API allows you to report spam, robocalls, and scam phone numbers to our master spam database. Your reports help protect the entire community by building a comprehensive database of malicious phone numbers.

Rate Limits: 50 reports per hour, 5 reports per minute per API key to prevent abuse.

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

Report Spam Number

POST https://api-service.verirouteintel.io/api/v1/spam/report

Request Body

{
  "phone_number": "15555550123",
  "report_type": "spam",
  "caller_name": "Fake Insurance Company",
  "description": "Automated call about car warranty",
  "incident_date": "2024-01-15T14:30:00Z"
}

Successful Response

{
  "success": true,
  "message": "Spam report submitted successfully",
  "data": {
    "phone_number": "15555550123",
    "report_id": "rpt_abc123def456",
    "status": "processed",
    "contribution_points": 10
  }
}

Parameters

Parameter Type Required Description
phone_number string Yes Phone number in E.164 format (+15555550123) or national format
report_type string Yes Type of spam: "spam", "robocall", "scam", "telemarketing", "political"
caller_name string No Name provided by the caller (if any)
description string No Description of the spam incident (max 500 characters)
incident_date string No ISO 8601 timestamp of when the incident occurred

Code Examples

Python

import requests
import json
from datetime import datetime

url = "https://api-service.verirouteintel.io/api/v1/spam/report"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
}

data = {
    "phone_number": "15555550123",
    "report_type": "spam",
    "caller_name": "Fake Insurance",
    "description": "Automated warranty call",
    "incident_date": datetime.now().isoformat() + "Z"
}

response = requests.post(url, headers=headers, json=data)
print(response.json())

JavaScript

const reportSpam = async () => {
  const response = await fetch('https://api-service.verirouteintel.io/api/v1/spam/report', {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      phone_number: '15555550123',
      report_type: 'spam',
      caller_name: 'Fake Insurance',
      description: 'Automated warranty call',
      incident_date: new Date().toISOString()
    })
  });
  
  const result = await response.json();
  console.log(result);
};

cURL

curl -X POST https://api-service.verirouteintel.io/api/v1/spam/report \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "phone_number": "15555550123",
    "report_type": "spam",
    "caller_name": "Fake Insurance",
    "description": "Automated warranty call",
    "incident_date": "2024-01-15T14:30:00Z"
  }'

Error Handling

Common Error Responses

400 Bad Request - Invalid Phone Number

{
  "success": false,
  "error": "Invalid phone number format",
  "code": "INVALID_PHONE_NUMBER"
}

400 Bad Request - Invalid Report Type

{
  "success": false,
  "error": "Invalid report type. Must be one of: spam, robocall, scam, telemarketing, political",
  "code": "INVALID_REPORT_TYPE"
}

429 Too Many Requests - Rate Limit Exceeded

{
  "success": false,
  "error": "Rate limit exceeded. Maximum 50 reports per hour, 5 per minute.",
  "code": "RATE_LIMIT_EXCEEDED",
  "retry_after": 3600
}

409 Conflict - Duplicate Report

{
  "success": false,
  "error": "Duplicate report. You have already reported this number within the last 24 hours.",
  "code": "DUPLICATE_REPORT"
}

Rate Limits

To prevent abuse and ensure fair usage, the Spam Reporting API has the following rate limits:

  • 50 reports per hour per API key
  • 5 reports per minute per API key
  • 1 report per phone number per 24 hours per API key (duplicate prevention)

Rate limit headers are included in all responses:

X-RateLimit-Limit: 50
X-RateLimit-Remaining: 49
X-RateLimit-Reset: 1642262400