Canada Company Search API and MCP — Federal Corporations by Name or Number
Send a name, a corporation number or a business number and get the matching federal corporations back, each with its corporation number, name, status, business number and a link to the record.
- You send
- a name, corporation number or business number
- You get back
- Matching federal corporations with number, status, business number and link
- Coverage
- Canada — entities on Corporations Canada.
- Price
- 1 point per returned record — $1 per 1,000
- Billed per record actually returned, capped by max_items. A request that returns nothing costs nothing.
Ways to get this data
Three approaches teams use today, and where each one runs into trouble.
| Approach | What it takes | Cost | Trade-off |
|---|---|---|---|
| Corporations Canada directly | Type the name into Corporations Canada and read the results | Usually free, sometimes per-document | A different interface, language and data shape for every country you add |
| Collecting it yourself | Build and host a crawler per register, then keep each one alive | Infrastructure and maintenance | Registers change their pages without warning, and nobody is on the hook when yours breaks |
| NeuralVerge | One request, the same shape as every other source in the catalog | $1 per 1,000, misses not billed | Covers Canada — other countries are separate sources with the same request format |
What you get back
Every field in the example response below.
| Field | Type | Description |
|---|---|---|
session_id | string | Id of this run, for tracing. |
kind | string | Always "ca_companies_search". |
keyword | string | The search text you sent. |
max_items | number | The cap you set on returned records. |
start_page | number | Page the results started from. |
partial | boolean | True if the run stopped before the cap was reached. |
human | string | Readable Markdown summary of the run. |
machine.total_items | number | Records returned in this response. |
machine.total_found | number | Matches the register reports for the search, which can be more than you asked for. |
machine.page_count | number | Result pages read. |
machine.blocked | boolean | False when the register answered normally. |
machine.proxy_traffic_bytes | number | Data transferred for the run. |
total_points | number | Points charged: one per returned record. |
machine.first_item.registration_number | string | Corporation number. |
machine.first_item.name | string | Corporation name. |
machine.first_item.status | string | Status as the register words it, for example Active. |
machine.first_item.business_number | string | Federal business number. |
machine.first_item.address | null | Empty in search results. |
machine.first_item.url | string | Link to the record on Corporations Canada. |
machine.first_item.company_type | null | Empty in search results. |
machine.first_item.incorporation_date | null | Empty in search results. |
machine.items | array | Every returned record, each with the same keys as first_item. |
Example response
A real response, as returned.
{
"session_id": "11111111-1111-1111-1111-111111111111",
"kind": "ca_companies_search",
"keyword": "Shopify",
"max_items": 2,
"start_page": 1,
"partial": false,
"human": "# Canada — Corporations Canada — company search\n\n- **Keyword:** Shopify\n- **Results:** 2 of 6 found\n- **Proxy traffic:** 25.9 KB",
"machine": {
"total_items": 2,
"first_item": {
"registration_number": "426160-7",
"name": "SHOPIFY INC.",
"status": "Active",
"business_number": "847871746RC0001",
"address": null,
"url": "https://ised-isde.canada.ca/cc/lgcy/fdrlCrpDtls.html?corpId=4261607&locale=en_CA",
"company_type": null,
"incorporation_date": null
},
"items": [
{
"registration_number": "426160-7",
"name": "SHOPIFY INC.",
"status": "Active",
"business_number": "847871746RC0001",
"address": null,
"url": "https://ised-isde.canada.ca/cc/lgcy/fdrlCrpDtls.html?corpId=4261607&locale=en_CA",
"company_type": null,
"incorporation_date": null
},
{
"registration_number": "436852-5",
"name": "Shopify Commerce Inc.",
"status": "Dissolved for non-compliance (s. 212)",
"business_number": "851930768RC0001",
"address": null,
"url": "https://ised-isde.canada.ca/cc/lgcy/fdrlCrpDtls.html?corpId=4368525&locale=en_CA",
"company_type": null,
"incorporation_date": null
}
],
"total_found": 6,
"page_count": 1,
"blocked": false,
"proxy_traffic_bytes": 26529
},
"total_points": 2
}How to run it
The same lookup works from the app, the API, or as a tool an agent can call mid-task.
Results come back in the same envelope as every other source: a session id, a readable summary, the structured result and the points charged.
curl -X POST https://api.neuralverge.ai/functions/v1/run-ca-companies-search \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"keyword":"Shopify","max_items":2}'What teams use it for
Where this field shows up in an actual workflow.
Resolve a name to a corporation number before a full lookup.
See which similarly named corporations are active and which are dissolved.
Check which corporation a business number belongs to.
Match free-text names to registered federal corporations.
Coverage, freshness and limits
What this source covers, how fresh it is, and where it stops.
Canada — entities on Corporations Canada.
Read at request time, so the answer reflects the register as it stands when you ask.
Corporations Canada is a public register. Every response carries the source URL it was read from and a session id you can trace.
- —Federal corporations only.
- —Address, type and incorporation date are not in search results; use Canada company.
- —A broad keyword matches many entities, so check total_found.
Questions, answered
Yes. The register search accepts a name, a corporation number or a business number.
Related sources
Try canada company search on your own data
One request format across every source in the catalog.