company-v2Updated: 2025-11-19

New Canada integration for search, lite profile and company profile documents

Overview

This update introduces comprehensive Canada integration across all 14 Canadian jurisdictions for the V2 API, bringing significant enhancements to search and lite profile responses. The new integration provides improved data quality with additional fields, clearer identification of extra-provincial registrations, and enhanced historical name tracking. Additionally, Company Profile PDF documents are also available for ordering via the documents endpoint across all Canadian jurisdictions. These changes deliver more complete and accurate Canadian corporate data, making it easier to distinguish between home jurisdiction registrations and extra-provincial registrations across federal, provincial, and territorial entities.

Key changes

  • Search Response: Enhanced registration type details for extra-provincial entities
  • Lite Profile: Expanded to include foundation dates, normalized legal status and legal forms, previous names with dates, and extra-provincial registration details
  • Company Profile Documents: PDF registry extracts available for ordering via the documents endpoint, containing comprehensive company information
  • [Future] Enhanced Profile: A new fully fielded version of the Company Profile will soon be available.
  • Registration Types: Clear distinction between home jurisdiction and extra-provincial registrations with normalized jurisdiction codes

Canadian jurisdictions supported

Jurisdiction Code Registration Authority
Alberta CA-AB Alberta Corporate Registry
British Columbia CA-BC British Columbia Corporate Registry
Federal CA-FE Federal Corporate Registry
Manitoba CA-MB Manitoba Corporate Registry
New Brunswick CA-NB New Brunswick Corporate Registry
Newfoundland and Labrador CA-NL Newfoundland and Labrador Corporate Registry
Nova Scotia CA-NS Nova Scotia Corporate Registry
Northwest Territories CA-NT Northwest Territories Corporate Registry
Nunavut CA-NU Nunavut Corporate Registry
Ontario CA-ON Ontario Business Registry
Prince Edward Island CA-PE Prince Edward Island Corporate Registry
Quebec CA-QC Quebec Enterprise Registry
Saskatchewan CA-SK Saskatchewan Corporate Registry
Yukon CA-YU Yukon Corporate Registry

CA-ALL: Cross-jurisdiction search

In addition to the individual jurisdiction codes above, a special CA-ALL jurisdiction code is available exclusively for search operations. This enables searching across all 14 Canadian jurisdictions sequentially.

Use case for CA-ALL

The CA-ALL jurisdiction is particularly useful for name searches, as it helps identify companies with the same or similar names registered in multiple jurisdictions. This is important because:

  • A company may be registered federally and also have extra-provincial registrations in several provinces
  • Similar or identical company names may exist across different jurisdictions
  • Multi-jurisdiction presence is common for Canadian businesses

Example: CA-ALL name search

# Search for a company name across all Canadian jurisdictions (V2)
curl -X GET "https://api.kyckr.com/v2/companies?name=ACME%20Corporation&isocode=CA-ALL" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Accept: application/json"

The response will include all matches across federal, provincial, and territorial registries, with each result showing its specific KyckrId that includes the jurisdiction code (e.g., CA-BC|..., CA-ON|..., CA-FE|...).

Best practice

For initial discovery, especially when searching by company name:

  1. Use CA-ALL to search across all jurisdictions
  2. Review the results to identify the relevant registration(s)
  3. Use the specific KyckrId from the search response for profile or document requests

Technical details

Search response field changes

The V2 search response has been enhanced with the following new or improved fields:

  • isPreviousName: Boolean indicating if the returned name is a previous name - name search only
  • registrationTypeField: Type of registration (e.g., "Extra Provincial", or not present)
  • registrationTypeDetails: Details about extra-provincial registrations (not present if not relevant)
    • normalizedCode: Standardized home jurisdiction code (e.g., "CA-BC")
    • normalizedDescription: Human-readable home jurisdiction (e.g., "British Columbia (CA)")
    • originalCode: Original jurisdiction code from source
    • originalDescription: Original jurisdiction description

Example: British Columbia corporation

This example shows a British Columbia company with improved clarity on the legal entity type

Before

{
  "data": [
    {
      "id": "CA-BC|Rk0wMjU4NTc5fEJyaXRpc2ggQ29sdW1iaWE",
      "companyName": "TAPLIN GROUP HOLDINGS",
      "companyNumber": "FM0258579",
      "address": "Canada",
      "status": "Active",
      "type": "Business Name",
      "registrationAuthority": "Ministry of Government Services, Canada"
    }
  ]
}

After

{
  "data": [
    {
        "id": "CA-BC|Rk0wMjU4NTc5",
        "companyName": "TAPLIN GROUP HOLDINGS",
        "companyNumber": "FM0258579",
        "address": "British Columbia, Canada",
        "status": "Active",
        "type": "Sole Proprietership",
        "startDate": "1999-05-03",
        "registrationAuthority": "British Columbia Corporate Registry"
    }
  ]
}

Example: Ontario corporation with improved search data

This example shows an Ontario corporation with improved data structure and better address formatting.

Before

