Skip to content

Latest commit

Β 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ›‘οΈ NumGuard API

Real-Time Phone Number Intelligence, Carrier Lookup & VoIP Fraud Barrier

RapidAPI Latency Python FastAPI Docker License: MIT


Stop burning money sending SMS OTP codes to disposable VoIP numbers. Detect virtual burner carriers, classify line types (Mobile vs. Landline vs. VoIP), and prevent trial abuse in sub-30ms.

Get Free API Key on RapidAPI β€’ API Documentation β€’ Pricing Plans


🎯 What is NumGuard?

Sending an SMS verification code costs between $0.02 and $0.08 per message. When fraudsters and bot farms use free virtual numbers (Google Voice, Twilio, TextNow, Skype) to mass-create fake accounts, SaaS founders lose thousands of dollars in wasted SMS fees and bogus trial databases.

NumGuard is a high-throughput phone intelligence engine engineered for sign-up forms, fintech onboarding, and fraud mitigation. In under 25 milliseconds, NumGuard verifies validity, resolves carrier and line type, flags virtual/VoIP ranges, and returns an automated recommendation (ALLOW, FLAG, or BLOCK).

πŸ›‘οΈ Core Capabilities

  • Strict International E.164 Parsing: Validates numbers across 240+ countries and territories.
  • Line Type Classification: Accurately separates MOBILE (can receive SMS) from FIXED_LINE (landlines) and VOIP (virtual burners).
  • Virtual Carrier Blacklist: Flags Twilio, Bandwidth, Google Voice, TextNow, Telnyx, Sinch, Plivo, Skype, and 15+ other virtual providers.
  • Full Format Conversion: Generates E.164, National, International, and RFC 3966 formats on every response.
  • Location & Timezone Resolution: Extracts country name, state/region, and local timezones to prevent spamming users at 3:00 AM.
  • Composite Fraud Risk Score (0–100): Deterministic action recommendations (ALLOW, FLAG, BLOCK).

πŸš€ Quickstart (Under 60 Seconds)

1. Get your API Key

Subscribe to the Free Basic Tier (50 free requests/month) on RapidAPI.

2. Make your first request

Python (requests)

import requests

url = "https://numguard-phone-and-voip-fraud-detection.p.rapidapi.com/v1/validate"
querystring = {"phone": "+14155552671", "country_code": "US"}

headers = {
    "x-rapidapi-key": "YOUR_RAPIDAPI_KEY",
    "x-rapidapi-host": "numguard-phone-and-voip-fraud-detection.p.rapidapi.com"
}

response = requests.get(url, headers=headers, params=querystring)
print(response.json())

Node.js / JavaScript (fetch)

const url = 'https://numguard-phone-and-voip-fraud-detection.p.rapidapi.com/v1/validate?phone=+14155552671&country_code=US';
const options = {
    method: 'GET',
    headers: {
        'x-rapidapi-key': 'YOUR_RAPIDAPI_KEY',
        'x-rapidapi-host': 'numguard-phone-and-voip-fraud-detection.p.rapidapi.com'
    }
};

const response = await fetch(url, options);
const data = await response.json();
console.log(data);

cURL

curl --request GET \
  --url 'https://numguard-phone-and-voip-fraud-detection.p.rapidapi.com/v1/validate?phone=+14155552671&country_code=US' \
  --header 'x-rapidapi-host: numguard-phone-and-voip-fraud-detection.p.rapidapi.com' \
  --header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY'

πŸ“¦ Sample API Responses

Low Risk / Legitimate Mobile Phone

{
  "phone_input": "+12025550143",
  "is_valid": true,
  "is_possible": true,
  "formats": {
    "e164": "+12025550143",
    "international": "+1 202-555-0143",
    "national": "(202) 555-0143",
    "rfc3966": "tel:+1-202-555-0143"
  },
  "location": {
    "country_code": "US",
    "country_name": "United States",
    "region": "District of Columbia",
    "timezones": ["America/New_York"]
  },
  "carrier": {
    "name": "Verizon Wireless",
    "line_type": "MOBILE",
    "is_mobile": true,
    "is_landline": false,
    "is_virtual": false
  },
  "risk_score": 0,
  "risk_level": "LOW",
  "recommended_action": "ALLOW",
  "reasons": [
    "Verified mobile carrier (optimal for SMS verification)"
  ]
}

High Risk / Disposable Virtual VoIP Number

{
  "phone_input": "+14155550199",
  "is_valid": true,
  "is_possible": true,
  "formats": {
    "e164": "+14155550199",
    "international": "+1 415-555-0199",
    "national": "(415) 555-0199",
    "rfc3966": "tel:+1-415-555-0199"
  },
  "location": {
    "country_code": "US",
    "country_name": "United States",
    "region": "California",
    "timezones": ["America/Los_Angeles"]
  },
  "carrier": {
    "name": "Google Voice / Bandwidth.com",
    "line_type": "VOIP",
    "is_mobile": false,
    "is_landline": false,
    "is_virtual": true
  },
  "risk_score": 90,
  "risk_level": "HIGH",
  "recommended_action": "BLOCK",
  "reasons": [
    "Virtual/VoIP phone number detected (high risk for automated trial fraud / disposable inboxes)"
  ]
}

πŸ’³ Commercial Plans & Pricing

NumGuard is available on RapidAPI with tiers structured for bootstrapped indie hackers up to growth platforms:

Tier Price Monthly Quota Overage Rate Ideal For
Basic $0.00 / mo 50 requests None (Hard Cap) Prototyping & testing
Pro $19.99 / mo 5,000 requests $0.004 / request SaaS startups & signup forms
Ultra $59.00 / mo 25,000 requests $0.003 / request High-volume mobile apps & fintech

πŸ‘‰ Subscribe and Start Building


πŸ› οΈ Self-Hosting (Docker)

# Clone the repository
git clone https://github.com/jasdebarreau3-cell/numguard.git
cd numguard

# Build the Docker image
docker build -t numguard-api .

# Run container on port 8000
docker run -p 8000:8000 numguard-api

πŸ“„ License

This repository is licensed under the MIT License.

Developed and maintained by VeriPulse Labs.