Skip to main content
A search is the core operation of the API. You submit a company name and optionally enable additional data sources. The API returns a unified response combining results from all enabled sources.

How it works

  1. If enabled, the business registry search runs first (provincial + federal coverage)
  2. If enabled, regulatory registries are checked in parallel (charities, MSB, cannabis)
  3. If enabled, website analysis and sanctions screening run concurrently
  4. Results are deduplicated and merged into a single response
Which sources run is controlled by your request. Any flag you omit falls back to your account’s configured search settings.
Searches typically take 20–40 seconds. The business registry lookup is the bottleneck. Save the searchId from the response to retrieve results via GET /search/{id} without re-running the search — it returns the identical response shape (meta, businesses, regulatory, sanctions, website, errors).

Request parameters

*name is required unless you reference a stored business with businessId or businessExternalId — the name and website are then hydrated from that record, and the search is associated with it so you can compare results against the record and track changes over time. A supplied name / website overrides the record for that search only. The reference must belong to your account, else 404 NOT_FOUND; if both ids are given they must point at the same record, else 400.
When a check flag is omitted, it falls back to your account’s configured search settings (managed by an owner or admin in the dashboard). An explicit value in the request always overrides the account default.
Pass a flag explicitly to override your account settings for a single search — for example sanctionsScreening and websiteAnalysis add to the response time, so you may want them on only when you need them.

Common search patterns

The minimum required request. Searches business and regulatory registries.

With sanctions screening

With website analysis

Providing the website URL improves extraction quality. If omitted and websiteAnalysis is true, the API attempts to discover the website automatically.

Against a stored business record

Search one of your business records — the name/website are taken from the record and the results are compared against it. Reference it by our id (businessId) or your own id on it (businessExternalId); no name needed.
When resolved to a stored record, each result’s businesses[].match score is computed against that record’s full identity (name, registration number, business number, and jurisdiction) rather than the query name alone — so match.baseline is record and the score reflects how well the registry result matches the business you’re verifying. All data sources enabled:

What each source returns

For full field documentation, see Response structure.