Get started
Quickstart
Run a search and read the profiles found.
Get your API key
Your key is in your Predicta Search account, on the API page. Keep it on your server (why).
Send the search
Give the request a long timeout: the response comes once every source has replied.
curl -X POST https://dev.predictasearch.com/api/search \
--max-time 900 \
-H "x-api-key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "[email protected]", "query_type": "email", "networks": ["all"]}'import httpx
r = httpx.post(
"https://dev.predictasearch.com/api/search",
headers={"x-api-key": API_KEY},
json={"query": "[email protected]", "query_type": "email", "networks": ["all"]},
timeout=900,
)
profiles = r.json()const res = await fetch("https://dev.predictasearch.com/api/search", {
method: "POST",
headers: { "x-api-key": API_KEY, "Content-Type": "application/json" },
body: JSON.stringify({ query: "[email protected]", query_type: "email", networks: ["all"] }),
});
const profiles = await res.json();Read the profiles
The response is a list. Each item is a profile, and its platform field names the source that found it.
200OK
[
{
"platform": "google",
"email": "[email protected]",
"user_id": "114461178896543099856",
"link": "https://www.google.com/maps/contrib/114461178896543099856/reviews"
},
{
"platform": "hibp",
"breach_name": "Adobe",
"breach_domain": "adobe.com",
"date": "2013-10-04T00:00:00Z",
"data_classes": ["Email addresses", "Password hints", "Passwords", "Usernames"]
}
]Working in Python? The predictasearch package makes the same call: client.search_by_email("[email protected]").
Node.js's fetch stops waiting for the response headers after 5 minutes by default. For searches on all networks, raise that limit in your HTTP client.