🇨🇦 Canada's public 2025-26 records, in one AI-native data store any agent can read.
Parliamentary filings like Hansard, committee evidence, federal contracts and grants, who lobbied whom, every riding and seat, how each district voted, where its boundaries run, and Canada's tariff law. 12,090 documents in one public store you can use with any model. 🇨🇦
- Published
- Written by
- Joel Augé
- Read time
- 8 min
Canada publishes a great deal of its public record in full. Hansard and committee evidence go up as official XML. Federal contracts and grants appear as proactive disclosure. Elections Canada publishes how the districts voted and where their boundaries run. All of it is publicly available today, and all of it is free. But none of it has ever lived together like this: in one easily-adddressable and queryable vector store.
Asking a question of the data is hard. The formats differ, the dates that matter are often not the dates on the page, and some of it is revised in place so last year's version is gone. We have been putting it into one public KnowDrive store, tagged on the axes that matter. It now holds 12,090 documents and 391,919 retrievable passages. This is 2025 (and some of 2026's) data. We'd love to do more. If you're interested in sponsoring this project as a public service, please contact us at canada@recoursellm.com .
Why are we doing this and what's in the store
Recourse Software Inc. created KnowDrive as extended stateful working memory for AIs. When working with citizen data (like with other important data) hallucinations are unacceptable. These public records are an example of what can happen when a full corpus of stateful data is addressable all at once in AI-native formats, and shaped for provenance. It is made up of two collections. PublicRecord covers what Parliament said, what the government spent, and who represents whom. Tariffs covers the law on what Canada charges extra on. Every figure below is counted from the store rather than estimated.
- Lobbying: 8,965 records. 3,357 of them carry 62,059 communications reported to the Commissioner of Lobbying between January 2025 and August 2026, one document per organisation that lobbied and one per institution lobbied. A reported communication is a contact, not evidence of influence or of any outcome. The other 5,608 are registrations, covering 28,545 registrations active at some point since January 2025. A registration declares an intent to lobby, which is a different thing from a record that lobbying happened: of the 13,023 organisations holding one, 7,271 reported no communication in the same window.
- Spending: 1,208 disclosure documents holding 180,398 records. 67,405 contracts across 88 federal organisations and 112,993 grants across 28, disclosed during 2025.
- Proceedings: 72 chamber sittings covering all of calendar 2025 from the opening of the 45th Parliament, and 324 committee meetings across 23 committees. Converted from the official XML to speaker-attributed text, with riding and party on each intervention.
- Registry: all 343 ridings of the 2023 Representation Order and all 343 seats, with the crosswalk that joins them.
- Elections: 343 records of how the 44th general election transposes onto the current boundaries, and 343 more giving each district its area, centroid, outline and the districts it borders.
- Legislation: the 95 bills of the 45th Parliament, first session.
- Tariffs: 30 records of tariff law, being seven Canada Gazette orders, eighteen CBSA customs notices, a chronology and four registry entries.
Where it comes from
Nothing here is scraped from an aggregator. Each domain is built from the body that publishes it, and each carries its terms as a tag on every document.
- Lobbying: Office of the Commissioner of Lobbying, monthly communication reportsOpen Data Licence Agreement
- Lobbying: Office of the Commissioner of Lobbying, lobbying registrationsOpen Data Licence Agreement
- Proceedings: House of Commons official XML, Hansard and committee evidenceHouse of Commons
- Spending: Government of Canada proactive disclosure, contracts and grantsOpen Government Licence
- Registry: House of Commons members and the 2023 Representation OrderHouse of Commons
- Legislation: LEGISinfo, bills of the 45th ParliamentHouse of Commons
- Elections: Elections Canada, transposition of the voteOpen Government Licence
- Geography: Elections Canada, Federal Electoral Districts Canada 2023 boundary fileOpen Government Licence
- Tariff orders: Canada GazetteGovernment of Canada
- Tariff application: CBSA customs noticesGovernment of Canada
The licence column is why elections is its own domain rather than extra fields on the riding records. Elections Canada material carries the Open Government Licence and House of Commons material does not. That boundary costs a second file per district and buys a provenance line that survives a single document being retrieved on its own, which is how an agent reads them.
Dates are the hardest part
Every record carries the dates that distinguish when a thing was decided from when it was published. In tariff law those routinely diverge: one order in the collection came into force nine days before it was printed, and another seven months before. A question about March 2025 needs the instrument in force in March 2025, which is not the instrument printed then.
Spending has a similar issue. Disclosure documents are filed by the month the disclosure was published, not the month the money moved. Of the record-level dates in the archive, 17.1% fall outside the month of the file they sit in, and the underlying dates run from 1899 to 2026. Summing a disclosure month and calling it that month's spending is the easiest mistake to make with this data, so the tags say which date they mean.
The border agency revises its notices in place and keeps the same address. One notice in this collection has been revised five times. Today's page can only answer about today.
Geography, and what the boundaries actually say
Each district record carries its own outline, simplified for reading, so an agent can hand the geometry to anything that draws maps. It also names the districts that border it. That adjacency is exact: the Elections Canada boundary file is topologically clean, so neighbouring districts carry identical vertices along a shared border, and 558,163 vertices in the file are shared by two districts or more. Nothing is inferred from distance, so nothing is invented across water. The full-resolution layer is linked below and from every record.
Two facts about those boundaries catch people out, and both are in the source rather than introduced by us. Districts tile territorial water as well as land, so Nanaimo—Ladysmith shares a 65 km border with West Vancouver—Sunshine Coast down the middle of the Strait of Georgia. And the northern districts are drawn to the North Pole under the Arctic sector principle. The 343 areas therefore sum to about 14.2 million square kilometres against Canada's 9,984,670, because most of Nunavut's area as drawn is ocean.
A caveat
The elections records carry a date. The 44th general election was contested in 2021 on the 2013 boundaries, which had 338 districts. The archive is organised on the 2023 Representation Order, which has 343. Elections Canada redistributes the votes actually cast onto the new map to estimate what each district would have returned.
So no candidate ever stood in these districts as drawn, and turnout and first place are estimates rather than returns. Each of the 343 records repeats that warning inline, next to the numbers, and each geography record does the same for area. Retrieval hands a model one document at a time, and a caveat kept in a README would not be in the room when the figure is read.
What is missing in the store
The archive carries a coverage manifest recording what is present and what is knowingly absent, so an empty result can be checked rather than assumed. Committee coverage is 324 meetings, and in-camera meetings produce no public transcript. 2026 evidence is not ingested. There is no census data, and no audio or video. Six of 343 seats have no member in the source crosswalk and say so. No actual election returns are held, for either the 44th or the 45th. Neither the registrations nor the communications carry subject matter, because the bulk open data stopped publishing those fields around October 2024, so a search for what was lobbied about returns nothing across the whole window.
An archive that cannot tell you where its edges are will let a model report silence as a finding. We've included these gaps as part of the data.
Why a store rather than a folder
A folder of files is already possible and already free. A KnowDrive store is cut into atoms at ingest, so an agent retrieves the passages a question needs instead of loading a corpus into a context window. At 391,919 passages that difference is everything: the records are the same records, and a model can work through them at the size the question requires and without blowing through a limited token budget: just one huge benefit to KnowDrive's data shaping techniques.
It is the same mechanism we run our company on, pointed at public material instead of our own. One connection, read on demand, no re-embedding when the reader changes.
How to read it
Sign in at public.knowdrive.ai and add the store to Claude, Claude Code, or any MCP client that speaks HTTP. If you don't have a free KnowDrive account, you can get one at KnowDrive.ai. The client runs the sign-in itself, so there is no key to copy and no configuration file to edit. The store is read-only for everyone with an account, and it costs nothing.
https://public.knowdrive.ai/api/v1/mcpWe also wrote three reports from these records, each in English and French. Two are plain-language guides. One covers the tariff records: what Canada charges extra on, who pays it, and which deadlines have already closed. The other covers the federal record as a whole: what the government spent, who speaks in Parliament, and why a vote is worth more in some districts than in others. The third is an analysis of the contracts Ottawa awards without competition, and of what the reasons departments give for that do and do not show. All three are on the public data page with the connection instructions.
Read the reports on the public data page
These records are already public. Putting them where an agent can work through them, with the sources named, the dates separated and the gaps written down is important because open access to data means nothing if you can't use it.