Companies

POST
/v1/companies/resolve-domain

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 in domain.
  • ambiguous: two or three plausible candidates; domain is 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. domain is null and candidates is 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
AuthorizationBearer <token>

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.

companyName*string

Company, brand or product name to resolve to its operating company. Include the legal suffix when known.

Length1 <= length <= 200
countryCode?string

Optional ISO 3166-1 alpha-2 country hint, normalized to uppercase.

Match^[A-Za-z]{2}$
context?string

Optional article excerpt or identity details used to distinguish namesakes.

Lengthlength <= 10000

Response 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"        }      ]    }  ]}
POST
/v1/companies/search

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
AuthorizationBearer <token>

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.

filter*

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}

On this page