Companies
Researches a company name with optional country and article context. No domain is required. This does not create or enrich a company identity. Each request starts fresh research; there is no shared result cache.
Resolves the company behind the supplied name. For a brand or product,
returns its operating company and that company's primary domain, which may
also host its main product. About, investor-relations and regional sites
are evidence, not automatic replacements for the primary domain.
A named company or subsidiary is not replaced by its parent group.
Candidate companyName identifies the resolved company; matchReason
explains any brand or product relationship. Parent-company details are
not returned.
Optional companyInfoUrl is an official About or company-overview page
fetched during the run, possibly on a different domain. It is null when
unavailable; research is not extended solely to populate it.
Branch on status:
resolved: one supported candidate, with its hostname indomain.ambiguous: two or three plausible candidates;domainis null. Supply more context rather than selecting the first candidate.not_found: completed research found no supported domain. This does not mean that the company has no website.incomplete: research could not establish a result within the available tools or budget.domainis null andcandidatesis empty.
Evidence URLs come from sources captured during the request. They support the agent's match assessment, not a guarantee of website availability. Evidence can be empty if no citation survives source validation. Citation loss alone does not fail a resolution; unavailable citations are omitted. Parent, sponsor and similarly named companies are not interchangeable. Provide country and article context for short or ambiguous company names.
The synchronous request has a 240-second deadline. The workflow has a
215-second execution limit, leaving time for admission, billing, workflow
startup and result delivery. A timeout returns 408, not not_found.
Reaching a wall-clock deadline does not automatically produce incomplete.
Provider or execution failures return 500.
Each page fetch has a 60-second total limit so a slow website does not
consume the entire request. The agent can use another source or return
incomplete when research cannot finish.
Completed resolved, ambiguous and not_found results cost 0.1 credits
per request. incomplete results and errors are free. Insufficient credits
return 402 before research starts.
By default, each organization can run up to 10 resolutions concurrently,
shared across all its API keys and MCP calls. This limit is configurable
per deployment. Requests above this limit return 429 with Retry-After
before research starts or credits are charged.
Authorization
ApiKeyAuth API key authentication using Bearer token. Format: sk_live_ followed by a secure random string.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Company, brand or product name to resolve to its operating company. Include the legal suffix when known.
1 <= length <= 200Optional ISO 3166-1 alpha-2 country hint, normalized to uppercase.
^[A-Za-z]{2}$Optional article excerpt or identity details used to distinguish namesakes.
length <= 10000Response Body
application/json
curl -X POST "https://example.com/v1/companies/resolve-domain" \ -H "Content-Type: application/json" \ -d '{ "companyName": "NT1 Pty Ltd", "countryCode": "AU", "context": "Australian mineral exploration company in the Plutonian II transaction." }'{ "status": "resolved", "domain": "string", "reason": "string", "candidates": [ { "companyName": "string", "legalName": "string", "domain": "string", "companyInfoUrl": "http://example.com", "countryCode": "string", "matchReason": "string", "evidence": [ { "url": "http://example.com", "title": "string" } ] } ]}Returns up to 50 companies that match the given filter criteria.
Results are cached for 5 minutes per unique filter. Identical filters will return cached data during this window.
Authorization
ApiKeyAuth API key authentication using Bearer token. Format: sk_live_ followed by a secure random string.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Criteria for filtering companies
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/companies/search" \ -H "Content-Type: application/json" \ -d '{ "filter": { "industries": [ "software development" ], "sizes": [ "51-200", "201-500" ], "location": { "countryCodes": [ "US" ] } } }'{ "companies": [ { "id": "string", "domain": "string", "name": "string", "handle": "string", "website": "string", "industry": "string", "size": "string", "type": "string", "founded": 0, "city": "string", "state": "string", "countryCode": "string", "enrichedData": { "liId": 0, "liFollowers": 0, "liFoundEmployees": 0 } } ], "total": 0}