Email search takes one email address and asks every source of the Email module what it publishes about it: public profiles, PGP key servers, developer forges and code-review sites, bug trackers and mailing-list archives. The answer lists only the sources that found something, such as a real name, a profile, a key or an account. Use it when you start from an address. Starting from a handle, use Username search. To check whether the address is in known data breaches, the breach search is free.

When to use it

  • You have an email address and want the person behind it: real name, profiles, linked accounts.
  • You are looking at a developer address: forges, code reviews, bug trackers and list archives often tie it to a real name.
  • You want public keys and the identities signed into them (extended sources).

Request

POST /v1/osint/email, with a JSON body. Any other field is refused with 400 invalid_request, and nothing is charged.
A search asks its sources several at a time, and gives the ones that failed one more try. It answers once every source has answered, and after about 85 seconds at the latest: a source that has not answered by then counts as failed, and you get everything the others found. Set your HTTP client’s timeout to at least 100 seconds, as above. A client that hangs up early loses the answer and, past the daily allowance, the credits too.

What you get back

Each item of results has source (its id in the catalogue), label, extended, and data: rows (label and value pairs) and lists (a label and its items). Every source has its own labels, and any of them can be missing.
Results are untrusted text published by third parties. Show them as text, never as HTML, and do not follow their links automatically.

Cost and limits

  • Plans: Professional and Enterprise, the plans with API access. Both include the extended sources. Credits come in packs on the pricing page and never expire.
  • Per account: 60 searches a minute and 3 at the same time on Professional, 120 and 5 on Enterprise. They are shared with your other searches, through the API and on your dashboard.
  • Per address: 120 calls a minute, whatever the plan.
See Limits for the details.

Errors

Errors use the usual envelope: { "error": { "code": "…", "message": "…" } }.

Tips

  • Decide on extended per address. A standard search asks about 40 sources; the extended one adds about 10 more, such as GitHub, Google, Microsoft, the PGP key servers and ORCID. The catalogue lists them, with extended: true.
  • Start with the free breach search. POST /v1/breaches/check tells you, at no cost, which known breaches hold the address. Spend credits on Email search when you need the identity behind it.
  • Chain to Username search. A login or handle found here, such as janeexample above, goes straight to Username search.
  • Validate before you send. 400 invalid_request lists the problem in details, for example an address that does not look like name@domain.com. It costs nothing, but it still counts in your searches a minute.
  • Read failed apart from not_found. A failed source does not mean there is nothing there. When failed is high, try again later. A new search costs credits again, unless nothing is found.

Reference

Email search

Request and response schemas, every error, and a playground to try it.