{
  "data": [
    {
      "id": "CA-ON|NTk0NDQ4fE9OVEFSSU8",
      "companyName": "CONNEXIONS GROUP TRAVEL MARKETING LIMITED",
      "companyNumber": "594448",
      "address": "Canada",
      "status": "CANCELLEDCB",
      "type": "ONTARIO BUSINESS CORP.",
      "registrationAuthority": "Ministry of Government Services, Canada"
    }
  ]
}

After

{
  "data": [
    {
      "id": "CA-ON|NTk0NDQ4",
      "companyName": "CONNEXIONS GROUP TRAVEL MARKETING LIMITED",
      "companyNumber": "594448",
      "address": "OAKVILLE, Ontario, Canada",
      "status": "Inactive",
      "type": "Ontario Business Corporation",
      "startDate": "1984-08-08",
      "registrationAuthority": "Ontario Business Registry",
      "isPreviousName": false
    }
  ]
}

Example: Quebec corporation

This example is a Quebec extra-provincial corporation, with the legal entity incorporated in Ontario.

Before

{
  "data": [
    {
      "id": "CA-QC|MTE2MzcwMzg5NnxRdWViZWM",
      "companyName": "CAPITAL INTERNATIONAL ASSET MANAGEMENT (CANADA), INC.",
      "companyNumber": "1163703896",
      "address": "Canada",
      "status": "Active",
      "type": "Corporation",
      "registrationAuthority": "Ministry of Government Services, Canada"
    }
  ]
}

After

{
  "data": [
    {
      "id": "CA-QC|MTE2MzcwMzg5Ng",
      "companyName": "CAPITAL INTERNATIONAL ASSET MANAGEMENT (CANADA), INC.",
      "companyNumber": "1163703896",
      "address": "Quebec, Canada",
      "status": "Registerd",
      "type": "Corporation",
      "startDate": "2000-10-05",
      "registrationAuthority": "Quebec Enterprise Registry",
      "registrationType": "Extra Provincial",
      "registrationTypeDetails": {
        "originalCode": "ON",
        "originalDescription": "Ontario",
        "normalizedCode": "CA-ON",
        "normalizedDescription": "Ontario (CA)"
      }
    }
  ]
}

Lite profile field changes

The V2 lite profile response has been significantly enhanced with new fields for better data quality and completeness.

  • aliases[].name: Alternative names used by the company
  • foundationDate.normalized: Foundation date in ISO format (YYYY-MM-DD)
  • foundationDate.original: Original date format from source
  • legalForm.normalized: Standardized legal form description
  • legalForm.original: Original legal form from source jurisdiction
  • legalStatus.normalized: Standardized status ("Active" or "Inactive")
  • legalStatus.original: Original status value from jurisdiction
  • previousNames[].name: Historical company name
  • previousNames[].startDate.normalized: When the name became effective (ISO format)
  • previousNames[].startDate.original: Original date format
  • registrationAuthorityCode: Jurisdiction code (CA-AB, CA-BC, CA-FE, etc.)
  • registrationType: Registration type (e.g., "Extra Provincial")
  • registrationTypeDetails: Home jurisdiction information
    • normalizedCode: Standard jurisdiction code (e.g., "CA-BC")
    • normalizedDescription: Human-readable jurisdiction
    • originalCode: Source jurisdiction code
    • originalDescription: Source jurisdiction description
  • address.city: City name
  • address.isoCode: Country/jurisdiction ISO code
  • address.rawAddressLines[]: Array of address lines
  • address.region: Province/territory name

Example: British Columbia corporation

This example shows enhanced data for a British Columbia corporation.

Before

{
  "data": {
    "activity": [
      {}
    ],
    "address": {
      "fullAddress": "British Columbia Canada, British Columbia, Canada",
      "buildingName": "British Columbia Canada",
      "region": "British Columbia",
      "country": "Canada"
    },
    "companyNumber": "FM0258579",
    "companyName": "TAPLIN GROUP HOLDINGS",
    "legalForm": {
      "original": "Business Name"
    },
    "legalStatus": {
      "original": "Active",
      "normalized": "Active"
    },
    "registrationAuthority": "Ministry of Government Services, Canada"
  }
}

After

{
  "data": {
     "address": {
          "fullAddress": "British Columbia, Canada",
          "rawAddressLines": [
            "British Columbia",
            "Canada"
          ],
          "region": "British Columbia",
          "country": "Canada",
          "isoCode": "CA-BC"
        },
        "companyNumber": "FM0258579",
        "companyName": "TAPLIN GROUP HOLDINGS",
        "foundationDate": {
          "original": "1999-05-03T00:00:00",
          "normalized": "1999-05-03"
        },
        "legalForm": {
          "original": "Sole Proprietership",
          "normalized": "Sole Proprietorship"
        },
        "legalStatus": {
          "original": "Active",
          "normalized": "Active"
        },
        "registrationAuthority": "British Columbia Corporate Registry",
        "registrationAuthorityCode": "CA-BC"
      }
}

Example: Federal corporation with alias

This example demonstrates a federal corporation with an alias (French name).

Before

