CorpVerify

CorpVerify provides company registry data and documents across 60+ jurisdictions worldwide. Reports include registration details, shareholder information, and financial data where available.

For the full list of supported countries and their capabilities, see CorpVerify Country Coverage.


Default Flow

  1. Use /cra/{countryCode}/search/companies to find the Company ID

  2. Pass this ID to /cra/request to initiate the report request

  3. Receive results via webhook or poll /cra/poll


Result Delivery

Webhook (recommended) — Pass a callbackUrl in the /cra/request body. When the report is ready, a POST request is sent to that URL with the report payload wrapped in a WebhookPayload envelope. Polling remains available as a fallback if delivery fails.

Polling — Call /cra/poll with the returned token until a 200 response is returned.


Retrieval Methods

Automated Retrieval — For supported countries (for example Hong Kong), providing a valid companyId enables automatic document fetching. The /cra/poll endpoint typically resolves within 5 minutes. Use /cra/{countryCode}/search/companies to obtain valid Company IDs.

Manual Processing — For countries without automation or when companyId is unavailable, Fill Easy processes requests manually. This may take up to several business days. You can still poll /cra/poll to check status and retrieve the document when ready.

Note: The search endpoint may return an empty companyId for certain countries. In these cases, provide the companyName instead and the request will be processed manually.


Try It Out

Explore available regions, search for companies, and purchase documents using our web interface: search.fill-easy.comarrow-up-right

Request

post

Initiate a company report request. Returns a JWT token for use with /cra/poll.

Required: countryCode (ISO 3166 alpha-2)

Recommended: companyId from /cra/{countryCode}/search/companies for faster automated processing.

Fallback: Provide companyName if companyId is unavailable — request will be processed manually.

Document Request: Provide documentId from /cra/{countryCode}/search/documents to request specific document. If /cra/info indicates that the documentId is required for retrieval, it must be provided.

Document Type: Each country has a defaultDocumentType (see /cra/info). Omitting documentType selects that default. To request a specific document, pass its name or alias from the country's documentTypes list.

Dry Run: Set dryRun: true to test the integration without incurring costs. A sample PDF is uploaded to the report path and returned immediately — no retrieval logic runs. The response includes dryRun: true and a token that can be polled normally via /cra/poll.

Webhook Delivery: Provide callbackUrl to receive a POST with the completed report when it is ready. The webhook body is a WebhookPayload containing the same data as a 200 response from /cra/poll. The request includes X-Webhook-Event: cra.report.completed and X-Request-Id headers, plus any custom headers supplied in callbackHeaders. Polling via /cra/poll remains available regardless of whether a callbackUrl is provided.

Authorizations
x-client-idstringRequired

Client ID in x-client-id header.

x-client-secretstringRequired

Client Secret in x-client-secret header.

Body
companyNamestringOptional

Name of the company

companyIdstringOptional

Company ID (e.g., BRN for Hong Kong, ACN for Australia)

countryCodestringRequired

ISO 3166 alpha-2 country code (case insensitive)

Pattern: ^[A-Za-z]{2}$
documentTypestringOptional

The document type to retrieve. Must match a name (or alias) from the country's documentTypes list in /cra/info.

If omitted, defaults to the country's defaultDocumentType from /cra/info (unless a specific documentId is provided).

documentYearstring | numberOptional

Year of the document - only provide it if the retrieval requires it

documentIdstringOptional

Specific document ID - if provided, it is prioritized over "documentType" and "documentYear"

dryRunbooleanOptional

Set to true to test the full request-poll flow without incurring costs. A sample PDF is uploaded to S3 and the request returns immediately.

emailListstring · email[]Optional

Optional field for usage analytics

externalRefIdstringOptional

Your own reference ID (optional field for usage analytics)

expressbooleanOptional

Expediate request speed (Only used if turn-around times have been agreed upon)

callbackUrlstring · uriOptional

HTTPS URL to receive a webhook POST when the report is ready. When provided, the completed report (same payload as a 200 response from /cra/poll) is delivered to this URL. Polling remains available as a fallback.

Pattern: ^https://.+
Responses
chevron-right
200

Successfully initiated the request

application/json
tokenstringRequired

JWT token that encodes the request details and should be used in the /cra/poll endpoint to check the status and retrieve the document

Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0.dozjgNryP4J3jVmNHl0w5N_XgL0n3I9PlFUP0THsR8U
dryRunbooleanOptional

Echoed back as true when the request was a dry run — no cost incurred

post
/cra/request

Poll Report

post

Check the status of a company registry report request. Keep polling until a 200 response is returned.

Returns 202 while the report is still being processed.

If a callbackUrl was provided in /cra/request, the report is also delivered via webhook when ready. Polling is always available as a fallback.

Authorizations
x-client-idstringRequired

Client ID in x-client-id header.

x-client-secretstringRequired

Client Secret in x-client-secret header.

Body
tokenstringRequired

JWT token

Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0.dozjgNryP4J3jVmNHl0w5N_XgL0n3I9PlFUP0THsR8UPattern: ^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$
Responses
chevron-right
200

