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.
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
QUICK START
Analyze your first message in under 60 seconds:
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.
| FIELD | TYPE | DESCRIPTION |
|---|---|---|
| text *required | string | The message text to analyze. Max 5,000 characters. |
| FIELD | TYPE | DESCRIPTION |
|---|---|---|
| category | string | Machine-readable fraud category (e.g. kyc fraud, digital arrest) |
| category_label | string | Human-readable label (e.g. KYC / Bank Fraud) |
| confidence | number | AI confidence score 0–100 |
| risk_score | number | Combined risk score 0–100 |
| risk_level | string | HIGH / MEDIUM / LOW |
| risk_drivers | string | Comma-separated list of what triggered the risk |
| plain_summary | string | Plain English verdict for end users |
| what_to_do | string | Actionable advice specific to this fraud type |
| signals | array | Internal signal codes detected |
| entities | object | Extracted 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.
| PARAM | TYPE | DESCRIPTION |
|---|---|---|
| phone *required | string | 10-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.
| PARAM | TYPE | DESCRIPTION |
|---|---|---|
| upi *required | string | Full UPI ID (e.g. name@okaxis) |
GET /v1/check-url
Check if a URL or domain is a known phishing or scam site.
| PARAM | TYPE | DESCRIPTION |
|---|---|---|
| url *required | string | Full 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.
| FIELD | TYPE | DESCRIPTION |
|---|---|---|
| phone | string | Recipient phone number |
| upi_id | string | Recipient UPI ID |
| amount | number | Transaction amount in INR |
| message | string | Payment note / narration text |
| string | Recipient 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.
| PARAM | TYPE | DESCRIPTION |
|---|---|---|
| limit | number | Results per page (default: 20, max: 100) |
| offset | number | Pagination offset (default: 0) |
GET /v1/stats
Get aggregate fraud intelligence statistics — total reports, active threats, top fraud categories, and state-wise breakdown.
PRICING
All plans include access to the full API. Upgrade or downgrade anytime from your dashboard.
RATE LIMITS
| PLAN | DAILY LIMIT | RATE |
|---|---|---|
| Free | 100 calls/day | 10 req/min |
| Pro | 10,000 calls/day | 100 req/min |
| Enterprise | Unlimited | Custom |
When you exceed your limit, the API returns HTTP 429. Check your current usage at GET /v1/usage.
ERROR CODES
| HTTP CODE | MEANING |
|---|---|
| 400 | Bad Request — missing or invalid parameters |
| 401 | Unauthorized — missing or invalid API key |
| 429 | Rate Limited — daily or per-minute limit exceeded |
| 500 | Server 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.
Get your free API key in 30 seconds. No credit card required.
Get API Key Free →