OSINT Lookups
Breach Lookup
GET
/
api
/
breach
Breach Lookup
curl --request GET \
--url https://www.osintcat.net/api/breach \
--header 'X-API-KEY: <x-api-key>'import requests
url = "https://www.osintcat.net/api/breach"
headers = {"X-API-KEY": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<x-api-key>'}};
fetch('https://www.osintcat.net/api/breach', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://www.osintcat.net/api/breach",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://www.osintcat.net/api/breach"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<x-api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://www.osintcat.net/api/breach")
.header("X-API-KEY", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.osintcat.net/api/breach")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<x-api-key>'
response = http.request(request)
puts response.read_body{
"api": "<string>",
"elapsed_ms": 123,
"timestamp": "<string>",
"results_count": 123,
"breach_data": [
{}
],
"_meta": {}
}Search for records in data breaches and compilations. This endpoint searches across multiple breach databases to find information associated with your query.
Parameters
string
required
The search term (e.g., email, username)
Headers
string
required
Your API key
Response
Returns breach data found across multiple sources.string
API identifier
number
Request processing time in milliseconds
string
Formatted timestamp of the request
number
Number of breach records found
array
Array of breach records
object
Metadata about the request
Example Request
curl "https://www.osintcat.net/api/breach?query=user@example.com" \
-H "X-API-KEY: YOUR_API_KEY"
import requests
url = "https://www.osintcat.net/api/breach"
params = {"query": "user@example.com"}
headers = {"X-API-KEY": "YOUR_API_KEY"}
response = requests.get(url, params=params, headers=headers)
if response.ok:
print(response.json())
else:
print(f"Error: {response.status_code}")
const url = 'https://www.osintcat.net/api/breach?query=user@example.com';
fetch(url, {
headers: {
'X-API-KEY': 'YOUR_API_KEY'
}
})
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error('error:' + err));
<?php
$curl = curl_init();
$url = "https://www.osintcat.net/api/breach?query=user@example.com";
curl_setopt_array($curl, [
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"X-API-KEY: YOUR_API_KEY"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main
import (
"encoding/json"
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL := "https://www.osintcat.net/api/breach"
params := url.Values{}
params.Add("query", "user@example.com")
fullURL := baseURL + "?" + params.Encode()
req, _ := http.NewRequest("GET", fullURL, nil)
req.Header.Set("X-API-KEY", "YOUR_API_KEY")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
fmt.Printf("Error: %v\n", err)
return
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
var result map[string]interface{}
json.Unmarshal(body, &result)
fmt.Printf("%+v\n", result)
}
require 'net/http'
require 'json'
require 'uri'
uri = URI('https://www.osintcat.net/api/breach')
uri.query = URI.encode_www_form({ query: 'user@example.com' })
request = Net::HTTP::Get.new(uri)
request['X-API-KEY'] = 'YOUR_API_KEY'
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
if response.is_a?(Net::HTTPSuccess)
data = JSON.parse(response.body)
puts JSON.pretty_generate(data)
else
puts "Error: #{response.code}"
end
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class OsintCatAPI {
public static void main(String[] args) {
try {
String apiUrl = "https://www.osintcat.net/api/breach?query=user@example.com";
URL url = new URL(apiUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("X-API-KEY", "YOUR_API_KEY");
int responseCode = conn.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String inputLine;
StringBuilder response = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
} else {
System.out.println("Error: " + responseCode);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
using (var client = new HttpClient())
{
try
{
string url = "https://www.osintcat.net/api/breach?query=user@example.com";
client.DefaultRequestHeaders.Add("X-API-KEY", "YOUR_API_KEY");
var response = await client.GetAsync(url);
if (response.IsSuccessStatusCode)
{
string content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);
}
else
{
Console.WriteLine($"Error: {response.StatusCode}");
}
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
}
}
Example Response
{
"api": "OsintCat",
"elapsed_ms": 1234.56,
"timestamp": "Jan 20th 14:30",
"results_count": 5,
"breach_data": [
{
"source": "leakcheck",
"email": "user@example.com",
"password": "hashed_password",
"breach_date": "2020-01-15"
}
],
"_meta": {
"requests_remaining": 38
}
}
Was this page helpful?
⌘I
Breach Lookup
curl --request GET \
--url https://www.osintcat.net/api/breach \
--header 'X-API-KEY: <x-api-key>'import requests
url = "https://www.osintcat.net/api/breach"
headers = {"X-API-KEY": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<x-api-key>'}};
fetch('https://www.osintcat.net/api/breach', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://www.osintcat.net/api/breach",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://www.osintcat.net/api/breach"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<x-api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://www.osintcat.net/api/breach")
.header("X-API-KEY", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.osintcat.net/api/breach")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<x-api-key>'
response = http.request(request)
puts response.read_body{
"api": "<string>",
"elapsed_ms": 123,
"timestamp": "<string>",
"results_count": 123,
"breach_data": [
{}
],
"_meta": {}
}