Dashboard Get API Key →

FraudIntel India API

Real-time fraud intelligence for Indian fintech, banks, wallets & NBFCs. Detect scam messages, flag suspicious phone numbers & UPI IDs, and score transaction risk — all in one API.

Base URL:  https://fraudintel.in   ·   Version: v2.0   ·   Format: JSON

AUTHENTICATION

All API requests require an API key passed in the X-API-Key header. Generate your key from the Settings → API Keys section of your dashboard.

# Pass your API key in every request
X-API-Key: fi_live_xxxxxxxxxxxxxxxxxxxxxxxx
⚠️ Keep your API key secret. Never expose it in frontend code or public repositories. Rotate it immediately from your dashboard if compromised.

QUICK START

Analyze your first message in under 60 seconds:

cURL
Node.js
Python
curl -X POST https://fraudintel.in/v1/analyze \
  -H "X-API-Key: fi_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"text": "Your HDFC account will be blocked. Update KYC immediately."}'
// npm install node-fetch
const response = await fetch('https://fraudintel.in/v1/analyze', {
  method: 'POST',
  headers: {
    'X-API-Key': 'fi_live_your_key_here',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({ text: 'Your HDFC account will be blocked...' })
});
const data = await response.json();
console.log(data.category_label, data.risk_level, data.confidence);
# pip install requests
import requests

response = requests.post(
  'https://fraudintel.in/v1/analyze',
  headers={'X-API-Key': 'fi_live_your_key_here'},
  json={'text': 'Your HDFC account will be blocked. Update KYC immediately.'}
)
data = response.json()
print(data['category_label'], data['risk_level'], data['confidence'])

Example Response

{
  "status":         "success",
  "category":       "kyc fraud",
  "category_label": "KYC / Bank Fraud",
  "confidence":     94,
  "risk_score":     88,
  "risk_level":     "HIGH",
  "risk_drivers":   "urgency, account threat, KYC demand",
  "plain_summary":  "DANGEROUS. This message impersonates your bank and uses urgency to steal credentials.",
  "what_to_do":     "Banks never ask for KYC via SMS links. Visit your branch directly. Call 1930.",
  "signals":        ["kyc_fraud", "account_threat", "urgency"],
  "entities": {
    "phones":  [],
    "upi_ids": [],
    "emails":  [],
    "domains": ["hdfc-kyc-update.xyz"],
    "banks":   ["HDFC"]
  },
  "meta": {
    "api_version":  "2.0",
    "processed_at": "2026-03-22T07:30:00.000Z"
  }
}

POST /v1/analyze

Analyze any text message for fraud. Returns risk score, category, extracted entities, and actionable advice. Powers real-time chat screening, SMS analysis, and customer support fraud detection.

POST /v1/analyze
Request body (JSON):
FIELDTYPEDESCRIPTION
text *requiredstringThe message text to analyze. Max 5,000 characters.
Response fields:
FIELDTYPEDESCRIPTION
categorystringMachine-readable fraud category (e.g. kyc fraud, digital arrest)
category_labelstringHuman-readable label (e.g. KYC / Bank Fraud)
confidencenumberAI confidence score 0–100
risk_scorenumberCombined risk score 0–100
risk_levelstringHIGH / MEDIUM / LOW
risk_driversstringComma-separated list of what triggered the risk
plain_summarystringPlain English verdict for end users
what_to_dostringActionable advice specific to this fraud type
signalsarrayInternal signal codes detected
entitiesobjectExtracted phones, UPI IDs, emails, domains, banks

GET /v1/check-phone

Check if a phone number appears in our fraud database. Returns report count, risk level, and fraud categories linked to this number.

GET /v1/check-phone?phone=9876543210
PARAMTYPEDESCRIPTION
phone *requiredstring10-digit Indian mobile number (without +91)
{
  "found":      true,
  "risk_level": "HIGH",
  "category":   "digital_arrest",
  "times_seen": 14,
  "last_seen":  "2026-03-21T10:30:00Z",
  "reported":   14
}

GET /v1/check-upi

Verify a UPI ID against our fraud entity database before processing a payment.

GET /v1/check-upi?upi=suspect@paytm
PARAMTYPEDESCRIPTION
upi *requiredstringFull UPI ID (e.g. name@okaxis)

GET /v1/check-url

Check if a URL or domain is a known phishing or scam site.

GET /v1/check-url?url=https://hdfc-kyc-update.xyz
PARAMTYPEDESCRIPTION
url *requiredstringFull URL or domain to check

POST /v1/transaction-risk

Score a financial transaction for fraud risk before it completes. Designed for payment gateways, wallet apps, and NBFCs. Analyzes recipient phone, UPI ID, amount, and transaction context together.

POST /v1/transaction-risk
FIELDTYPEDESCRIPTION
phonestringRecipient phone number
upi_idstringRecipient UPI ID
amountnumberTransaction amount in INR
messagestringPayment note / narration text
emailstringRecipient email (optional)
{
  "risk_score":  82,
  "risk_level":  "HIGH",
  "action":      "BLOCK",
  "reasons":     ["phone_in_multiple_reports", "upi_flagged"],
  "summary":     "Recipient phone flagged in 14 fraud reports. Block this transaction."
}

GET /v1/reports

Retrieve the latest fraud reports from our database. Useful for building dashboards, training models, or monitoring new threats.

GET /v1/reports?limit=20&offset=0
PARAMTYPEDESCRIPTION
limitnumberResults per page (default: 20, max: 100)
offsetnumberPagination offset (default: 0)

GET /v1/stats

Get aggregate fraud intelligence statistics — total reports, active threats, top fraud categories, and state-wise breakdown.

GET /v1/stats

PRICING

All plans include access to the full API. Upgrade or downgrade anytime from your dashboard.

FREE
₹0 / month
100 API calls / day
All endpoints included
Community support
JSON responses
Get Started Free
ENTERPRISE
Custom
Unlimited API calls
Custom integrations
Dedicated support
On-premise option
Custom fraud models
SLA: 99.9% uptime
Contact Sales →

RATE LIMITS

PLANDAILY LIMITRATE
Free100 calls/day10 req/min
Pro10,000 calls/day100 req/min
EnterpriseUnlimitedCustom

When you exceed your limit, the API returns HTTP 429. Check your current usage at GET /v1/usage.

ERROR CODES

HTTP CODEMEANING
400Bad Request — missing or invalid parameters
401Unauthorized — missing or invalid API key
429Rate Limited — daily or per-minute limit exceeded
500Server Error — retry after a few seconds

All errors return a JSON body: {"error": "human readable message"}

USE CASES

💳 Payment Gateways & Wallet Apps

Call /v1/transaction-risk before completing any P2P transfer. Block or flag high-risk recipients in real time — before the money moves.

🏦 Banks & NBFCs

Screen inbound customer support messages for fraud. Detect customers who may be mid-scam and intervene before they transfer funds.

📱 Telecom & OTP Providers

Use /v1/check-phone to flag numbers requesting OTPs that appear in fraud reports. Add a friction layer for suspicious originating numbers.

🛒 E-commerce Platforms

Validate seller UPI IDs and phone numbers at onboarding. Prevent scammers from listing on your platform by checking against our fraud entity database.

📊 Fraud Analytics Teams

Pull fresh fraud report data via /v1/reports to enrich your internal models. Use our entity extraction to identify new fraud patterns as they emerge across India.

Ready to integrate?

Get your free API key in 30 seconds. No credit card required.

Get API Key Free →
FRAUD INTEL INDIA · API v2.0 · support: api@fraudintel.in · National Cyber Crime Helpline: 1930