Canada Company Filings API and MCP — Certificates and Filings by Corporation
Send a corporation number and get its certificates and filings back as a list: date, filing type, description, amendment details where they exist, and a link to the filing entry.
- You send
- a corporation number
- You get back
- Certificates and filings with date, type and amendment details
- 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 | Open the company on Corporations Canada and page through the list | 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_company_filings". |
company | string | The company 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 | Records the register holds for this company. |
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.date | string | Date of the filing, YYYY-MM-DD. |
machine.first_item.type | string | Filing type, for example Proxy circular. |
machine.first_item.description | string | Filing description. |
machine.first_item.details | null | Amendment details; null for the circulars in the sample. |
machine.first_item.as_of | string | The as-of date the filing refers to. |
machine.first_item.id | string | Filing id: corporation number and entry number. |
machine.first_item.company_number | string | Corporation number without the check digit. |
machine.first_item.url | string | Link to the filing entry on Corporations Canada. |
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_company_filings",
"company": "426160-7",
"company_id": "4261607",
"max_items": 2,
"start_page": 1,
"partial": false,
"human": "# Canada — Corporations Canada — company filings\n\n- **Company:** 4261607\n- **Results:** 2 of 23 found\n- **Proxy traffic:** 67.6 KB",
"machine": {
"total_items": 2,
"first_item": {
"date": "2026-05-12",
"type": "Proxy circular",
"description": "Proxy circular - As of 2026-04-21",
"details": null,
"as_of": "2026-04-21",
"id": "4261607-23",
"company_number": "4261607",
"url": "https://ised-isde.canada.ca/cc/lgcy/fdrlCrpDtls.html?corpId=4261607&locale=en_CA#filing-23"
},
"items": [
{
"date": "2026-05-12",
"type": "Proxy circular",
"description": "Proxy circular - As of 2026-04-21",
"details": null,
"as_of": "2026-04-21",
"id": "4261607-23",
"company_number": "4261607",
"url": "https://ised-isde.canada.ca/cc/lgcy/fdrlCrpDtls.html?corpId=4261607&locale=en_CA#filing-23"
},
{
"date": "2025-04-29",
"type": "Proxy circular",
"description": "Proxy circular - As of 2025-04-07",
"details": null,
"as_of": "2025-04-07",
"id": "4261607-22",
"company_number": "4261607",
"url": "https://ised-isde.canada.ca/cc/lgcy/fdrlCrpDtls.html?corpId=4261607&locale=en_CA#filing-22"
}
],
"total_found": 23,
"page_count": 1,
"blocked": false,
"proxy_traffic_bytes": 69218
},
"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-company-filings \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"company":"426160-7","max_items":2}'What teams use it for
Where this field shows up in an actual workflow.
Watch for amendments and certificates on a corporation.
Collect the filing trail for a counterparty.
Spot proxy circulars and their as-of dates.
Record when each filing was made.
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.
- —The details field is null for filings without amendment details, as with the circulars in the sample.
- —The response lists filing entries and links; it is not a copy of the filed documents.
Questions, answered
max_items caps the records returned and total_found shows how many the register holds. In the sample that is 2 returned of 23 found.
Related sources
Try canada company filings on your own data
One request format across every source in the catalog.