Canadian Company Data

Look up a Canadian federal corporation at Corporations Canada by corporation number or name.

Pay by wallet (x402) Canada: all company records canadian-company-data

Example

Input
{
  "corporation_number": "1007"
}
Answer
{
  "status": "Active",
  "address": "207 - 32900 SOUTH FRASER WAY, ABBOTSFORD BC, V2S 5A1, CA",
  "industry": null,
  "company_name": "Abbotsford Chamber of Commerce",
  "jurisdiction": "CA",
  "name_history": [],
  "business_type": "Boards of Trade Act - Part II",
  "business_number": "106679285",
  "director_limits": {
    "maximum": 30,
    "minimum": 3
  },
  "tier_2_available": false,
  "registration_date": "1947-01-10",
  "corporation_number": "1007",
  "registration_number": "1007",
  "latest_annual_return_year": "2026"
}

Inputs

FieldTypeRequiredWhat it is
taskstringNoFree-text alias — corporation number or company name
company_namestringNoCompany name (resolved via the Corporations Canada site search)
corporation_numberstringNoFederal corporation number (older corporations have fewer than 7 digits) or 9-digit business number

Output fields

How reliably each field appears in a successful answer.

FieldTypeAppears
statusstringAlways (present in every successful answer)
company_namestringAlways (present in every successful answer)
name_historyarrayUsually (present for most inputs)
business_typestringAlways (present in every successful answer)
business_numberstring or nullUsually (present for most inputs)
director_limitsobject or nullUsually (present for most inputs)
ubo_availabilitystringAlways (present in every successful answer)
corporation_numberstringAlways (present in every successful answer)
registration_numberstringAlways (present in every successful answer)
tier_2_available_reasonstringAlways (present in every successful answer)
ubo_availability_reasonstringAlways (present in every successful answer)
address—Usually (present for most inputs)
registration_date—Usually (present for most inputs)
latest_annual_return_year—Usually (present for most inputs)
industry—Sometimes (present only for some inputs)
tier_2_available—Always (present in every successful answer)
match_confidence—Sometimes (present only for some inputs)

How to call it

The same tool through each route. MCP clients reach it through Strale’s server at https://api.strale.io/mcp; the call below is what the agent sends.

# Needs an API key. max_price_cents caps what this call may cost.
curl -X POST https://api.strale.io/v1/do \
  -H "Authorization: Bearer $STRALE_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "capability_slug": "canadian-company-data",
    "inputs": {
      "corporation_number": "1007"
    },
    "max_price_cents": 80
  }'

Limitations

  • Provincial company coverage is limited

    Covers federally incorporated companies — provincially registered businesses may have limited information

    What to do instead: For provincial companies, supplement with the relevant provincial registry (e.g., Ontario ONBIS, BC Registry)

  • Named directors are not included

    Director names are not included. `director_limits` gives the minimum and maximum permitted by the articles, rather than the current number of directors.

    What to do instead: Order a corporate profile from Corporations Canada, or check the corporation's own filings

  • Name and number lookups use different methods

    Corporation-number and business-number lookups read the official API directly. Name lookups extract results from the Corporations Canada website using AI and can return less precise fields.

    What to do instead: Provide the corporation number for a fully algorithmic answer

  • Name history can be incomplete

    `name_history` can contain only the current name even when the registry’s activity history records a name change. An empty list does not prove that the company has never been renamed.

    What to do instead: Check the corporation's activity history on Corporations Canada for name-change events

  • API responses are limited to 4 MiB

    API response bodies above 4 MiB are refused during download rather than parsed.