Report is ready

application/json
post
/cra/poll

Search Companies by Name

post

This endpoint performs a search for companies in the respective country's Companies Registry by company name. It supports both English and Chinese company names and returns a list of matching companies.

Certain countries are unable to return a companyId - in those cases the idType in the response will be "Unavailable" and companyId will be an empty string.

The search will automatically detect if the input is in Chinese characters and adjust the search parameters accordingly.

The type of search is dependent on the country:

Substring search: KY, TH, PH, JP

Tokenized search (e.g. searching "PLE" will not result in "APPLE"): AU, SG

Left partial search: HK, BM, MY, FR

Partial name search: US

Authorizations
x-client-idstringRequired

Client ID in x-client-id header.

x-client-secretstringRequired

Client Secret in x-client-secret header.

Path parameters
countryCodestringRequired

ISO 3166 alpha-2 country code in lowercase.

Pattern: ^[a-z]{2}(-[a-z]{2})?$
Body
companyNamestringRequired

Company name to search (English or Chinese)

pageinteger · min: 1Optional

Page of results to return. Pagination support varies by country — for countries where it is not supported, only the first N results are returned regardless of this value. Check meta.page in the response to confirm whether pagination was applied.

Default: 1
Responses
chevron-right
200

Successfully retrieved matching companies

application/json
messagestringRequired

Response message

post
/cra/{countryCode}/search/companies

Search Company Documents

post

This endpoint searches for and returns documents filed by a company with the Companies Registry. Documents are grouped by category (e.g., Annual Return, Director/Secretary Changes, Charges Filed, etc.).

You can optionally filter by document type and year to narrow down the results.

Document categories include: Annual Return, Director / Secretary Changes, Charges Filed, Incorporation & Name Change, Liquidation & Deregistration, Registered Office / Address, Share Capital, and Other.

Note: Not all countries have document search available, please refer to /cra/info to confirm

Recommended: First retrieve/confirm the companyId from /cra/{countryCode}/search/companies or /cra/{countryCode}/search/company prior to calling this endpoint

Authorizations
x-client-idstringRequired

Client ID in x-client-id header.

x-client-secretstringRequired

Client Secret in x-client-secret header.

Path parameters
countryCodestringRequired

ISO 3166 alpha-2 country code.

Pattern: ^[a-z]{2}$
Body
companyIdstringRequired

Company ID (e.g., BRN for Hong Kong, ACN for Australia)

documentTypestringOptional

Optional filter by document type. (Country Specific)

  • HK: financialStatement, annualReturn
  • PH: GIS, AFS
  • GB: Specific filing type codes (e.g. CS01, AA, AR01, AP01, TM01, SH01, MR01) or category names (e.g. accounts, officers, confirmation-statement). Specific codes are the primary interface and match the documentName values returned by this endpoint and the documentType accepted by /cra/request.
documentYearstringOptional

Optional filter by year

pageinteger · min: 1Optional

Page of results to return. Check meta.totalPages in the response to determine total pages available.

Default: 1
Responses
chevron-right
200

Successfully retrieved documents as a flat array

application/json
messagestring · enumRequired

Status of the operation

Possible values:
post
/cra/{countryCode}/search/documents

Get Company Base Information

post

This endpoint retrieves the base information for a specific company from the Companies Registry using its Company ID.

For Hong Kong Companies, the information includes company name (English and Chinese), status, type, category, incorporation date, dissolution date (if applicable), and any remarks.

For other countries, the information includes company name, status, category, incorporation date, and other available details such as entity type, registration address, and remarks where applicable. The exact fields returned may vary depending on the data provided by each country’s registry.

Authorizations
x-client-idstringRequired

Client ID in x-client-id header.

x-client-secretstringRequired

Client Secret in x-client-secret header.

Path parameters
countryCodestringRequired

ISO 3166 alpha-2 country code.

Pattern: ^[a-z]{2}(-[a-z]{2})?$
Body
companyIdstringRequired

Company ID (e.g., BRN for Hong Kong, ACN for Australia)

Responses
chevron-right
200

Successfully retrieved company information

application/json
messagestring · enumRequired

Status of the operation

Possible values:
resultone ofOptional

Company base information object or null if not found

or
nullOptional
post
/cra/{countryCode}/search/company

Info

get

Returns metadata and a list of all countries supported by the CorpVerify service, including their automation status, available search capabilities, report contents, and the available document types per country. Each country includes a defaultDocumentType indicating which document is returned when documentType is omitted from a /cra/request call.

This contains the same data as the CorpVerify Country Coverage table.

Authorizations
x-client-idstringRequired

Client ID in x-client-id header.

x-client-secretstringRequired

Client Secret in x-client-secret header.

Query parameters
countrystringOptional

ISO 3166 alpha-2 country code (e.g. HK). Case insensitive.

Responses
chevron-right
200

Successfully retrieved country information

application/json
get
/cra/info

Last updated