Skip to main content
The Company API has two synchronous operations. POST /v1/company/profile reads one company’s brand identity, colors, logos, socials, address, contact channels, key links, legal details, technologies and pixels from its own website, with an optional measured styleguide. POST /v1/company/search finds companies by name or domain among stored profiles, then on the web.

Get a company profile

Use a key with scrape scope. Create an operation key once before a new request:
Save that value with your task. Keep it when rerunning the script for an identical retry; do not rerun the generation command. If uuidgen is unavailable, set your own unique value. For a different request, generate a new value. Node.js and Python require the saved key and use the shared HTTP client. Read retries before retrying a request whose result you did not receive.
domain accepts a bare domain or any URL on the company’s site; IP addresses and bare public suffixes such as co.uk or github.io are rejected. The profile is keyed by the registrable domain, so www.example.com and shop.example.com/about both describe example.com, and the homepage of the host you send is read. styleguide defaults to false; set it to true to add the measured styleguide object for 5 more credits. timeout is in milliseconds, covers the whole request, defaults to 30,000 and accepts up to 120,000. Each request reads the site fresh: the homepage, then at most four contact, about, imprint, privacy and terms pages linked from it on the same domain.

Profile response

The request returns HTTP 200 with the profile in data:
A value is null or empty when the site gives no signal for it. Nothing is inferred or invented.

Styleguide

The styleguide is measured on the rendered homepage in light mode at 1920x1080. It does not reconstruct responsive layouts, dark mode or hover states.

Contacts

email and phone are company channels, never people:
  • email: the first address from the site’s structured organization data or a linked address whose mailbox is a role such as info, contact, hello, sales, support, office, team, press, media, billing, help, service, enquiries, inquiries, kontakt, admin, privacy, legal, jobs, careers, hr, marketing or partners. Personal addresses such as first.last@example.com are left out.
  • phone: the first number from structured data or from phone links on the homepage and contact page.

Technology and pixel slugs

technologies and pixels in the profile, and the search filters of the same name, use these slugs:

Search companies

Use a key with map scope.
query is a company name or domain, up to 200 characters; a URL is reduced to its registrable domain. Filters match fields of stored profiles, and every filter you send must hold:
  • country: an ISO 3166-1 alpha-2 code.
  • technologies, pixels: up to 20 slugs each, all of which must be detected, for example ["shopify"] or ["meta"].
  • hasEmail, hasPhone: true for companies with a known email or phone, false for those without.
Send a query, at least one filter, or both. limit defaults to 10 and accepts 1 to 20. Stored profiles are matched first, ranked by exact domain, domain prefix, title prefix, then title. When a query has fewer stored matches than limit and no filter is set, one web search fills the rest. Web results are reduced to one result per company domain; social networks and domains already listed are skipped. A search with any filter returns stored companies only.

Search response

source is index for a stored company and search for a web result. company summarizes the stored profile, or is null when the company has no profile yet; call Get a company profile to read one. If web search is unavailable but stored matches exist, the results hold stored companies only and warning explains why.

Credits

A profile whose homepage returns a non-2xx status, is blocked, times out or is cancelled is not charged; a failed contact or legal page never fails the request. A search fails without a charge when web search is unavailable and no stored company matches. An identical idempotency key replays the stored response without another charge.

Errors

Company profile shares the scrape rate limit and company search shares the map and search limit. See errors and retries before retrying.