OSINT Lookups
Stealer Logs (Legacy)
GET
/
api
/
database-search
Stealer Logs (Legacy)
curl --request GET \
--url https://www.osintcat.net/api/database-search \
--header 'X-API-KEY: <x-api-key>'import requests
url = "https://www.osintcat.net/api/database-search"
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/database-search', 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/database-search",
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/database-search"
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/database-search")
.header("X-API-KEY", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.osintcat.net/api/database-search")
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_bodySearch stealer log collections and breach compilations by email or domain.
This is a legacy endpoint. Use the Breach Lookup endpoint for newer indexed data.
Parameters
string
required
The search term (email address or domain name)
string
default:"email"
The search type. Accepted values: email, domain.
If not provided, the type is auto-detected based on the query format (presence of @ = email, otherwise domain).
Headers
string
required
Your API key
Response
Returns matching records found across the stealer log database collection.Example Request
curl "https://www.osintcat.net/api/database-search?query=example@email.com&type=email" \
-H "X-API-KEY: YOUR_API_KEY"
import requests
url = "https://www.osintcat.net/api/database-search"
params = {"query": "example@email.com", "type": "email"}
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}")
fetch('https://www.osintcat.net/api/database-search?query=example@email.com&type=email', {
headers: { 'X-API-KEY': 'YOUR_API_KEY' }
})
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error('error:' + err));
<?php
= curl_init();
= "https://www.osintcat.net/api/database-search?query=example@email.com&type=email";
curl_setopt_array(, [
CURLOPT_URL => ,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["X-API-KEY: YOUR_API_KEY"],
]);
= curl_exec();
= curl_error();
curl_close();
if () {
echo "cURL Error #:" . ;
} else {
echo ;
}
package main
import (
"encoding/json"
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL := "https://www.osintcat.net/api/database-search"
params := url.Values{}
params.Add("query", "example@email.com")
params.Add("type", "email")
req, _ := http.NewRequest("GET", baseURL+"?"+params.Encode(), 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)
}
Was this page helpful?
⌘I
Stealer Logs (Legacy)
curl --request GET \
--url https://www.osintcat.net/api/database-search \
--header 'X-API-KEY: <x-api-key>'import requests
url = "https://www.osintcat.net/api/database-search"
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/database-search', 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/database-search",
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/database-search"
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/database-search")
.header("X-API-KEY", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.osintcat.net/api/database-search")
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