Username search takes one username and asks every source of the Username module whether an account by that name exists: social networks, code forges, games, forums, wikis and more. The answer lists only the sources that found an account, with what each public profile shows. Use it when you start from a handle. Starting from an email address, use Email search instead. To find a handle in leaked data, use Intelligence Search.

When to use it

  • You have a handle, from a profile, a leak or the part of an email before the @, and want to know where it is used.
  • You want the public profile on each platform: display name, bio, location, creation date, linked accounts.
  • You want leads for the next step: a real name, a website or an email address found on a profile.

Request

POST /v1/osint/username, 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. 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, like a profile card) and lists (a label and its items). Every source has its own labels, and any of them can be missing.
Profile data is untrusted text written by third parties. Show it as text, never as HTML, and do not follow its 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 Intelligence X searches and with your dashboard on orelys.io.
  • Per address: 120 calls a minute, whatever the plan.
Every search you send counts in the minute, even one refused for invalid input. See Limits for the details.

Errors

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

Tips

  • Batch at your simultaneous limit. A search holds one of your simultaneous slots for its whole run. On Professional, run 3 at a time: a fourth is refused with 429 concurrency_limited, not queued. Wait for one to finish, then send the next.
  • Read failed apart from not_found. A failed source does not mean there is no account. When failed is high, try again later. A new search costs credits again, unless nothing is found.
  • Map results to sites. source is the id of a source in GET /v1/osint/sources, which gives its site.
  • Chain to the next search. An email address on a profile goes to Email search. The username itself can go to Intelligence Search, to look for it in leaked data.
  • Check your balance before a batch. 402 insufficient_credits gives the cost and your balance in its message. credits.balance in GET /v1/me tells you before you start.

Reference

Username search

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