Skip to main content

KYB API

The KYB API lets you search for a legal entity and retrieve structured company data directly from official registers and aggregated sources. Three endpoints cover the full workflow:
  • Authentication (/auth) — Obtain a Bearer token using your Api-Key and Customer-Id. Required before any other call.
  • Search (/kyb/search) — Find a company by name or registration number. Returns a companyId and transactionId required for the next step.
  • Company Details (/kyb/company/details) — Retrieve the full company record. The include parameter controls which data packages are returned; each package is priced separately. Document and transparency packages return a list of available items with linkToken values.
  • Document Retrieval (/kyb/company/document/retrieve) — Fetch an individual document or transparency register entry using a linkToken from the details response.
Where available, structured fields are returned in two forms: native (verbatim from the register, in the original language) and modeled (normalised to a common English scheme via idcanopy). All other data is passed through as-is from the source.
Try the search endpoint here.

Authentication

POST /auth All KYB API requests require a Bearer token. Obtain one by calling the authentication endpoint with your credentials. Tokens are valid for 60 minutes and must be refreshed after expiration.

Required Headers

Example Request

Response

Use the access_token value in the Authorization header of all subsequent requests:

Base URLs


1. Search Company

POST /kyb/search Searches for a legal entity by name (fuzzy) or registration number (exact). Exactly one of name or companyNo must be provided — not both.

Required Headers

Request Body

name and companyNo are mutually exclusive. Providing both will return a validation error.

Example Request — by name

Example Request — by registration number

Response

The response is an array of matches. Multiple results may be returned for name-based searches.

Example Response


2. Company Details

POST /kyb/company/details Retrieves the full company record for a previously resolved entity. Use the transactionId and companyId returned by /kyb/search. The include object controls which data packages are returned. Only requested packages are fetched and billed.

Required Headers

Request Body

include Packages

Example Request

Response Structure

Returned under data.company.officers[].
Returned under data.company.ownership[].
When documents or transparency is included, the response contains a list of available items. Pass the linkToken for each item to /kyb/company/document/retrieve to obtain the actual file.

Example Response


3. Document Retrieval

POST /kyb/company/document/retrieve Retrieves a company document or transparency register entry using a linkToken from the /kyb/company/details response.

Required Headers

Request Body

Example Request

Response

Returns the document as a binary file stream. The Content-Type response header reflects the file format (typically application/pdf).
linkToken values are scoped to the originating transactionId and companyId. They cannot be reused across sessions.

Test Cases

The following test cases are organized by country. Each shows a search request, the response with available company IDs, and then the full company details call.

GB

Company Details — WAITROSE LIMITED

Company Details — STARBUCKS COFFEE MCDONALD’S WAITROSE LIMITED

This entity appeared in the Waitrose search above. Same transactionId, different companyId.

AT

Search

Company Details — IDCANOPY FLEXCO


IT

Search

Company Details — WIND TELECOM S.P.A.


DE

Search

Company Details — Bosch GmbH


Error Cases

Calling /kyb/search without the required country field returns a 400 Bad Request.