{
  "data": {
    "activity": [
      {}
    ],
    "address": {
      "fullAddress": "Federal Canada, Federal, Canada",
      "buildingName": "Federal Canada",
      "region": "Federal",
      "country": "Canada"
    },
    "companyNumber": "3572706",
    "companyName": "CT INVESTMENT MANAGEMENT GROUP INC.",
    "legalForm": {
      "original": "Corporation"
    },
    "legalStatus": {
      "original": "Inactive",
      "normalized": "Inactive"
    },
    "registrationAuthority": "Ministry of Government Services, Canada"
  }
}

After

{
  "data": {
    "address": {
      "fullAddress": "TORONTO, Canada",
      "rawAddressLines": [
        "TORONTO",
        "Canada"
      ],
      "city": "TORONTO",
      "country": "Canada",
      "isoCode": "CA-FE"
    },
    "companyNumber": "3572706",
    "companyName": "CT INVESTMENT MANAGEMENT GROUP INC.",
    "foundationDate": {
      "original": "1998-12-31T00:00:00",
      "normalized": "1998-12-31"
    },
    "legalForm": {
      "original": "Canada Business Corporations Act",
      "normalized": "Canada Business Corporations Act"
    },
    "legalStatus": {
      "original": "Dscntd",
      "normalized": "Inactive"
    },
    "registrationAuthority": "Federal Corporate Registry",
    "registrationAuthorityCode": "CA-FE",
    "aliases": [
      {
        "name": "GROUPE DE GESTION DE PLACEMENT CT INC."
      }
    ],
    "previousNames": []
  }
}

Ordering Company Profile documents

In addition to search and lite profile data, Company Profile PDF documents are available for all Canadian jurisdictions. These comprehensive registry extracts contain detailed company information including profile data and associated persons.

Documents endpoint workflow

The complete workflow for ordering Company Profile documents in V2 involves three steps:

  1. Get Documents List: Retrieve available documents for a company using the KyckrId
  2. Create Order: Place an order for the Company Profile document using the productId
  3. Download Document: Retrieve the PDF once ready (usually within 15 minutes)

Example: Documents list response

{
   "correlationId": "01XXXXXX-CCCC-DDDD-EEEE-FFFFFFFFF0f9",
    "cost": {
      "type": "credit",
      "value": 0
    },
    "data": [
      {
        "cost": {
          "type": "credit",
          "value": 8
        },
        "deliveryTimeMinutes": 5,
        "documentFormat": [
          "application/pdf"
        ],
        "id": "UkVHSFVCT0ZGfDE..........................FVCX0NQfDI2MnxDb21wYW55IFByb2ZpbGU=",
        "name": "Company Profile"
      }
    ],
    "details": "Success",
    "timeStamp": "2025-10-22T04:06:35.8316756Z"
  },
  "success": true 
}

For more details on document ordering, see the Order Registry Extracts and Filings documentation.

Migration guide

Required updates

  1. Update field mappings: Adjust your code to handle new field structures

    • Use registrationAuthorityCode for jurisdiction codes
    • Access structured date fields with normalized and original properties
    • Access normalized and original legal forms and statuses
    • Use structured address fields including city, region, and isoCode
  2. Handle extra-provincial registrations:

    • Check registrationType field to identify extra-provincial registrations
    • Use registrationTypeDetails to determine the home jurisdiction
    • Example: A BC company registered in ON will show registrationType="Extra Provincial" with normalizedCode="CA-BC"
  3. Process previous names and aliases:

    • Use previousNames[] array with nested date objects (normalized/original)
    • Use aliases[] array for alternative company names
    • Check isPreviousName to determine if the current result represents a previous name - name search only
  4. Leverage normalized fields:

    • Use legalForm.normalized for standardized legal form values
    • Use legalStatus.normalized for consistent "Active"/"Inactive" values
    • Original jurisdiction-specific values remain in the .original properties
  5. Enhanced address parsing:

    • Use address.city for city name
    • Use address.region for province/territory
    • Use address.isoCode for country/jurisdiction code
    • Use address.rawAddressLines[] for all address lines

Impact assessment

This change affects systems that:

  • Store Canadian company data: Update database schemas to accommodate new nested structures
  • Display company information: Take advantage of normalized fields and richer data
  • Track company history: Leverage previous names with date tracking and aliases
  • Distinguish registration types: Identify extra-provincial vs. home jurisdiction registrations
  • Parse addresses: Benefit from structured city, region, and ISO code fields
  • Process legal status: Use normalized status values for consistent business logic

Testing recommendations

  1. Test across jurisdictions: Verify handling of all 14 Canadian jurisdictions (CA-AB, CA-BC, CA-FE, CA-MB, CA-NB, CA-NL, CA-NS, CA-NT, CA-NU, CA-ON, CA-PE, CA-QC, CA-SK, CA-YU) and also the country search CA-ALL
  2. Extra-provincial scenarios: Test companies with extra-provincial registrations to ensure proper home jurisdiction identification
  3. Previous names and aliases: Validate proper handling of companies with name changes and alternative names
  4. Date formatting: Ensure both normalized and original date formats are handled correctly
  5. Address parsing: Test structured address fields including city, region, and ISO codes

Additional resources