{"openapi":"3.0.3","info":{"title":"Fraud Checker Risk Lookup API","version":"1.0.0","description":"Check whether a customer's phone number, mobile wallet (bKash, Nagad, Rocket, Upay), bank account, NID, social media link, website or email has been reported for fraud in Bangladesh.\n\nAnswers contain only aggregate numbers from moderator-approved reports \u2014 never reporters, stories or evidence. Names are not accepted because they are not unique.\n\nUse **sandbox** keys (free, not counted) while integrating: 01700000001 \u2192 high, 01700000002 \u2192 medium, 01700000003 \u2192 low, anything else \u2192 none."},"servers":[{"url":"https:\/\/api.fraudfinderbd.com\/api\/b2b\/v1"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","description":"Authorization: Bearer <your API key>"}},"schemas":{"RiskLevel":{"type":"string","enum":["none","low","medium","high"],"description":"high = several independent people reported it (community verified); medium = 2+ reports or under dispute; low = one report or resolved; none = no approved reports (not proof it is safe)."},"Match":{"type":"object","properties":{"type":{"type":"string","example":"phone","enum":["phone","mfs","whatsapp","bank_account","nid","facebook","instagram","telegram","website","email"]},"provider":{"type":"string","nullable":true,"example":"bkash"},"risk":{"$ref":"#\/components\/schemas\/RiskLevel"},"trust_status":{"type":"string","enum":["reported","community_verified","disputed","resolved"]},"reports":{"type":"integer","example":3},"distinct_reporters":{"type":"integer","example":3},"total_amount_lost":{"type":"number","example":142000},"last_reported_at":{"type":"string","format":"date-time","nullable":true},"categories":{"type":"array","items":{"type":"string"},"example":["f-commerce"]},"profile_url":{"type":"string","nullable":true}}},"LookupResult":{"type":"object","required":["value","detected_type","risk","matches"],"properties":{"value":{"type":"string","example":"+880 1799-887766"},"detected_type":{"type":"string","example":"phone"},"risk":{"$ref":"#\/components\/schemas\/RiskLevel"},"sandbox":{"type":"boolean","description":"Present and true for sandbox keys"},"matches":{"type":"array","items":{"$ref":"#\/components\/schemas\/Match"}}}},"Error":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}}}},"paths":{"\/lookup":{"post":{"summary":"Look up one value","operationId":"lookup","requestBody":{"required":true,"content":{"application\/json":{"schema":{"type":"object","required":["value"],"properties":{"value":{"type":"string","maxLength":255,"example":"+880 1799-887766"}}}}}},"responses":{"200":{"description":"Result","headers":{"X-Quota-Limit":{"schema":{"type":"integer"},"description":"Monthly lookups in your plan (live keys)"},"X-Quota-Remaining":{"schema":{"type":"integer"},"description":"Lookups left this month (live keys)"}},"content":{"application\/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#\/components\/schemas\/LookupResult"}}}}}},"422":{"description":"Not a phone, wallet, account, NID, link or email","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"},"example":{"error":{"code":"invalid_value","message":"\u2026"}}}}},"401":{"description":"Missing or invalid API key","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"},"example":{"error":{"code":"invalid_key","message":"\u2026"}}}}},"402":{"description":"Plan expired","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"},"example":{"error":{"code":"plan_inactive","message":"\u2026"}}}}},"403":{"description":"Key cannot look up, or account suspended","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"},"example":{"error":{"code":"suspended","message":"\u2026"}}}}},"429":{"description":"Per-minute limit (Retry-After header) or monthly quota reached","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"},"example":{"error":{"code":"quota_exceeded","message":"\u2026"}}}}}}}},"\/lookup\/batch":{"post":{"summary":"Look up up to 50 values","operationId":"lookupBatch","description":"Each valid value counts as one lookup. Invalid values come back with error: invalid_value and are not counted.","requestBody":{"required":true,"content":{"application\/json":{"schema":{"type":"object","required":["values"],"properties":{"values":{"type":"array","minItems":1,"maxItems":50,"items":{"type":"string","maxLength":255}}}}}}},"responses":{"200":{"description":"Results in the same order","headers":{"X-Quota-Limit":{"schema":{"type":"integer"},"description":"Monthly lookups in your plan (live keys)"},"X-Quota-Remaining":{"schema":{"type":"integer"},"description":"Lookups left this month (live keys)"}},"content":{"application\/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"oneOf":[{"$ref":"#\/components\/schemas\/LookupResult"},{"type":"object","properties":{"value":{"type":"string"},"error":{"type":"string","example":"invalid_value"}}}]}}}}}}},"401":{"description":"Missing or invalid API key","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"},"example":{"error":{"code":"invalid_key","message":"\u2026"}}}}},"402":{"description":"Plan expired","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"},"example":{"error":{"code":"plan_inactive","message":"\u2026"}}}}},"403":{"description":"Key cannot look up, or account suspended","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"},"example":{"error":{"code":"suspended","message":"\u2026"}}}}},"429":{"description":"Per-minute limit (Retry-After header) or monthly quota reached","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"},"example":{"error":{"code":"quota_exceeded","message":"\u2026"}}}}}}}}}}