Search
Create a new search
Queue a new OSINT search with optional module selection, leak sources, account features, delivery settings, cache mode, and BYOK provider configuration.
POST
/
search
Create a new search
curl --request POST \
--url https://api.osint.ly/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": {
"type": "Email Address",
"value": "[email protected]"
},
"modules": {
"mode": "selected",
"ids": [
"4a8cbb96-70df-4bd6-8f4a-9c0bf5ffde1f"
]
},
"leaks": {
"mode": "selected",
"custom_mapping": true,
"sources": [
"Leak Check",
"Snusbase"
]
},
"features": {
"breached_accounts": true,
"registered_accounts": "include"
},
"cache": {
"mode": "prefer"
},
"delivery": {
"webhook": {
"url": "https://client.example/webhooks/osintly",
"secret": "super-secret-webhook-key"
}
},
"byok": {
"mode": "default",
"osint_industries": {
"api_key": "oi_xxx",
"timeout": 80,
"exact_match": true,
"premium": false,
"premium_modules_only": false
},
"sherlockeye": {
"api_key": "se_xxx",
"additional_modules": [
"digital_accounts_expansion"
]
}
}
}
'import requests
url = "https://api.osint.ly/search"
payload = {
"query": {
"type": "Email Address",
"value": "[email protected]"
},
"modules": {
"mode": "selected",
"ids": ["4a8cbb96-70df-4bd6-8f4a-9c0bf5ffde1f"]
},
"leaks": {
"mode": "selected",
"custom_mapping": True,
"sources": ["Leak Check", "Snusbase"]
},
"features": {
"breached_accounts": True,
"registered_accounts": "include"
},
"cache": { "mode": "prefer" },
"delivery": { "webhook": {
"url": "https://client.example/webhooks/osintly",
"secret": "super-secret-webhook-key"
} },
"byok": {
"mode": "default",
"osint_industries": {
"api_key": "oi_xxx",
"timeout": 80,
"exact_match": True,
"premium": False,
"premium_modules_only": False
},
"sherlockeye": {
"api_key": "se_xxx",
"additional_modules": ["digital_accounts_expansion"]
}
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
query: {type: 'Email Address', value: '[email protected]'},
modules: {mode: 'selected', ids: ['4a8cbb96-70df-4bd6-8f4a-9c0bf5ffde1f']},
leaks: {mode: 'selected', custom_mapping: true, sources: ['Leak Check', 'Snusbase']},
features: {breached_accounts: true, registered_accounts: 'include'},
cache: {mode: 'prefer'},
delivery: {
webhook: {
url: 'https://client.example/webhooks/osintly',
secret: 'super-secret-webhook-key'
}
},
byok: {
mode: 'default',
osint_industries: {
api_key: 'oi_xxx',
timeout: 80,
exact_match: true,
premium: false,
premium_modules_only: false
},
sherlockeye: {api_key: 'se_xxx', additional_modules: ['digital_accounts_expansion']}
}
})
};
fetch('https://api.osint.ly/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://api.osint.ly/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'query' => [
'type' => 'Email Address',
'value' => '[email protected]'
],
'modules' => [
'mode' => 'selected',
'ids' => [
'4a8cbb96-70df-4bd6-8f4a-9c0bf5ffde1f'
]
],
'leaks' => [
'mode' => 'selected',
'custom_mapping' => true,
'sources' => [
'Leak Check',
'Snusbase'
]
],
'features' => [
'breached_accounts' => true,
'registered_accounts' => 'include'
],
'cache' => [
'mode' => 'prefer'
],
'delivery' => [
'webhook' => [
'url' => 'https://client.example/webhooks/osintly',
'secret' => 'super-secret-webhook-key'
]
],
'byok' => [
'mode' => 'default',
'osint_industries' => [
'api_key' => 'oi_xxx',
'timeout' => 80,
'exact_match' => true,
'premium' => false,
'premium_modules_only' => false
],
'sherlockeye' => [
'api_key' => 'se_xxx',
'additional_modules' => [
'digital_accounts_expansion'
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.osint.ly/search"
payload := strings.NewReader("{\n \"query\": {\n \"type\": \"Email Address\",\n \"value\": \"[email protected]\"\n },\n \"modules\": {\n \"mode\": \"selected\",\n \"ids\": [\n \"4a8cbb96-70df-4bd6-8f4a-9c0bf5ffde1f\"\n ]\n },\n \"leaks\": {\n \"mode\": \"selected\",\n \"custom_mapping\": true,\n \"sources\": [\n \"Leak Check\",\n \"Snusbase\"\n ]\n },\n \"features\": {\n \"breached_accounts\": true,\n \"registered_accounts\": \"include\"\n },\n \"cache\": {\n \"mode\": \"prefer\"\n },\n \"delivery\": {\n \"webhook\": {\n \"url\": \"https://client.example/webhooks/osintly\",\n \"secret\": \"super-secret-webhook-key\"\n }\n },\n \"byok\": {\n \"mode\": \"default\",\n \"osint_industries\": {\n \"api_key\": \"oi_xxx\",\n \"timeout\": 80,\n \"exact_match\": true,\n \"premium\": false,\n \"premium_modules_only\": false\n },\n \"sherlockeye\": {\n \"api_key\": \"se_xxx\",\n \"additional_modules\": [\n \"digital_accounts_expansion\"\n ]\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.osint.ly/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"query\": {\n \"type\": \"Email Address\",\n \"value\": \"[email protected]\"\n },\n \"modules\": {\n \"mode\": \"selected\",\n \"ids\": [\n \"4a8cbb96-70df-4bd6-8f4a-9c0bf5ffde1f\"\n ]\n },\n \"leaks\": {\n \"mode\": \"selected\",\n \"custom_mapping\": true,\n \"sources\": [\n \"Leak Check\",\n \"Snusbase\"\n ]\n },\n \"features\": {\n \"breached_accounts\": true,\n \"registered_accounts\": \"include\"\n },\n \"cache\": {\n \"mode\": \"prefer\"\n },\n \"delivery\": {\n \"webhook\": {\n \"url\": \"https://client.example/webhooks/osintly\",\n \"secret\": \"super-secret-webhook-key\"\n }\n },\n \"byok\": {\n \"mode\": \"default\",\n \"osint_industries\": {\n \"api_key\": \"oi_xxx\",\n \"timeout\": 80,\n \"exact_match\": true,\n \"premium\": false,\n \"premium_modules_only\": false\n },\n \"sherlockeye\": {\n \"api_key\": \"se_xxx\",\n \"additional_modules\": [\n \"digital_accounts_expansion\"\n ]\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.osint.ly/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"query\": {\n \"type\": \"Email Address\",\n \"value\": \"[email protected]\"\n },\n \"modules\": {\n \"mode\": \"selected\",\n \"ids\": [\n \"4a8cbb96-70df-4bd6-8f4a-9c0bf5ffde1f\"\n ]\n },\n \"leaks\": {\n \"mode\": \"selected\",\n \"custom_mapping\": true,\n \"sources\": [\n \"Leak Check\",\n \"Snusbase\"\n ]\n },\n \"features\": {\n \"breached_accounts\": true,\n \"registered_accounts\": \"include\"\n },\n \"cache\": {\n \"mode\": \"prefer\"\n },\n \"delivery\": {\n \"webhook\": {\n \"url\": \"https://client.example/webhooks/osintly\",\n \"secret\": \"super-secret-webhook-key\"\n }\n },\n \"byok\": {\n \"mode\": \"default\",\n \"osint_industries\": {\n \"api_key\": \"oi_xxx\",\n \"timeout\": 80,\n \"exact_match\": true,\n \"premium\": false,\n \"premium_modules_only\": false\n },\n \"sherlockeye\": {\n \"api_key\": \"se_xxx\",\n \"additional_modules\": [\n \"digital_accounts_expansion\"\n ]\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"data": {
"search": {
"id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
"status": "pending",
"query": {
"type": "Email Address",
"value": "[email protected]"
},
"created_at": "2026-05-27T12:00:00.000Z"
},
"execution": {
"run_id": "run_1234567890",
"cache_mode": "prefer"
},
"links": {
"self": "https://api.osint.ly/search/d290f1ee-6c54-4b01-90e6-d701748f0851",
"stream": "https://api.osint.ly/search/d290f1ee-6c54-4b01-90e6-d701748f0851/stream",
"results": "https://api.osint.ly/search/d290f1ee-6c54-4b01-90e6-d701748f0851/results",
"leaks": "https://api.osint.ly/search/d290f1ee-6c54-4b01-90e6-d701748f0851/results/leaks"
}
},
"meta": {
"environment": "production",
"timestamp": "2026-05-27T12:00:00.000Z"
}
}
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Bring your own external OSINT provider API keys for this search.
Show child attributes
Show child attributes
Was this page helpful?
Previous
Run one module immediatelyExecute a single module against one query target and return immediate cards in the same response. This endpoint runs only the provided module and does not require stream consumption.
Next
⌘I
Create a new search
curl --request POST \
--url https://api.osint.ly/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": {
"type": "Email Address",
"value": "[email protected]"
},
"modules": {
"mode": "selected",
"ids": [
"4a8cbb96-70df-4bd6-8f4a-9c0bf5ffde1f"
]
},
"leaks": {
"mode": "selected",
"custom_mapping": true,
"sources": [
"Leak Check",
"Snusbase"
]
},
"features": {
"breached_accounts": true,
"registered_accounts": "include"
},
"cache": {
"mode": "prefer"
},
"delivery": {
"webhook": {
"url": "https://client.example/webhooks/osintly",
"secret": "super-secret-webhook-key"
}
},
"byok": {
"mode": "default",
"osint_industries": {
"api_key": "oi_xxx",
"timeout": 80,
"exact_match": true,
"premium": false,
"premium_modules_only": false
},
"sherlockeye": {
"api_key": "se_xxx",
"additional_modules": [
"digital_accounts_expansion"
]
}
}
}
'import requests
url = "https://api.osint.ly/search"
payload = {
"query": {
"type": "Email Address",
"value": "[email protected]"
},
"modules": {
"mode": "selected",
"ids": ["4a8cbb96-70df-4bd6-8f4a-9c0bf5ffde1f"]
},
"leaks": {
"mode": "selected",
"custom_mapping": True,
"sources": ["Leak Check", "Snusbase"]
},
"features": {
"breached_accounts": True,
"registered_accounts": "include"
},
"cache": { "mode": "prefer" },
"delivery": { "webhook": {
"url": "https://client.example/webhooks/osintly",
"secret": "super-secret-webhook-key"
} },
"byok": {
"mode": "default",
"osint_industries": {
"api_key": "oi_xxx",
"timeout": 80,
"exact_match": True,
"premium": False,
"premium_modules_only": False
},
"sherlockeye": {
"api_key": "se_xxx",
"additional_modules": ["digital_accounts_expansion"]
}
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
query: {type: 'Email Address', value: '[email protected]'},
modules: {mode: 'selected', ids: ['4a8cbb96-70df-4bd6-8f4a-9c0bf5ffde1f']},
leaks: {mode: 'selected', custom_mapping: true, sources: ['Leak Check', 'Snusbase']},
features: {breached_accounts: true, registered_accounts: 'include'},
cache: {mode: 'prefer'},
delivery: {
webhook: {
url: 'https://client.example/webhooks/osintly',
secret: 'super-secret-webhook-key'
}
},
byok: {
mode: 'default',
osint_industries: {
api_key: 'oi_xxx',
timeout: 80,
exact_match: true,
premium: false,
premium_modules_only: false
},
sherlockeye: {api_key: 'se_xxx', additional_modules: ['digital_accounts_expansion']}
}
})
};
fetch('https://api.osint.ly/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://api.osint.ly/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'query' => [
'type' => 'Email Address',
'value' => '[email protected]'
],
'modules' => [
'mode' => 'selected',
'ids' => [
'4a8cbb96-70df-4bd6-8f4a-9c0bf5ffde1f'
]
],
'leaks' => [
'mode' => 'selected',
'custom_mapping' => true,
'sources' => [
'Leak Check',
'Snusbase'
]
],
'features' => [
'breached_accounts' => true,
'registered_accounts' => 'include'
],
'cache' => [
'mode' => 'prefer'
],
'delivery' => [
'webhook' => [
'url' => 'https://client.example/webhooks/osintly',
'secret' => 'super-secret-webhook-key'
]
],
'byok' => [
'mode' => 'default',
'osint_industries' => [
'api_key' => 'oi_xxx',
'timeout' => 80,
'exact_match' => true,
'premium' => false,
'premium_modules_only' => false
],
'sherlockeye' => [
'api_key' => 'se_xxx',
'additional_modules' => [
'digital_accounts_expansion'
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.osint.ly/search"
payload := strings.NewReader("{\n \"query\": {\n \"type\": \"Email Address\",\n \"value\": \"[email protected]\"\n },\n \"modules\": {\n \"mode\": \"selected\",\n \"ids\": [\n \"4a8cbb96-70df-4bd6-8f4a-9c0bf5ffde1f\"\n ]\n },\n \"leaks\": {\n \"mode\": \"selected\",\n \"custom_mapping\": true,\n \"sources\": [\n \"Leak Check\",\n \"Snusbase\"\n ]\n },\n \"features\": {\n \"breached_accounts\": true,\n \"registered_accounts\": \"include\"\n },\n \"cache\": {\n \"mode\": \"prefer\"\n },\n \"delivery\": {\n \"webhook\": {\n \"url\": \"https://client.example/webhooks/osintly\",\n \"secret\": \"super-secret-webhook-key\"\n }\n },\n \"byok\": {\n \"mode\": \"default\",\n \"osint_industries\": {\n \"api_key\": \"oi_xxx\",\n \"timeout\": 80,\n \"exact_match\": true,\n \"premium\": false,\n \"premium_modules_only\": false\n },\n \"sherlockeye\": {\n \"api_key\": \"se_xxx\",\n \"additional_modules\": [\n \"digital_accounts_expansion\"\n ]\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.osint.ly/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"query\": {\n \"type\": \"Email Address\",\n \"value\": \"[email protected]\"\n },\n \"modules\": {\n \"mode\": \"selected\",\n \"ids\": [\n \"4a8cbb96-70df-4bd6-8f4a-9c0bf5ffde1f\"\n ]\n },\n \"leaks\": {\n \"mode\": \"selected\",\n \"custom_mapping\": true,\n \"sources\": [\n \"Leak Check\",\n \"Snusbase\"\n ]\n },\n \"features\": {\n \"breached_accounts\": true,\n \"registered_accounts\": \"include\"\n },\n \"cache\": {\n \"mode\": \"prefer\"\n },\n \"delivery\": {\n \"webhook\": {\n \"url\": \"https://client.example/webhooks/osintly\",\n \"secret\": \"super-secret-webhook-key\"\n }\n },\n \"byok\": {\n \"mode\": \"default\",\n \"osint_industries\": {\n \"api_key\": \"oi_xxx\",\n \"timeout\": 80,\n \"exact_match\": true,\n \"premium\": false,\n \"premium_modules_only\": false\n },\n \"sherlockeye\": {\n \"api_key\": \"se_xxx\",\n \"additional_modules\": [\n \"digital_accounts_expansion\"\n ]\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.osint.ly/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"query\": {\n \"type\": \"Email Address\",\n \"value\": \"[email protected]\"\n },\n \"modules\": {\n \"mode\": \"selected\",\n \"ids\": [\n \"4a8cbb96-70df-4bd6-8f4a-9c0bf5ffde1f\"\n ]\n },\n \"leaks\": {\n \"mode\": \"selected\",\n \"custom_mapping\": true,\n \"sources\": [\n \"Leak Check\",\n \"Snusbase\"\n ]\n },\n \"features\": {\n \"breached_accounts\": true,\n \"registered_accounts\": \"include\"\n },\n \"cache\": {\n \"mode\": \"prefer\"\n },\n \"delivery\": {\n \"webhook\": {\n \"url\": \"https://client.example/webhooks/osintly\",\n \"secret\": \"super-secret-webhook-key\"\n }\n },\n \"byok\": {\n \"mode\": \"default\",\n \"osint_industries\": {\n \"api_key\": \"oi_xxx\",\n \"timeout\": 80,\n \"exact_match\": true,\n \"premium\": false,\n \"premium_modules_only\": false\n },\n \"sherlockeye\": {\n \"api_key\": \"se_xxx\",\n \"additional_modules\": [\n \"digital_accounts_expansion\"\n ]\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"data": {
"search": {
"id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
"status": "pending",
"query": {
"type": "Email Address",
"value": "[email protected]"
},
"created_at": "2026-05-27T12:00:00.000Z"
},
"execution": {
"run_id": "run_1234567890",
"cache_mode": "prefer"
},
"links": {
"self": "https://api.osint.ly/search/d290f1ee-6c54-4b01-90e6-d701748f0851",
"stream": "https://api.osint.ly/search/d290f1ee-6c54-4b01-90e6-d701748f0851/stream",
"results": "https://api.osint.ly/search/d290f1ee-6c54-4b01-90e6-d701748f0851/results",
"leaks": "https://api.osint.ly/search/d290f1ee-6c54-4b01-90e6-d701748f0851/results/leaks"
}
},
"meta": {
"environment": "production",
"timestamp": "2026-05-27T12:00:00.000Z"
}
}