company-v2Updated: 2025-10-22

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 now 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 benefits

  • Enhanced extra-provincial registration details: Clear identification of home jurisdiction for entities registered in multiple provinces/territories
  • Improved name tracking: Better support for previous names and aliases with date tracking
  • Additional jurisdiction coverage: Comprehensive support for all 14 Canadian jurisdictions (10 provinces, 3 territories, and federal)
  • Richer address data: More structured and complete address information with city, region, and ISO codes
  • Standardized registration authority codes: Consistent two-letter province/territory codes (AB, BC, FE, etc.)
  • Foundation dates: Comprehensive date tracking with both normalized and original formats

Key changes

  • Search Response: Enhanced with previous names, aliases, registration type details for extra-provincial entities, improved address structure, and standardized date formats
  • Lite Profile: Expanded to include foundation dates, normalized legal status and legal forms, previous names with dates, extra-provincial registration details, and registration authority codes
  • Company Profile Documents: PDF registry extracts available for ordering via the documents endpoint, containing comprehensive company information
  • [Future] Enhanced Profile: Will be updated with the same comprehensive improvements as search and lite profile
  • Registration Types: Clear distinction between home jurisdiction and extra-provincial registrations with normalized jurisdiction codes

Canadian jurisdictions supported

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

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|...).

Important restrictions

CA-ALL is only supported for search operations. Do not use CA-ALL for:

  • ❌ Lite profile requests
  • ❌ Enhanced profile requests (future)
  • ❌ Documents endpoint / ordering
  • ❌ Any endpoint that requires a KyckrId

After performing a CA-ALL search, use the specific KyckrId from the search results (which includes the jurisdiction code) for subsequent lite profile or document ordering operations.

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:

  • aliases[]: Array of alternative names for the company
  • isPreviousName: Boolean indicating if the returned name is a previous name
  • previousNames[]: Array of historical company names with dates
    • name: The previous company name
    • startDate.normalized: ISO date when this name became effective
    • startDate.original: Original date format from source
  • registrationTypeDetails: Details about extra-provincial registrations
    • 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 data structure and additional fields.

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 with previous names and aliases

This example demonstrates previous names and aliases tracking for a Quebec extra-provincial corporation.

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",
      "aliases": [
        "CAPITAL GROUP",
        "Capital Group (Canada)",
        "Capital Group | Canada",
        "GESTION D'ACTIFS CAPITAL INTERNATIONAL (CANADA)",
        "GROUPE CAPITAL",
        "Groupe Capital (Canada)",
        "Groupe Capital | Canada"
      ],
      "registrationAuthority": "Quebec Enterprise Registry",
      "previousNames": [
        {
          "name": "GESTION D'ACTIFS CAPITAL INTERNATIONAL (CANADA)",
          "startDate": {
            "original": "2000-10-05T00:00:00",
            "normalized": "2000-10-05"
          }
        },
        {
          "name": "CAPITAL INTERNATIONAL ASSET MANAGEMENT (CANADA), INC.",
          "startDate": {
            "original": "2000-10-05T00:00:00",
            "normalized": "2000-10-05"
          }
        }
      ],
      "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
  • isPreviousName: Boolean indicating if name is from company history
  • 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: Two-letter jurisdiction code (AB, BC, 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 ISO code (CA for Canada)
  • 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"
        },
        "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": "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"
    },
    "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": "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 two-letter jurisdiction codes (AB, BC, FE, etc.)
    • 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
  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 code ("CA")
    • 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 (AB, BC, FE, MB, NB, NL, NS, NT, NU, ON, PE, QC, SK, YU)
  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
  6. Normalized vs. original fields: Verify both normalized and original legal status/form values are processed appropriately
  7. KyckrId handling: Test with new shortened KyckrId format in search results

Additional resources