Search
Run a temporary search
Run a search and stream its results directly in the response. Osintly does not create a search record, store results, use or write result caches, or keep a replay of the stream. Accepts the same body as POST /search, except delivery webhooks and BYOK providers.
POST
/
search
/
temporary
Run a temporary search
curl --request POST \
--url https://api.osint.ly/search/temporary \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": {
"value": "<string>"
},
"modules": {
"mode": "all",
"ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
]
},
"leaks": {
"mode": "default",
"custom_mapping": false,
"sources": []
},
"features": {
"crosssearch": false,
"breached_accounts": false,
"registered_accounts": "include"
},
"cache": {
"mode": "prefer"
},
"delivery": {},
"byok": {
"mode": "default"
}
}
'import requests
url = "https://api.osint.ly/search/temporary"
payload = {
"query": { "value": "<string>" },
"modules": {
"mode": "all",
"ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"]
},
"leaks": {
"mode": "default",
"custom_mapping": False,
"sources": []
},
"features": {
"crosssearch": False,
"breached_accounts": False,
"registered_accounts": "include"
},
"cache": { "mode": "prefer" },
"delivery": {},
"byok": { "mode": "default" }
}
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: {value: '<string>'},
modules: {mode: 'all', ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a']},
leaks: {mode: 'default', custom_mapping: false, sources: []},
features: {crosssearch: false, breached_accounts: false, registered_accounts: 'include'},
cache: {mode: 'prefer'},
delivery: {},
byok: {mode: 'default'}
})
};
fetch('https://api.osint.ly/search/temporary', 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/temporary",
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' => [
'value' => '<string>'
],
'modules' => [
'mode' => 'all',
'ids' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
]
],
'leaks' => [
'mode' => 'default',
'custom_mapping' => false,
'sources' => [
]
],
'features' => [
'crosssearch' => false,
'breached_accounts' => false,
'registered_accounts' => 'include'
],
'cache' => [
'mode' => 'prefer'
],
'delivery' => [
],
'byok' => [
'mode' => 'default'
]
]),
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/temporary"
payload := strings.NewReader("{\n \"query\": {\n \"value\": \"<string>\"\n },\n \"modules\": {\n \"mode\": \"all\",\n \"ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ]\n },\n \"leaks\": {\n \"mode\": \"default\",\n \"custom_mapping\": false,\n \"sources\": []\n },\n \"features\": {\n \"crosssearch\": false,\n \"breached_accounts\": false,\n \"registered_accounts\": \"include\"\n },\n \"cache\": {\n \"mode\": \"prefer\"\n },\n \"delivery\": {},\n \"byok\": {\n \"mode\": \"default\"\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/temporary")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"query\": {\n \"value\": \"<string>\"\n },\n \"modules\": {\n \"mode\": \"all\",\n \"ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ]\n },\n \"leaks\": {\n \"mode\": \"default\",\n \"custom_mapping\": false,\n \"sources\": []\n },\n \"features\": {\n \"crosssearch\": false,\n \"breached_accounts\": false,\n \"registered_accounts\": \"include\"\n },\n \"cache\": {\n \"mode\": \"prefer\"\n },\n \"delivery\": {},\n \"byok\": {\n \"mode\": \"default\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.osint.ly/search/temporary")
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 \"value\": \"<string>\"\n },\n \"modules\": {\n \"mode\": \"all\",\n \"ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ]\n },\n \"leaks\": {\n \"mode\": \"default\",\n \"custom_mapping\": false,\n \"sources\": []\n },\n \"features\": {\n \"crosssearch\": false,\n \"breached_accounts\": false,\n \"registered_accounts\": \"include\"\n },\n \"cache\": {\n \"mode\": \"prefer\"\n },\n \"delivery\": {},\n \"byok\": {\n \"mode\": \"default\"\n }\n}"
response = http.request(request)
puts response.read_bodyevent: search.progress
data: {"search_id":"6f1c2a9e-0b7d-4c3e-9a51-2d8e4f7b1c90","status":"running","timestamp":"2026-10-11T12:00:00.000Z"}
event: module.result
data: {"search_id":"6f1c2a9e-0b7d-4c3e-9a51-2d8e4f7b1c90","module":{"id":"4a8cbb96-70df-4bd6-8f4a-9c0bf5ffde1f","name":"GitHub"},"card":{"github_001":{"username":"target"}},"timestamp":"2026-10-11T12:00:02.000Z"}
event: search.finished
data: {"search_id":"6f1c2a9e-0b7d-4c3e-9a51-2d8e4f7b1c90","status":"completed","totals":{"module_results":1},"execution_time_ms":8120,"timestamp":"2026-10-11T12:00:08.000Z"}
Results exist only in this response. Read Temporary Searches for the stream format, limits, and what Osintly does not keep.
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
Response
Server-Sent Events stream of the temporary search. Not resumable.
The response is of type string.
Was this page helpful?
⌘I
Run a temporary search
curl --request POST \
--url https://api.osint.ly/search/temporary \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": {
"value": "<string>"
},
"modules": {
"mode": "all",
"ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
]
},
"leaks": {
"mode": "default",
"custom_mapping": false,
"sources": []
},
"features": {
"crosssearch": false,
"breached_accounts": false,
"registered_accounts": "include"
},
"cache": {
"mode": "prefer"
},
"delivery": {},
"byok": {
"mode": "default"
}
}
'import requests
url = "https://api.osint.ly/search/temporary"
payload = {
"query": { "value": "<string>" },
"modules": {
"mode": "all",
"ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"]
},
"leaks": {
"mode": "default",
"custom_mapping": False,
"sources": []
},
"features": {
"crosssearch": False,
"breached_accounts": False,
"registered_accounts": "include"
},
"cache": { "mode": "prefer" },
"delivery": {},
"byok": { "mode": "default" }
}
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: {value: '<string>'},
modules: {mode: 'all', ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a']},
leaks: {mode: 'default', custom_mapping: false, sources: []},
features: {crosssearch: false, breached_accounts: false, registered_accounts: 'include'},
cache: {mode: 'prefer'},
delivery: {},
byok: {mode: 'default'}
})
};
fetch('https://api.osint.ly/search/temporary', 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/temporary",
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' => [
'value' => '<string>'
],
'modules' => [
'mode' => 'all',
'ids' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
]
],
'leaks' => [
'mode' => 'default',
'custom_mapping' => false,
'sources' => [
]
],
'features' => [
'crosssearch' => false,
'breached_accounts' => false,
'registered_accounts' => 'include'
],
'cache' => [
'mode' => 'prefer'
],
'delivery' => [
],
'byok' => [
'mode' => 'default'
]
]),
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/temporary"
payload := strings.NewReader("{\n \"query\": {\n \"value\": \"<string>\"\n },\n \"modules\": {\n \"mode\": \"all\",\n \"ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ]\n },\n \"leaks\": {\n \"mode\": \"default\",\n \"custom_mapping\": false,\n \"sources\": []\n },\n \"features\": {\n \"crosssearch\": false,\n \"breached_accounts\": false,\n \"registered_accounts\": \"include\"\n },\n \"cache\": {\n \"mode\": \"prefer\"\n },\n \"delivery\": {},\n \"byok\": {\n \"mode\": \"default\"\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/temporary")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"query\": {\n \"value\": \"<string>\"\n },\n \"modules\": {\n \"mode\": \"all\",\n \"ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ]\n },\n \"leaks\": {\n \"mode\": \"default\",\n \"custom_mapping\": false,\n \"sources\": []\n },\n \"features\": {\n \"crosssearch\": false,\n \"breached_accounts\": false,\n \"registered_accounts\": \"include\"\n },\n \"cache\": {\n \"mode\": \"prefer\"\n },\n \"delivery\": {},\n \"byok\": {\n \"mode\": \"default\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.osint.ly/search/temporary")
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 \"value\": \"<string>\"\n },\n \"modules\": {\n \"mode\": \"all\",\n \"ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ]\n },\n \"leaks\": {\n \"mode\": \"default\",\n \"custom_mapping\": false,\n \"sources\": []\n },\n \"features\": {\n \"crosssearch\": false,\n \"breached_accounts\": false,\n \"registered_accounts\": \"include\"\n },\n \"cache\": {\n \"mode\": \"prefer\"\n },\n \"delivery\": {},\n \"byok\": {\n \"mode\": \"default\"\n }\n}"
response = http.request(request)
puts response.read_bodyevent: search.progress
data: {"search_id":"6f1c2a9e-0b7d-4c3e-9a51-2d8e4f7b1c90","status":"running","timestamp":"2026-10-11T12:00:00.000Z"}
event: module.result
data: {"search_id":"6f1c2a9e-0b7d-4c3e-9a51-2d8e4f7b1c90","module":{"id":"4a8cbb96-70df-4bd6-8f4a-9c0bf5ffde1f","name":"GitHub"},"card":{"github_001":{"username":"target"}},"timestamp":"2026-10-11T12:00:02.000Z"}
event: search.finished
data: {"search_id":"6f1c2a9e-0b7d-4c3e-9a51-2d8e4f7b1c90","status":"completed","totals":{"module_results":1},"execution_time_ms":8120,"timestamp":"2026-10-11T12:00:08.000Z"}