- About the IPQS APIs
- Proxy & VPN Detection API
- Email Verification API
- Phone Number Validation API
- Malicious URL Scanner API
- Device Fingerprint API
- Mobile Device Fingerprinting SDK
- Gaming Fraud Detection SDK
- Dark Web Leak API
- Malware File Scanner API
- Request List API
- Fraud Reporting API
- Account Management APIs
- Bulk Validation CSV
- Allowlist Blocklist APIs
- Plugins Platforms Integrations
- IP Reputation Database
- IP Address Abuse Feed
- Email Verification Database
-
Custom Integrations
- Getting Started
- Authentication
- Refresh Secret
- IP & Proxy Checks
- Email Verification Checks
- Phone Number Validity Checks
- Device Tracker
- List Device Trackers
- Device Tracker Statistics
- Login Tokens
- Overview Statistics
- Recent Proxy Statistics
- Recent Email Statistics
- Fraud Reporting
- Retrieve Requests by ID
- Country List API Documentation
- Release Notes
About the Dark Web Leak API
Use the leaked data API to search through a wide collection of breached, stolen, and leaked databases from popular websites that have recently suffered data breaches. Look up email addresses, phone numbers, usernames, or passwords. Perform on-demand leaked data searches using our dark web data API.
You can also use our free online tools to check if your email addresses and/or passwords have been leaked.
Instructions for using the Dark Web Leak API can be found below.
Search Leaked Databases
The IPQS leaked data API searches dark web sources for compromised user data, including emails, usernames, and passwords. Identify the breach source where the personal information was first exposed, such as "Experian" or "T-Mobile". New leaks are automatically found and uploaded into our database every day.
Benefits of Using a Leaked Data Breach Search API
Digital impersonation is rising, and cybercriminals are constantly getting smarter with new fraud tactics. Fraudsters typically use stolen data from online data breaches to impersonate their victims. This behavior is typical for account origination fraud and account takeover attacks. Our breach detection API can detect leaked personal information, compromised passwords, and other data available on dark websites that can be used for malicious identity theft.
Our service is excellent at preventing compromised accounts and ensuring your users are using secure passwords. It provides a secure real-time lookup to verify if the user's personally identifiable information (PII) has been exposed to any dark web activity. You can use the API as a versatile dark web monitoring service to routinely check your existing user or customer base for data breaches. This service can be applied across any industry, including financial fraud, new account screening, and login verification.
Follow the instructions below to use the Dark Web Leak API.
Using the API
You can use the following URLs to submit requests to the Dark Web Leak API using cURL or another utility in most languages.
Replace TYPE with the type of data you are submitting:
- email - An email address.
- password - A password.
- username - A username.
- emailpass - A specific email address and password combination.
- userpass - A specific username and password combination.
Replace DATA with the data you are submitting. If submitting a password, you can submit the password in plain text or hashed with MD5, SHA1, or SHA256 algorithms.
JSON
https://www.ipqualityscore.com/api/json/leaked/TYPE/YOUR_API_KEY_HERE/DATA
XML
https://www.ipqualityscore.com/api/xml/leaked/TYPE/YOUR_API_KEY_HERE/DATA
Example Request
Email Address or Username
When submitting only an email address or username, you can submit it directly in the URL. The following example request shows how to submit the email address "example@example.com" to the Dark Web Leak API:
https://www.ipqualityscore.com/api/json/leaked/email/YOUR_API_KEY_HERE/example@example.com
Password
When submitting a password—either alone or in combination with an email address or username—for security reasons, it is best practice to submit the password as a POST parameter or header, rather than directly in the URL. Below is example Python code showing how to submit a password as a POST parameter:
# You may need to install Requests pip
# python -m pip install requests
import requests
# Set variables
password = "examplepassword"
key = "YOUR_API_KEY_HERE"
type = "password"
url = "https://www.ipqualityscore.com/api/json/leaked/%s/%s" % (type, key)
# Prepare the POST data
post_data = {
"password": password
}
# Make the POST request
response = requests.post(url, json=post_data)
# Parse the JSON response
print(response.json())
When submitting a password as a POST parameter or header, you can submit the password in plain text or hashed with MD5, SHA1, or SHA256 algorithms.
Example Response
Success Response
This is an example success response in JSON format. Responses are also available in XML format. Details about each of these variables can be found in Response Parameters.
{
"success": true,
"message": "Success",
"source": [
"example.com",
"example.com"
],
"exposed": true,
"first_seen": {
"human": "1 year ago",
"timestamp": 1681137449,
"iso": "2023-04-10T10:37:29-04:00"
},
"plain_text_password": true,
"request_id": "DXdRw3mvSm"
}
Error Response
Example errors that you may encounter when accessing our API due to an exhausted credit balance or the data you submitted was invalid. Details about each of these variables can be found in Response Parameters.
{
"success":false,
"message":"You have insufficient credits to make this query. Please contact IPQualityScore support if this error persists.",
"request_id":"4OTORR352FU0p"
}
{
"success": false,
"message": "Invalid email address. Please check the email and try again.",
"request_id": "DXekLpAHZF"
}
Next Steps
Learn more about each of the variables included in the responses you receive.
<?php
$email = "example@example.com";
$password = "examplepassword";
$key = "YOUR_API_KEY_HERE";
$type = "emailpass";
$url = sprintf("https://www.ipqualityscore.com/api/json/leaked/%s/%s", $type, $key);
// Prepare the POST data
$postData = [
"email" => $email,
"password" => $password
];
// Initialize cURL
$ch = curl_init($url);
// Set cURL options
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($postData));
// Execute the request
$response = curl_exec($ch);
// Check for cURL errors
if (curl_errno($ch)) {
echo 'cURL Error: ' . curl_error($ch);
} else {
// Decode the JSON response
$responseData = json_decode($response, true);
print_r($responseData);
}
// Close the cURL session
curl_close($ch);
?>
# You may need to install Requests pip
# python -m pip install requests
import requests
# Set variables
email = "example@example.com"
password = "examplepassword"
key = "YOUR_API_KEY_HERE"
type = "emailpass"
url = "https://www.ipqualityscore.com/api/json/leaked/%s/%s" % (type, key)
# Prepare the POST data
post_data = {
"email": email,
"password": password
}
# Make the POST request
response = requests.post(url, json=post_data)
# Parse the JSON response
print(response.json())