Spam Phone Number Check API
Real-time spam lookup against 1M+ US spam numbers. Free REST API, no authentication required.

Check Phone Number for Spam
Enter any US phone number to check if it's in our spam database
API Documentation
The Spam Number Checker API lets you instantly check if a phone number is marked as spam. With simple JSON endpoints and lightning-fast response times, it's easy to integrate into any app, CRM, or call-handling system.
Base URL
https://spam.skipcalls.app/Why Use This API?
- Detect spam in real time before answering calls
- Protect users from fraud and scam attempts
- Integrate in minutes with straightforward REST endpoints
- Scale freely — no rate limits for reasonable use
- No authentication required
Endpoints
1. Check a Single Phone Number
GET /check/:number
Check one number for spam status.
Example Request
curl https://spam.skipcalls.app/check/2125551234Response (Spam Found)
{
"number": "2125551234",
"isSpam": true,
"source": "user_reports",
"reportCount": 47,
"lastReported": "2025-12-10T14:30:00Z"
}Response (Not Spam)
{
"number": "2125559999",
"isSpam": false
}2. Bulk Check (Multiple Numbers)
POST /check/bulk
Check multiple numbers in a single request (up to 100 numbers).
Example Request
curl -X POST https://spam.skipcalls.app/check/bulk \
-H "Content-Type: application/json" \
-d '{"numbers": ["2125551234", "3105559999", "4155551111"]}'Response
{
"results": [
{ "number": "2125551234", "isSpam": true, "reportCount": 47 },
{ "number": "3105559999", "isSpam": false },
{ "number": "4155551111", "isSpam": true, "reportCount": 12 }
],
"checked": 3,
"spamFound": 2
}3. Get Database Stats
GET /stats
Get current database statistics.
Response
{
"totalSpamNumbers": 1247832,
"lastUpdated": "2025-12-16T00:00:00Z",
"checksToday": 45231
}Response Codes
- 200 OK — Successful lookup
- 400 Bad Request — Invalid phone number format
- 429 Too Many Requests — Rate limit exceeded (1000 req/min)
- 500 Internal Error — Server issue, retry later
Code Examples
JavaScript / Node.js
const checkSpam = async (phoneNumber) => {
const response = await fetch(
`https://spam.skipcalls.app/check/${phoneNumber}`
);
const data = await response.json();
return data.isSpam;
};
// Usage
const isSpam = await checkSpam('2125551234');
console.log(isSpam ? 'SPAM!' : 'Safe number');Python
import requests
def check_spam(phone_number):
response = requests.get(
f"https://spam.skipcalls.app/check/{phone_number}"
)
data = response.json()
return data.get("isSpam", False)
# Usage
is_spam = check_spam("2125551234")
print("SPAM!" if is_spam else "Safe number")cURL
# Single check
curl https://spam.skipcalls.app/check/2125551234
# Bulk check
curl -X POST https://spam.skipcalls.app/check/bulk \
-H "Content-Type: application/json" \
-d '{"numbers": ["2125551234", "3105559999"]}'Use Cases
- Call Centers — Screen incoming calls before agents pick up
- CRM Systems — Flag spam leads before they enter your pipeline
- Mobile Apps — Show spam warnings on incoming calls
- VoIP Providers — Block or warn about spam calls
- Lead Verification — Validate phone numbers before outreach
Frequently Asked Questions About Spam Detection
Beyond Spam Detection: AI-Powered Call Handling
While our free API helps identify spam numbers, SkipCalls AI takes it further — answering your business calls 24/7, filtering spam automatically, and converting real customers into booked appointments. Never miss a lead, never answer spam.
Download SkipCalls and let AI handle your business calls
Related Questions People Ask
- •How do I check if a phone number is spam?
- •Is there a free API to detect robocalls?
- •How can I block spam calls on my business phone?
- •What database has the most spam phone numbers?
- •How do call centers filter spam calls?
- •Can I report a spam number to a database?
- •What is STIR/SHAKEN caller ID verification?
- •How do I integrate spam detection into my CRM?