Phonebook takes a domain, an email address or a URL, and lists the selectors the archive has seen around it: email addresses, domains and subdomains, or URLs, each with the date it was found. You choose which kind you get back with type. Use it to map an organisation from its domain. To find the records that mention one selector, use Intelligence Search instead.

When to use it

  • You have a company’s domain and want the email addresses the archive knows at it.
  • You want the subdomains of a domain, or the URLs seen on it.
  • You want new selectors to search next, with Intelligence Search or the OSINT modules.

Request

POST /v1/search/phonebook, with a JSON body. Any other field is refused with 400 invalid_request, and nothing is charged. type is the kind of selector you want back, not the kind of query you send:
To list the email addresses of a domain, the archive needs the domain with a leading @. With type: "email" and a bare domain such as example.com, the API adds the @ for you. A full address, a URL or a path is sent as it is.
Like every list mode, the search service has 85 seconds to start answering; past that, the API answers 504 source_timeout, which costs nothing. Set your HTTP client’s timeout to at least 100 seconds — 120 seconds, as above, is a safe value.

What you get back

Each item of results has a selector (the email address, domain or URL found) and the date it was found. Any field can be missing, and other fields can appear.
Selectors come from leaked data. Show them as text, never as HTML, and do not follow the URLs automatically.

Cost and limits

  • Plans: Professional (500 requests a day) and Enterprise (1,500). Both include Phonebook.
  • Per account: 60 searches a minute and 3 at the same time on Professional, 120 and 5 on Enterprise, shared with all your other searches.
  • Per address: 120 calls a minute, whatever the plan.
See Limits for the details.

Errors

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

Tips

  • Pick type for what you want back. Searching a domain with type: "email" is right: it lists the addresses at that domain.
  • One search per kind. A search returns one kind of selector. For the addresses, the subdomains and the URLs of a domain, send three searches, each one a request.
  • There is no max_results. The answer holds every selector the search service returns. Sort and deduplicate on your side.
  • Send each selector on. An email address can go to Intelligence Search for the records that mention it, or to the OSINT Email search for the identity behind it.
  • date is when the selector was found in the archive, not when it was created.

Reference

Phonebook

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