Overview
Registries
Provincial, territorial, and federal corporate registries across Canada
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: cross-jurisdiction search
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.
Search capabilities
Data availability
Shareholder records carry names and addresses, not ownership percentages. Where shareholder data is available, it does not include share counts, share values, or ownership percentages in any Canadian jurisdiction.
Legal Forms
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.Corporations
Corporations
Business Names
Business Names
Other and Unclassified
Other and Unclassified
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
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 intoultimateBeneficialOwners, 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:
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."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
Share capital data, including total capital, capital structure, and any quantitative shareholding detail, is not available for any Canadian jurisdiction. There is no minimum capital or share-class data to surface from the Canadian source registries.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
V2 supports two paths to order a Canada Enhanced Profile: an explicit order-and-poll path, and a direct request. V1 has only the direct request path. 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: the preferred path is to place the order withPOST /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 is an alternate path: it waits a bounded time for the registry, and if the profile isn’t ready in that window it returns a pending response with an order reference to poll separately, the same as the order-and-poll path above. This direct request works well for jurisdictions whose registries respond quickly, Canada Federal being an example, but for Canada as a whole expect to end up polling either way. See the V2 async order pattern for the full mechanics of both paths.
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
No quantitative capital or shareholding data. This applies across every Canadian jurisdiction, rather than varying province by province: total capital, capital structure, and any shareholding percentage, share count, or share value are absent for every jurisdiction. See Capital Structure and Ownership Data above.