RiskHunter API Reference
Real-time phone and email intelligence. Verify users, detect fraud, and enrich data with a single API call.
https://api.riskhunter.esAuthentication
All API requests require authentication using a Bearer token. Include your API key in the Authorization header.
curl -X POST 'https://api.riskhunter.es/v1/phone' \
-H 'Authorization: Bearer rh_live_xxxxxxxxxxxxx' \
-H 'Content-Type: application/json'Keep your API key secure
Never expose your API key in client-side code or public repositories. Use environment variables.
Rate Limits
Rate limits vary by plan. Headers are included in every response to help you track usage.
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 987
X-RateLimit-Reset: 1703788800Error Handling
The API uses standard HTTP status codes and returns detailed error messages in JSON format.
{
"error": {
"code": "invalid_phone",
"message": "The phone number format is invalid",
"param": "phone_number",
"doc_url": "https://docs.riskhunter.es/errors#invalid_phone"
}
}/v1/phonePhone Intelligence
Comprehensive phone number analysis including validation, carrier identification, line type detection, breach exposure, and connected platform discovery.
Request
curl -X POST 'https://api.riskhunter.es/v1/phone' \
-H 'Authorization: Bearer rh_live_xxxxx' \
-H 'Content-Type: application/json' \
-d '{
"phone_number": "+34612345678",
"customer_id": "cust_abc123"
}'Request Body
phone_numbercustomer_idResponse
{
"resolution_id": "res_8f7e6d5c4b3a2190",
"value": "+34612345678",
"is_valid": true,
"type": "mobile",
"country_code": "ES",
"country_name": "Spain",
"carrier": "Movistar",
"is_disposable": false,
"is_ported": false,
"score": 847,
"score_cluster": "high",
"telco_data": {
"local_format": "612345678",
"international_format": "+34612345678",
"country_prefix": "34",
"location": "Madrid",
"line_type": "mobile"
},
"has_whatsapp": true,
"has_telegram": true,
"telegram_username": "john_doe",
"telegram_first_name": "John",
"connected_platforms_count": 2,
"data_breaches_count": 3,
"data_breaches_first": "2019-04-15",
"data_breaches_last": "2023-08-22",
"data_breaches": [
{
"name": "Facebook",
"date": "2021-04-03",
"data_classes": [
"Names",
"Phone Numbers"
]
},
{
"name": "Deezer",
"date": "2023-01-06",
"data_classes": [
"Phone Numbers",
"Emails"
]
},
{
"name": "LinkedIn",
"date": "2019-04-15",
"data_classes": [
"Names",
"Phone Numbers",
"Emails"
]
}
],
"extracted_names": [
"John Doe",
"Juan García"
],
"extracted_emails": [
"john.doe@gmail.com"
],
"first_seen": "2019-04-15",
"first_seen_days": 2084,
"risk_signals": [
{
"code": "phone_line_type",
"description": "Mobile number - standard consumer line",
"impact": 100,
"severity": "low"
},
{
"code": "phone_carrier_major",
"description": "Major carrier identified",
"impact": 80,
"severity": "low"
},
{
"code": "phone_data_breaches_count",
"description": "Phone found in 3 breaches",
"impact": 36,
"severity": "low"
}
],
"reason_codes": "TP001,TP005,TP012",
"recommendation": "Good trust score. Reliable and established identity."
}Response Schema
resolution_idvalueis_validtypecountry_codecountry_namecarrieris_disposableis_portedscorescore_clustertelco_datahas_whatsapphas_telegramtelegram_usernametelegram_first_nameconnected_platforms_countdata_breaches_countdata_breaches_firstdata_breaches_lastdata_breachesextracted_namesextracted_emailsfirst_seenfirst_seen_daysrisk_signalsreason_codesrecommendation/v1/emailEmail Intelligence
Complete email analysis including validation, deliverability, disposable detection, breach exposure, and social footprint discovery across 200+ platforms.
Request
curl -X POST 'https://api.riskhunter.es/v1/email' \
-H 'Authorization: Bearer rh_live_xxxxx' \
-H 'Content-Type: application/json' \
-d '{
"email": "john.doe@company.com",
"customer_id": "cust_abc123"
}'Request Body
emailcustomer_idResponse
{
"resolution_id": "res_1a2b3c4d5e6f7890",
"value": "john.doe@company.com",
"is_valid": true,
"is_deliverable": true,
"is_disposable": false,
"disposable_provider": null,
"domain": "company.com",
"domain_type": "business",
"has_mx_records": true,
"score": 892,
"score_cluster": "high",
"social_profiles_count": 8,
"social_profiles": [
{
"platform": "Google",
"exists": true,
"profile_url": null
},
{
"platform": "Apple",
"exists": true,
"profile_url": null
},
{
"platform": "LinkedIn",
"exists": true,
"profile_url": "https://linkedin.com/in/johndoe"
},
{
"platform": "Twitter",
"exists": true,
"profile_url": "https://twitter.com/johndoe"
},
{
"platform": "GitHub",
"exists": true,
"profile_url": "https://github.com/johndoe"
}
],
"has_google": true,
"has_apple": true,
"has_microsoft": true,
"has_facebook": false,
"has_twitter": true,
"has_instagram": true,
"has_linkedin": true,
"has_amazon": true,
"data_breaches_count": 7,
"data_breaches_first": "2016-05-18",
"data_breaches_last": "2023-11-15",
"data_breaches": [
{
"name": "LinkedIn",
"date": "2016-05-18",
"data_classes": [
"Emails",
"Names",
"Passwords"
],
"is_verified": true
},
{
"name": "Adobe",
"date": "2013-10-04",
"data_classes": [
"Emails",
"Passwords"
],
"is_verified": true
},
{
"name": "Dropbox",
"date": "2012-07-01",
"data_classes": [
"Emails",
"Passwords"
],
"is_verified": true
}
],
"extracted_names": [
"John Doe",
"J. Doe"
],
"extracted_phones": [
"+34612345678"
],
"extracted_usernames": [
"johndoe",
"john_doe",
"jdoe"
],
"first_seen": "2013-10-04",
"first_seen_days": 4103,
"risk_signals": [
{
"code": "email_social_count",
"description": "Connected to 8+ platforms",
"impact": 320,
"severity": "low"
},
{
"code": "email_is_business",
"description": "Business email domain",
"impact": 60,
"severity": "low"
},
{
"code": "email_breach_age",
"description": "Email over 10 years old",
"impact": 100,
"severity": "low"
},
{
"code": "email_domain_mx_valid",
"description": "Valid MX records found",
"impact": 50,
"severity": "low"
}
],
"reason_codes": "TE001,TE003,TE007,TE012",
"recommendation": "Excellent trust score. Highly established and verified identity."
}Response Schema
resolution_idvalueis_validis_deliverableis_disposabledisposable_providerdomaindomain_typehas_mx_recordsscorescore_clustersocial_profiles_countsocial_profileshas_googlehas_applehas_microsofthas_facebookhas_twitterhas_instagramhas_linkedinhas_amazondata_breaches_countdata_breaches_firstdata_breaches_lastdata_breachesextracted_namesextracted_phonesextracted_usernamesfirst_seenfirst_seen_daysrisk_signalsreason_codesrecommendationReason Codes
Reason codes are returned in the reason_codes field and provide detailed explanations for the trust score.
Phone Codes (TP)
TP001Mobile line detectedTP002VoIP number detectedTP003Landline detectedTP005Major carrier identifiedTP007Number found in breachesTP010WhatsApp registeredTP011Telegram registeredTP012Disposable numberEmail Codes (TE)
TE001High social presenceTE002Disposable emailTE003Business domainTE005Valid MX recordsTE007Found in breachesTE010Google account linkedTE011Apple account linkedTE012Old email addressOfficial SDKs
Use our official SDKs for faster integration. All SDKs are open source and available on GitHub.
Node.js
npm install @riskhunter/sdkPython
pip install riskhunterPHP
composer require riskhunter/sdkReady to get started?
Create your free account and get 1,000 API requests instantly.