Skip to main content

Overview

Registries

Provincial, territorial, and federal corporate registries across Canada
Canada is covered across all 13 provinces and territories plus the federal registry, 14 jurisdictions in total. Search, Lite Profile and Enhanced Profile are supported on V1 and V2; the Enhanced Profile is delivered as a combined PDF plus structured JSON. V1 also separately supports ordering the plain Company Profile PDF via filing search.

Jurisdictions and identifiers

Registry numbers vary in format by jurisdiction. The registry number returned in a Kyckr response is the identifier to use for subsequent profile and document requests: companyNumber on V2, codeField on V1. A company can hold a home registration in one jurisdiction and an extra-provincial registration in others. Search and Lite Profile responses distinguish the two: registrationType reads Extra Provincial for a non-home registration, and registrationTypeDetails carries the home jurisdiction’s code and description. CA-ALL searches by name across all 14 Canadian jurisdictions in one request. It’s a search-only code, useful for locating a company before you know which specific jurisdiction it’s registered in, especially when a name may recur across provinces or a company carries both a home and an extra-provincial registration.
Once you’ve identified the relevant registration from the results, use its specific jurisdiction code and KyckrId for profile or document requests.

Search capabilities

Data availability

Alberta is the one jurisdiction where a shareholder record can carry a shareholding percentage. Quebec, Saskatchewan, and Prince Edward Island shareholder records carry names only, with address for Quebec and Saskatchewan. Share counts and share values aren’t included in any Canadian jurisdiction.
Kyckr normalizes each registry’s source legal form and entity subtype into a standard legal form. The categories below cover the source classifications observed across Canadian jurisdictions.
A source type/subtype combination that doesn’t match one of the mappings above normalizes to Other.

Status Codes

Status values are registry-specific; the table below shows original values observed per jurisdiction and how each normalizes.
Status isn’t purely Active/Inactive. Ontario’s Refer to Governing Jurisdiction value normalizes to Other: it appears on extra-provincial registrations, where Ontario is pointing you to the company’s home jurisdiction for its real status rather than reporting one itself.

Activity Codes

Canada uses NAICS (North American Industry Classification System); classificationScheme reads NAICS on every populated entry. Activity data is sparse overall: many records carry no activity code.
Descriptions aren’t always in English: Quebec sources return the same NAICS codes with French descriptions, for example “Banques à charte” (chartered banks) and “Sociétés de fiducie” (trust companies).

Ownership Data

Shareholder data is largely unavailable, and a shareholding percentage even more so. Only 4 of the 14 Canadian jurisdictions return any shareholder records, and only Alberta’s can carry a shareholding percentage; none returns a share count or share value.
Alberta’s shareholding percentage comes from a stated voting percentage. Where the Alberta register states a voting percentage for a shareholder, it’s rendered as the shareholding percentage, and the register’s own wording for it is preserved in the share class’s votingRights. Alberta returns the voting shareholders a corporation reports on its annual return, up to five holders ranked by share of issued voting shares. The percentages describe only those listed holders, not a complete register of all shareholders.
Significant control is separate from shareholding. The federal registry and Quebec separately return significant-control information, describing who controls the company and how, including control exercised without owning shares. That is not the same data as shareholding, and it carries no ownership percentage either. See below for what this data actually contains.

Beneficial ownership (significant control)

The federal registry’s Individuals with Significant Control (ISC) declarations, and Quebec’s own bénéficiaires ultimes declarations, are the two Canadian sources of beneficial-ownership data. No other Canadian jurisdiction returns it. Both are mapped into ultimateBeneficialOwners, not into shareholdings: they describe who controls the company and how, including control exercised without owning any shares, rather than who owns what percentage. Each disclosed fact is carried as its own entry in natureOfControl, in the register’s own wording: a control basis, an ownership or voting-rights band, whether the holding is direct or indirect, whether it’s held jointly. A federal declaration typically reads as several short, separate facts:
Quebec’s source data is a single French sentence per beneficial owner, which can bundle more than one fact together; where Kyckr recognizes the sentence, it’s split into its constituent facts the same way:
This is a normalization-limited mapping. natureOfControl entries are free text, not structured data: there’s no separate field for an exact or banded percentage, no machine-readable interest type, and no direct/indirect flag distinct from the text itself. If you need to filter, aggregate, or programmatically classify ownership and control interests, a dedicated Beneficial Ownership Declarations product, normalized to a common data model across jurisdictions, is planned to eventually supersede this mapping for the jurisdictions it covers.
Addresses on these beneficial-ownership records use "type": "Business Address" where the register discloses a business address for the individual or corporation, rather than "Residential Address" or "Registered Address" used elsewhere in the profile.

Address Format

Canadian addresses are returned as a whole string, plus a small set of separately populated components. Street-level components are not parsed out.
city is a partial gap, distinct from the street-level fields: it’s populated on some addresses and not others, rather than never populated at all.

Capital Structure

Total capital, capital structure, and minimum capital or share-class data are not available for any Canadian jurisdiction. Alberta is the one exception for shareholding detail: see Ownership Data above.

Representatives

Officer roles are a provincial pattern, not a Canada-wide one. The federal registry returns directors only, no officer roles. Provincial jurisdictions also return officer roles alongside directors.

Registry Order Hours

Most Canadian registries operate 24/7. A few operate only during set hours, which affects when an order placed there gets processed.
An order placed outside a jurisdiction’s registry hours is processed once the registry reopens.

Ordering an Enhanced Profile

Canada’s Enhanced Profile on V2 is always an asynchronous order underneath, regardless of which request you use to place it. V1 has only one request: the direct request. Because many Canadian registries fulfil orders outside the request window, and some only during registry hours, build for the order-and-poll path and treat an immediate profile as the exception. V2: placing the order explicitly is the preferred way: POST /v2/companies/{kyckrId}/enhanced, then poll GET /v2/orders/{orderId} until data.status is Success. A successful order carries two links: links.document for the PDF and links.data for the structured JSON profile. GET /v2/companies/{kyckrId}/enhanced places the same kind of order, but can return the profile inline when the registry responds within the request window, Canada Federal being a registry that often does. Otherwise it falls back to the same pending-response-and-poll path above. See the V2 async order pattern for the full mechanics of both requests. V1: has a single ordering path. Order directly with GET /core/company/profile/{countryISO}/{companyCode}: this returns the profile directly when the registry fulfils it within the request, or a pending-response body carrying a transactionIdField when it doesn’t. Poll GET /core/filing/order-status/{orderedWithin} and match the entry whose productOrderIdField equals your transactionIdField; once its statusField shows ready, retrieve the PDF from urlField and the structured JSON profile from structuredDataUrlField. See the V1 async order pattern for the full mechanics.
This is a different product from the plain Company Profile PDF ordered via filing search: Enhanced Profile is ordered directly by company code, not discovered through the filing list. See the Order Documents guide for that separate workflow.

The Enhanced Profile PDF

The Enhanced Profile PDF is a single combined document: the normalized Kyckr Enhanced Profile as the primary body, followed by an appendix containing the raw registry extract. This gives you both the normalized view and the original source document in one delivery.

Implementation Notes

Extra-provincial and foreign registrations normalize to Branch. Where a registration’s home jurisdiction is another province, territory, the federal register, or another country, legalForm.normalized reads Branch regardless of the registered entity’s own legal form, which stays in legalForm.original. registrationType reads Extra Provincial or Foreign Registered Body for these registrations, and registrationTypeDetails carries the home jurisdiction code, which is where to look up the entity’s own form, status, and officers.
No quantitative capital data, and almost no shareholding percentage data. This applies across every Canadian jurisdiction, rather than varying province by province: total capital, capital structure, share count, and share value are absent for every jurisdiction. Alberta is the one exception for a shareholding percentage. See Capital Structure and Ownership Data above.

Additional resources