Sources
32 live sources, 2 on the roadmap, 5 researched and refused, and 4 looked for and found not to be published at all. A source is only marked live once this repository has recorded an actual response from it — never on the strength of documentation, because published dataset identifiers and field names are wrong often enough that an unverified connector is a liability rather than a head start.
33 of those 32 contributed records to the current build. Live means the connector is verified against a real response; contributing means a full extract has actually been read and is in the numbers on this site. The difference is listed against each source below rather than averaged away.
Corporate registrars. The publisher is the body that grants legal existence, so these sources assert an entity rather than describe one.
Federal corporations — active business corporations live
Corporations Canada (Innovation, Science and Economic Development Canada) · Open Government Licence – Canada · publisher page
- Contributes
- Every live corporation under the Canada Business Corporations Act. This is the largest single-registrar entity file in Canada and the natural spine of the graph: the business number (BN) it carries is the join key to CRA charity status, federal contracts and federal grants.
- Read as
- file · publisher refresh P1D
- Personal data
- Organisations only, but the registered address is frequently a home.
- Verified
- HTTP 200 on 2026-09-01, 99 MB, publisher last modified Mon, 31 Aug 2026 11:06:35 GMTUTF-8 with BOM. 18 columns. Carries the registered office address and the min/max director counts, but NOT director names — the federal extract is materially less personal than the CRA charities extract.
- In this build
- 645,477 statements
Federal corporations — active not-for-profit, co-operative and boards of trade live
Corporations Canada (Innovation, Science and Economic Development Canada) · Open Government Licence – Canada · publisher page
- Contributes
- Federal non-share corporations. Small file, disproportionate value: it is the only clean national list of federally incorporated charities, associations and co-operatives, and it joins to the CRA charities data.
- Read as
- file · publisher refresh P1D
- Personal data
- Organisations only, but the registered address is frequently a home.
- Verified
- HTTP 200 on 2026-09-01, 8.7 MB, publisher last modified Mon, 31 Aug 2026 11:06:38 GMTSame 18 columns as the CBCA file. Governing legislation distinguishes the Not-for-profit Corporations Act, Cooperatives Act, Boards of Trade Act and the older Canada Corporations Act.
- In this build
- 51,291 statements
Federal corporations — inactive and dissolved business corporations live
Corporations Canada (Innovation, Science and Economic Development Canada) · Open Government Licence – Canada · publisher page
- Contributes
- The dead. Essential rather than optional: an amalgamation predecessor is how a 1979 company connects to the entity operating today, and a dissolved shell is the answer to "what happened to this company".
- Read as
- file · publisher refresh P1D
- Personal data
- Organisations only, but the registered address is frequently a home.
- Verified
- HTTP 200 on 2026-09-01, 149 MB, publisher last modified Mon, 31 Aug 2026 11:06:41 GMTLarger than the active file. Status Detail distinguishes "Dissolved by the corporation" from "Inactive - Amalgamated", which is the difference between an entity that ended and one that continues under another name.
- In this build
- 835,645 statements
Federal corporations — inactive not-for-profit, co-operative and boards of trade live
Corporations Canada (Innovation, Science and Economic Development Canada) · Open Government Licence – Canada · publisher page
- Contributes
- Wound-up associations, societies and co-operatives.
- Read as
- file · publisher refresh P1D
- Personal data
- Organisations only, but the registered address is frequently a home.
- Verified
- HTTP 200 on 2026-09-01, 8.1 MB, publisher last modified Mon, 31 Aug 2026 11:06:44 GMT
- In this build
- 42,754 statements
OrgBook BC — registered organisations refused
Government of British Columbia (BC Registries and Online Services) · Access Only — reproduction requires written permission · publisher page
- Contributes
- The only Canadian provincial registry with a genuine public API, and it enumerates the whole province — 2.8 million topics. It is refused on licence grounds rather than technical ones, which is the opposite of what this entry claimed before it was checked.
- Read as
- orgbook · publisher refresh P1D
- Personal data
- Organisations only, but the registered address is frequently a home.
- Verified
- HTTP 200 on 2026-09-03GET /api/v4/topic?page=1&page_size=2 returns total 2,808,571 — the API IS enumerable, contrary to what this entry said for two days. The blocker is licensing, not capability. The BC Data Catalogue record for "OrgBook BC API" gives license_id 22, "Access Only", owned by Digital Identity and Trust; the licence page states plainly that reproduction is not permitted without written permission and points to a Copyright Permission Request Form.
Registre des entreprises du Québec refused
Registraire des entreprises du Québec · CC BY-NC-SA 4.0 — non-commercial, share-alike · publisher page
- Contributes
- The single largest gap in national coverage, and it stays open. Québec is the only province publishing its whole corporate register in bulk, including officers, which is why it is classed individuals-named. It is refused on licence grounds rather than technical ones — see `blocked`. Revisit only if the Registraire relicenses, which would be visible as a change to license_id on the CKAN record above.
- Read as
- file · publisher refresh P1D
- Personal data
- Contains named individuals. Personal columns are dropped before publication and subjects that cannot be confirmed to be organisations are withheld.
- Verified
- HTTP 200 on 2026-09-03Probed via the Données Québec CKAN API (package_show). The publisher states license_id CC-BY-SA-NC-4.0, titled in full: Attribution, pas d’utilisation commerciale, partage dans les mêmes conditions. This registry previously recorded the licence as CC BY 4.0, which was wrong and would have led straight to ingesting it. The dataset itself is real and rich: a ZIP of several tables behind an ASP.NET download page, plus a PDF layout guide. Nothing was downloaded.
Municipal licences and openly licensed public business records. A registration says a company exists; these sources say it was observed operating at a place.
Calgary business licences live
City of Calgary · Open Government Licence – City of Calgary · publisher page
- Contributes
- Trade names, licence categories and geocoded addresses. `homeoccind` is unusually valuable: it lets the address gate act on the publisher's own assertion instead of a guess.
- Read as
- socrata · publisher refresh P1D
- Personal data
- Contains named individuals. Personal columns are dropped before publication and subjects that cannot be confirmed to be organisations are withheld.
- Verified
- HTTP 200 on 2026-09-01Fields confirmed on a live 2-row read: getbusid, tradename, homeoccind, address, comdistcd, comdistnm, licencetypes, first_iss_dt, exp_dt, jobstatusdesc, point. `homeoccind` = Y marks a HOME-BASED business, which is an explicit publisher flag that the address is residential — the only source in the registry that states this outright. robots.txt allows /resource with Crawl-delay 1.
- In this build
- 23,207 statements
Vancouver business licences live
City of Vancouver · Open Government Licence – Vancouver · publisher page
- Contributes
- Operating businesses with employee counts and local area. Complements the corporate registry: a registration says a company exists, a licence says it trades somewhere.
- Read as
- opendatasoft · publisher refresh P1M
- Personal data
- Contains named individuals. Personal columns are dropped before publication and subjects that cannot be confirmed to be organisations are withheld.
- Verified
- HTTP 200 on 2026-09-01, 205,326 recordsExplore v2 API. `businessname` contains SOLE PROPRIETOR PERSONAL NAMES verbatim — the second record returned was "Leon Vance Michael Hiebert (Leon Hiebert)" trading as Skyzone Cabling Solutions. The individual/ organisation classifier is load-bearing on this source. Opendatasoft caps offset+limit at 10,000, so 205k records are unreachable by pagination and must be read through /exports/json.
- In this build
- 192,957 statements
Toronto business licences and permits live
City of Toronto (Municipal Licensing and Standards) · Open Government Licence – Toronto · publisher page
- Contributes
- Canada's largest municipal licensing file. Toronto is otherwise a hole in open Canadian entity data (Ontario's corporate registry is not open), so this is the main public signal of who operates in the country's biggest business market.
- Read as
- ckan-datastore · publisher refresh P1D
- Personal data
- Contains named individuals. Personal columns are dropped before publication and subjects that cannot be confirmed to be organisations are withheld.
- Verified
- HTTP 200 on 2026-09-01package_show confirmed the CSV resource 169e90ba-3ae0-43dd-8b2f-919e87002f50 has datastore_active: true, so datastore_search works. CKAN answers 409 to ANY unknown parameter — never append Socrata-style $limit here.
- In this build
- 160,102 statements
Open Database of Businesses — version 1 roadmap
Statistics Canada · Open Government Licence – Canada · publisher page
- Contributes
- A single OGL-Canada harmonized snapshot of municipal, regional, provincial and professional-association business records. It is not the confidential Statistics Canada Business Register and does not cover all Canadian businesses. Its value is historical operating-place evidence, industry codes, employee counts and source-provider attribution. It is a directory observation, not a corporate registration or proof that a 2022 business remains active today. The complete 446,575-row release was captured on 2026-10-15 for the next reviewed graph generation.
- Read as
- file · publisher refresh P1Y
- Personal data
- Organisations only, but the registered address is frequently a home.
- Verified
- HTTP 200 on 2026-10-15, 21 MB, 446,575 records, publisher last modified Tue, 28 Nov 2023 13:30:17 GMTOfficial version 1 ZIP verified and inspected. The 112,017,039-byte CSV contains 446,575 rows from 35 providers: 446,575 names, 394,537 addresses, 382,146 derived NAICS values, 128,344 employee fields and 299,157 licence numbers. Inputs were collected May–December 2022, so publisher status values are retained as historical categories rather than presented as current standing. Statistics Canada labels the release occasional; the annual cadence here is a conservative update check, not a claim that a new edition appears every year.
- In this build
- 446,573 statements
Edmonton business licences live
City of Edmonton · Open Government Licence – Edmonton · publisher page
- Contributes
- LICENCE CHECKED BUT NOT READ, WHICH IS A WEAKER RESULT AND IS RECORDED as the weaker thing. On 2026-09-08 the publisher's licence page was opened and it is TITLED "Open Government Licence - Edmonton, Version 1.0, July 2022" — the city naming its own licence on its own portal — but the page carries NO TERMS AT ALL. It links to a Google Doc, which turns out to be an Open Data Toolkit index, whose four linked documents are metadata requirements, a logo guide, an asset review form and a process note. None of them is the licence. So the grant, the exemptions and any commercial restriction remain unread. Every other Canadian municipal OGL variant checked in this registry is permissive and names commercial use explicitly, which makes an unpleasant surprise unlikely rather than impossible. A person should read it and confirm. Edmonton's 43,604 business licences. `licencetype` distinguishes Home Based, Commercial, Non-Resident, Massage Practitioner and Adult Services; the placeholder-address convention makes home-based businesses self-identifying the same way Calgary's `homeoccind` does.
- Read as
- socrata · publisher refresh P1D
- Personal data
- Contains named individuals. Personal columns are dropped before publication and subjects that cannot be confirmed to be organisations are withheld.
- Verified
- HTTP 200 on 2026-09-02, 43,604 recordsThe id "9qtb-9xdd" once guessed here returned dataset.missing; the real id was found via the catalog search API ($q=business licence), not by guessing again. Edmonton uses its own bracketed redaction convention — `<Home Based Business>` and `<REDACTED FOR PRIVACY>` — which the shape must detect explicitly or it would publish the literal placeholder text as if it were a real address. Adult Services and Massage Practitioner rows redact name, address AND the licence id together at the source; the shape drops those rows entirely rather than working around the publisher's own privacy decision. Short-term-rental rows redact only the address, keeping a real name — the one case in the whole registry where a publisher discloses a business but deliberately withholds exactly where it operates.
- In this build
- 40,776 statements
Montréal food establishments live
Ville de Montréal · Creative Commons Attribution 4.0 · publisher page
- Contributes
- The single largest operating-business file available for Québec, and the only one this project may lawfully use: the provincial registry is CC BY-NC-SA and refused. 16,840 establishments are currently open, and the closed rows are a twenty-year record of turnover at addresses that no other Canadian source keeps.
- Read as
- ckan-datastore · publisher refresh P1D
- Personal data
- Organisations only, but the registered address is frequently a home.
- Verified
- HTTP 200 on 2026-09-05, 54,439 recordsdatastore_search confirmed live. Fields: business_id, name, address, city, state, type, statut, date_statut, latitude, longitude, x, y. business_id is unique per row (1,000 distinct in a 1,000-row read). The `statut` vocabulary is five values and was counted in full: Fermé 20,318; Ouvert 16,840; Fermé changement d’exploitant 16,376; En traitement 601; Sous inspection fédérale 304. The third of those is a trap — it means the premises changed operator, not that the business failed, and a prefix match on "Fermé" would close 16,376 restaurants that are trading tonight. `city` is the borough or a demerged municipality (Côte Saint-Luc, Anjou), not always Montréal.
- In this build
- 54,783 statements
Victoria business licences live
City of Victoria · Open Government Licence – City of Victoria · publisher page
- Contributes
- Ten years of Victoria licences, and the first BC source here that is not Vancouver. Also the first ArcGIS FeatureServer in the registry — the adapter it needed unlocks Kelowna, Ottawa’s child-care register and a long tail of other Canadian cities that run on Esri rather than Socrata.
- Read as
- arcgis · publisher refresh P1M
- Personal data
- Contains named individuals. Personal columns are dropped before publication and subjects that cannot be confirmed to be organisations are withheld.
- Verified
- HTTP 200 on 2026-09-06, 58,956 recordsFields confirmed live: TradeName, FullAddress, Unit, House, Street, LicenceNo, Category, LicenceFee, Description, IssuedDate, ExpiresYear, IssuedYear, Covers_FROM, Covers_TO, gislink, ObjectId. maxRecordCount 1000, supportsPagination true. ONE ROW PER LICENCE YEAR and LicenceNo CHANGES between years — the same business appears as 40784 and 40447 — so the licence number cannot anchor a business. FullAddress embeds a CRLF and a truncated postal ("VICTORIA BC V8"); mobile vendors carry the literal street "BUSINESS - MOBILE". Licence text read in a browser because the page is client-rendered: it is OGL-BC v2.0 reworded for the city, granting use "including for commercial purposes", with exemption 6(a) for Personal Information.
- In this build
- 58,956 statements
Kelowna business licences live
City of Kelowna · Open Government Licence – City of Kelowna · publisher page
- Contributes
- Kelowna’s current licence roll. Small and clean, and it carries a business DESCRIPTION as well as a category, which most municipal files do not.
- Read as
- arcgis · publisher refresh P1M
- Personal data
- Contains named individuals. Personal columns are dropped before publication and subjects that cannot be confirmed to be organisations are withheld.
- Verified
- HTTP 200 on 2026-09-06, 13,087 recordsFields confirmed live: Licence_Account_Number, Name, Type_Code, Type_Description, Business_Description, Licence_Location, Within_City_of_Kelowna, ObjectId. maxRecordCount 1000, supportsPagination true. Unlike Victoria, the account number IS stable per business and anchors it directly. There is no date column of any kind — the file is a current snapshot, so a Kelowna licence can say that a business trades but never since when. `Within_City_of_Kelowna` distinguishes resident from non-resident licence holders. Licence text extracted from the publisher’s PDF: OGL-Canada v2.0 reworded for the city, "including for commercial purposes".
- In this build
- 13,155 statements
Burnaby business licences live
City of Burnaby · Open Government Licence – City of Burnaby · publisher page
- Contributes
- Burnaby is heavy on trades: the first two thousand rows by object id are entirely non-resident contractors — electrical, plumbing, miscellaneous — which is a different slice of the economy from the storefront-led files in Victoria and Kelowna.
- Read as
- arcgis · publisher refresh P1M
- Personal data
- Contains named individuals. Personal columns are dropped before publication and subjects that cannot be confirmed to be organisations are withheld.
- Verified
- HTTP 200 on 2026-10-25, 20,061 recordsA MapServer layer rather than a FeatureServer — the /query endpoint is identical, so the arcgis adapter reads it unchanged. maxRecordCount 2000, supportsPagination true. Fields: OBJECTID, UNIT, PROPERTY_NUMBER, LICENCE_NUMBER, TRADE_NAME, LICENCE_TYPE_NAME, COVERS_FROM, COVERS_TO, ACCOUNT_NAME, HOUSE, STREET, LEGACY_LICENCE_NUMBER, LEGAL_TYPE, LICENCE_STATUS. 1,985 distinct LICENCE_NUMBER in a 2,000-row sample, so it is one row per licence and anchors directly. COVERS_FROM/COVERS_TO are EPOCH MILLISECONDS, not dates. ACCOUNT_NAME holds the licence holder and is frequently a private individual — "ALBERT WARKENTIN" trading as BA TRUCKING — and the licence's own exemption 6(a) grants no right to use Personal Information, so the shape drops it. "BUSINESS - NON RESIDENT" appears in STREET as a marker for out-of-city contractors, not as an address.
- In this build
- 20,097 statements
Coquitlam business licences live
City of Coquitlam · Open Government Licence – City of Coquitlam · publisher page
- Contributes
- A current licence roll for Coquitlam. Anchored on the business at its address rather than on the folder number, so the record survives a renewal.
- Read as
- arcgis · publisher refresh P1M
- Personal data
- Contains named individuals. Personal columns are dropped before publication and subjects that cannot be confirmed to be organisations are withheld.
- Verified
- HTTP 200 on 2026-10-25, 84,851 recordsTHE MOST PERSONAL MUNICIPAL FILE IN THIS REGISTRY. It publishes COL_BUSINESSPHONE and EMAILADDRESS in the clear, and the addresses are personal ones — "s.almasi@me.com" was the second row read. Neither column is carried past the shape at all, not even to internalText: the licence's exemption 6(a) grants no right to use Personal Information, and an email has no value for entity resolution to weigh against holding it. LAT and LONG ARE MISLABELLED — they hold Web Mercator metres (6319331, -13679963), not degrees; converted they give -122.889, 49.261, which is Coquitlam. COL_FOLDER is unique per row but year-prefixed ("26 116374 00"), so anchoring on it would make every business vanish and reappear each year in the change layer. Statuses seen: Issued, Renewal. maxRecordCount 1000. On 2026-10-25 the layer reported 84,851 raw rows, but the same licence assertions were being republished under new OBJECTIDs. The 2026-10-15 capture contained 18,073 rows and normalized to 6,873 distinct assertions; Bronze retains every publisher row while Silver suppresses only byte-equivalent normalized repeats.
- In this build
- 6,873 statements
Maple Ridge business licences live
City of Maple Ridge · Open Government Licence – City of Maple Ridge · publisher page
- Contributes
- Small, and unusually useful for its size. The postal code makes these records joinable in a way most municipal licence files are not, and the HOME BASED category is the third explicit residential flag in the registry after Calgary's homeoccind and Edmonton's placeholder address — the gate acts on the publisher's own assertion rather than on a guess, and shows those records at locality precision with the postal truncated to its first three characters.
- Read as
- arcgis · publisher refresh P1M
- Personal data
- Contains named individuals. Personal columns are dropped before publication and subjects that cannot be confirmed to be organisations are withheld.
- Verified
- HTTP 200 on 2026-09-06, 3,265 recordsFields: OBJECTID, BusinessID, Unit, House, Street, PostalCode, BusinessName, BusinessType, BusinessSubType, BusinessDescription, IssueDate, LicenceCategory, WebsiteAddress, Phone1, Phone1Description, Keywords. BusinessID is stable and anchors directly. IssueDate is EPOCH MILLISECONDS. Two things no other BC source here has: a FULL POSTAL CODE, which is what lets a municipal licence merge onto a federal corporation, and `LicenceCategory` = "HOME BASED", an explicit residential flag. Phone1 is present and never carried. The portal's own licence page requires a sign-in, so the terms were read from the City's Terms of Use page instead: OGL-BC v2.0 reworded for Maple Ridge, "including for commercial purposes", with the City's Terms of Use added as also applying.
- In this build
- 3,298 statements
Township of Langley business licences live
Township of Langley · Open Government Licence – Township of Langley · publisher page
- Contributes
- Small in rows and large in columns: headcount split three ways and a standard industry code on every row.
- Read as
- arcgis · publisher refresh P1M
- Personal data
- Contains named individuals. Personal columns are dropped before publication and subjects that cannot be confirmed to be organisations are withheld.
- Verified
- HTTP 200 on 2026-09-06, 6,174 recordsThe richest municipal licence file in the registry. Fields: PropertyNumber, Business_Name, Civic_Unit, Civic_House, Civic_Street, Mailing_Address, GISLink, CommunityName, Phone, Licence_Desc, Category, Category_Desc, Detail, Detail_Desc, NAICS_Primary, NAICS_Primary_Desc, Approved_Date, Permitted_Use, Permitted_Use_Desc, Seasonal_Employees, PartTime_Employees, FullTime_Employees, Latitude, Longitude, FID. THREE SEPARATE EMPLOYEE COUNTS — full-time, part-time and seasonal — which makes this only the second source here that says how big a business is, after the Montréal supplier list. Also a NAICS code, which no source in the registry carried before this batch. The object-id field is FID, not OBJECTID. Phone is present and never carried.
- In this build
- 6,239 statements
New Westminster business licences live
City of New Westminster · Open Government Licence – City of New Westminster · publisher page
- Contributes
- Resident and non-resident licences in one layer, with a NAICS code and the year the business first opened.
- Read as
- arcgis · publisher refresh P1M
- Personal data
- Contains named individuals. Personal columns are dropped before publication and subjects that cannot be confirmed to be organisations are withheld.
- Verified
- HTTP 200 on 2026-09-06, 3,844 recordsThe city publishes six overlapping layers — All, Residents, Nonresidents, Intermunicipal, Childcare and New This Year. The ALL layer is used, and 3,844 is exactly Residents (2,729) plus Nonresidents (1,115), so the others are subsets and ingesting more than one would count the same business twice. LICENCEE_NAME is a PERSON on a large share of rows and is written surname-first — "RO, KYOUNG S", "AIT TALEB, AHMAD" — and is never carried. CIVIC_ADDRESS uses "BUSINESS - OUT OF TOWN" as a marker for non-resident holders and embeds a CRLF. Carries NAICS_CODE and NAICS_DESCRIPTION, and YEAR_OPENED, which is the year the business started rather than the year of this licence.
- In this build
- 3,627 statements
Prince George business licences live
City of Prince George · Open Government Licence – City of Prince George · publisher page
- Contributes
- Northern BC, which nothing else in this registry reaches. The corpus was otherwise entirely southern coastal and Okanagan.
- Read as
- arcgis · publisher refresh P1M
- Personal data
- Contains named individuals. Personal columns are dropped before publication and subjects that cannot be confirmed to be organisations are withheld.
- Verified
- HTTP 200 on 2026-09-06, 3,309 recordsFields: LicenceNumber, DateFrom, DateTo, TradeName, LicenceDesc, LicenceCategory, Unit, Address, StreeName, ESRI_OID. The street field is spelled "StreeName" in the publisher's schema — a typo in their column name, not in this note, and reading "StreetName" returns nothing. The object-id field is ESRI_OID. Licence text extracted from the city's PDF: OGL-BC v2.0 reworded for Prince George, "including for commercial purposes".
- In this build
- 3,391 statements
Squamish business licences live
District of Squamish · Open Government Licence – District of Squamish · publisher page
- Contributes
- Small, and carries both a NAICS code and the district's own sector taxonomy, plus the date a business first opened rather than the date of its current licence.
- Read as
- arcgis · publisher refresh P1M
- Personal data
- Contains named individuals. Personal columns are dropped before publication and subjects that cannot be confirmed to be organisations are withheld.
- Verified
- HTTP 200 on 2026-09-06, 2,176 recordsThe district publishes an annual snapshot for every year from 2018 to 2025 AND a monthly current file, and two of the "annual" datasets point at the monthly layer, so ingesting them all would multiply the same businesses eight ways. Only the monthly layer is used. Fields: OBJECTID, GIS_ID, Roll_Number, Business_Licence, Business_Name, Business_Location, NAICS, Date_Opened, NonResident, Licence_Status, Licence_Type, Licence_Code, Licence_Description, Licence_Conditions, NAICS_Sector, NAICS_Description, Squamish_Sector, Squamish_Subsector, Neighbourhood. Date_Opened is EPOCH MILLISECONDS and reaches back to 1990. Licence_Type "HOME OCCUPATION, OFFICE" is an explicit residential flag.
- In this build
- 2,176 statements
Lethbridge business licences live
City of Lethbridge · Open Data Licence – City of Lethbridge · publisher page
- Contributes
- Twenty years of Lethbridge licences and Alberta's third city here. The placeholder-name convention is the same problem Winnipeg poses in a different dress, and is handled by a rule derived from the file rather than a list of strings: a trade name that is a prefix of, or equal to, its own licence type is the publisher describing a category, not naming a business.
- Read as
- file · publisher refresh P1M
- Personal data
- Contains named individuals. Personal columns are dropped before publication and subjects that cannot be confirmed to be organisations are withheld.
- Verified
- HTTP 200 on 2026-09-06, 17 MB, 120,639 recordsA plain CSV at a stable URL, so no adapter was needed. 120,639 rows covering 2007-2026 — the deepest municipal history in the registry — holding 17,694 distinct licence numbers, which ARE stable across renewals and anchor directly. Columns: TRADE_NAME, LICENCE_NUMBER, ADDRESS, NEIGHBOURHOOD, COVERAGE_YEAR, LICENSE_TYPE, RENEWAL_STATUS, LICENSE_STATUS, ACCOUNT_STATUS. 39.2% OF ROWS CARRY A CATEGORY WHERE THE NAME SHOULD BE: HOME OCCUPATION (38,583), NON-RES HAWKER/HUCKSTER (3,758), TAXI OPERATOR (3,578), RESIDENT HAWKER/HUCKSTER (1,809), NON-RESIDENT VENDOR (20) — the city withholding the trading name of home-based and itinerant licensees. 8,618 real names remain. THE LICENCE IS WORDED DIFFERENTLY FROM EVERY OTHER ONE HERE: it grants a "worldwide, royalty-free, non-exclusive license... for any lawful purpose" and does NOT contain the phrase "including for commercial purposes" that the OGL variants carry, nor the word "perpetual". There is no non-commercial clause and no share-alike clause anywhere in it, and commercial use is a lawful purpose, so the grant covers it — but the difference is recorded here rather than smoothed over, and the licence name is added to the allowlist in licence.test.ts as a deliberate act with this reasoning attached.
- In this build
- 72,891 statements
Hamilton licensed trade contractors and masters live
City of Hamilton · Open Data Licence – City of Hamilton · publisher page
- Contributes
- Licensed trades — HVAC, building repair, plumbing, electrical — which is a category this corpus is thin on outside Calgary's permit file. Also only the second Ontario source here: the province publishes no corporate register, so Ontario was Toronto alone.
- Read as
- arcgis · publisher refresh P1M
- Personal data
- No individual is identifiable.
- Verified
- HTTP 200 on 2026-09-08, 654 recordsTHE ONLY MUNICIPAL LICENCE FILE IN THIS REGISTRY WITH NO PERSONAL DATA IN IT AT ALL. The complete field set is OBJECTID, LICENSE_NUMBER, LICENSE_TYPE, SUB_DESCRIPTION, BUSINESS_NAME and EXPIRY_DATE — no licensee, no holder, no contact, no address. Every other city here publishes at least one column that has to be dropped. EXPIRY_DATE is epoch milliseconds. Layer 1 of the service, not layer 0. Licence read at the publisher: "worldwide, royalty-free, perpetual, non-exclusive licence... including for commercial purposes", exempting personal information under MFIPPA.
- In this build
- 653 statements
Waterloo business licences refused
City of Waterloo · Open Data Licence – City of Waterloo · publisher page
- Contributes
- Recorded so the refusal is a decision on the record rather than an oversight, and so the next sweep does not re-find it and wonder.
- Read as
- arcgis
- Personal data
- Contains named individuals. Personal columns are dropped before publication and subjects that cannot be confirmed to be organisations are withheld.
Niagara Falls licences refused
City of Niagara Falls · Unread — the portal states only "custom" · publisher page
- Contributes
- The largest mid-sized-city licence file found in the 2026-09-08 sweep, and the one worth coming back to.
- Read as
- arcgis
- Personal data
- Contains named individuals. Personal columns are dropped before publication and subjects that cannot be confirmed to be organisations are withheld.
Saskatchewan municipal business licences does not exist
City of Saskatoon / City of Regina · None published · publisher page
- Contributes
- Saskatchewan is the only province this project has looked for and found genuinely empty at the municipal level — not refused, not unreached, not published. Listed so the gap on the jurisdiction page has an explanation attached to it rather than looking like work nobody has got to.
- Read as
- file
- Personal data
- Contains named individuals. Personal columns are dropped before publication and subjects that cannot be confirmed to be organisations are withheld.
Winnipeg business licences live
City of Winnipeg · Open Government Licence – Canada · publisher page
- Contributes
- Manitoba’s only open municipal licence file, and the province’s only presence in this corpus. Small — a few hundred pawnbrokers, second-hand dealers and body-modification studios — and listed at its true size rather than its row count, because a registry that claimed 13,757 Manitoba businesses here would be overstating its coverage fiftyfold.
- Read as
- socrata · publisher refresh P1D
- Personal data
- Contains named individuals. Personal columns are dropped before publication and subjects that cannot be confirmed to be organisations are withheld.
- Verified
- HTTP 200 on 2026-09-05, 13,757 recordsTHE RECORD COUNT IS MISLEADING AND THE SHAPE KNOWS IT. 13,757 rows, but only 275 distinct trade names, and 10,976 rows (80%) are "License - Rooming Houses": dwellings, with trade_name set to the literal "(none)" and the address column ABSENT ENTIRELY because the publisher withheld it. The usable remainder is Personal Sales (1,665) and Personal Services (1,051), one row per licence YEAR, so a tattoo studio licensed since 2010 appears fifteen times. Real yield is a few hundred businesses. Socrata licenseId is OGL_CANADA, verified through the views API rather than assumed from the portal footer. robots.txt sets Crawl-delay: 1 and disallows only /browse query strings; /resource is allowed.
- In this build
- 1,565 statements
Montréal general business licences does not exist
Ville de Montréal · Creative Commons Attribution 4.0 · publisher page
- Contributes
- The closest thing the city publishes is its food-establishment register, which is enabled separately as yul-food-establishments and covers 54,439 premises with an open/closed status on each.
- Read as
- ckan-datastore
- Personal data
- Contains named individuals. Personal columns are dropped before publication and subjects that cannot be confirmed to be organisations are withheld.
Ottawa business licences does not exist
City of Ottawa · Open Government Licence – Ottawa · publisher page
- Contributes
- Ottawa’s child-care register IS a genuine licensed-organisation file and is worth having. It is served from an ArcGIS FeatureServer, and since 2026-09-06 this registry HAS that adapter (see yyj-business-licences), so the only thing left is a shape. Note it licenses PREMISES rather than companies, so read it before assuming the operator is named.
- Read as
- file
- Personal data
- Contains named individuals. Personal columns are dropped before publication and subjects that cannot be confirmed to be organisations are withheld.
Federal contracts and transfer payments, joined to entities by name and business number.
Proactive publication — federal contracts over $10,000 live
Treasury Board of Canada Secretariat · Open Government Licence – Canada · publisher page
- Contributes
- Every federal contract award over $10,000, with vendor name and value. This is what turns a registry record into a story: it says which organisations the federal government actually pays, and how much.
- Read as
- ckan-resource · publisher refresh P3M
- Personal data
- Contains human-written prose, which has repeatedly been found to carry personal information even where the schema promises none. That prose is held for internal analysis and never published.
- Verified
- HTTP 200 on 2026-09-01, 612 MB, publisher last modified Tue, 01 Sep 2026 06:51:35 GMTThe download 302s to opencanada.blob.core.windows.net with a SIGNED, EXPIRING SAS URL (se=/sig= query parameters). The signed URL must never be cached in this registry — the redirect is followed at fetch time. Free-text description fields make this pii: free-text.
- In this build
- 1,313,472 statements
Proactive disclosure — federal grants and contributions live
Treasury Board of Canada Secretariat · Open Government Licence – Canada · publisher page
- Contributes
- Federal grants, contributions and transfer payments. Recipient names, amounts, programs and locations. Together with contracts this is the public-money layer of the graph.
- Read as
- ckan-resource · publisher refresh P3M
- Personal data
- Contains human-written prose, which has repeatedly been found to carry personal information even where the schema promises none. That prose is held for internal analysis and never published.
- Verified
- HTTP 200 on 2026-09-01, 2.2 GB, publisher last modified Tue, 01 Sep 2026 06:53:03 GMT2.3 GB — the largest file in the registry, and the reason the whole read path is streaming. Recipients include INDIVIDUALS as well as organisations, so the individual/organisation classifier is mandatory here, not optional.
- In this build
- 1,325,816 statements
Work a public body recorded a named business as performing. Different from a licence, which says only that it may trade — and attach-only, so a contractor name on a permit can never create a company record.
Calgary building permits live
City of Calgary (Development, Business and Building Services) · Open Government Licence – City of Calgary · publisher page
- Contributes
- Who actually builds in Calgary, back to 1999: 499,289 permits naming their contractor, with estimated cost, floor area, dwelling units and community. Role is `activity` — attach-only, so a contractor name string can never mint a company. THE ADDRESS ON A PERMIT IS THE PROPERTY'S, NOT THE BUILDER'S, and the shape deliberately discards it: a homebuilder must never be matched to a company that shares a postal area with a lot it once built on.
- Read as
- socrata · publisher refresh P1D
- Personal data
- Contains named individuals. Personal columns are dropped before publication and subjects that cannot be confirmed to be organisations are withheld.
- Verified
- HTTP 200 on 2026-09-06, 499,289 recordsFields confirmed live: permitnum, statuscurrent, applieddate, issueddate, completeddate, permittype, permitclass, permitclassgroup, permitclassmapped, workclass, description, applicantname, contractorname, housingunits, estprojectcost, totalsqft, originaladdress, communityname, latitude, longitude, point. 12,147 distinct contractors; JAYMAN BUILT leads with 12,440 permits and $2.83B of estimated project cost. 199,029 rows carry NO contractor at all (Socrata omits null fields entirely) and the shape drops them. LICENCE WAS CHECKED RATHER THAN ASSUMED: the Socrata licenseId is the unhelpful "SEE_TERMS_OF_USE", not the OGL string the business-licence dataset carries, and the terms had to be read from the story page — they are the standard OGL text, granting a "worldwide, royalty-free, perpetual, non-exclusive license to use the Information, including for commercial purposes". Exemption 6(a) grants no right to use Personal Information, which is the licence itself pointing at the publishing gate.
- In this build
- 302,433 statements
Edmonton building permits does not exist
City of Edmonton · Open Government Licence – Edmonton · publisher page
- Contributes
- Listed because the gap invites the question: Calgary publishes its builders and Edmonton does not, so Alberta coverage of construction activity is one city and cannot be made two. The file is a fine record of BUILDINGS and useless to a register of ORGANISATIONS — there is no business in it to attach anything to.
- Read as
- socrata
- Personal data
- No individual is identifiable.
Findings made by a public body about an organisation it regulates. These sources never establish that an entity exists — they attach to one some registrar already did, or they attach to nothing.
Montréal food-safety prosecutions live
Ville de Montréal (Inspection des aliments) · Creative Commons Attribution 4.0 · publisher page
- Contributes
- Convictions under the city’s food-safety by-law, with the fine. Role is `attribute` deliberately: under the resolver tiers that means a prosecution can never mint an entity, so no page in this corpus is brought into being by a conviction. It attaches to a business the city has already registered, or to nothing at all.
- Read as
- ckan-datastore · publisher refresh P1M
- Personal data
- Contains named individuals. Personal columns are dropped before publication and subjects that cannot be confirmed to be organisations are withheld.
- Verified
- HTTP 200 on 2026-09-05, 8,794 recordsFields: id_poursuite, business_id, date, description, adresse, date_jugement, etablissement, montant, proprietaire, ville, statut, date_statut, categorie. `business_id` is the SAME namespace as the establishments file, so an offence attaches to its premises by anchor equality rather than by name matching. `proprietaire` mixes numbered companies (9068-9811 QUEBEC INC.) with sole proprietors’ personal names and is never carried past Silver. `date` is the offence and `date_jugement` the ruling; only the ruling dates the record.
- In this build
- 8,863 statements
Charitable registration, securities status and other recognised standings.
Registered charities — identification (2024 returns) live
Canada Revenue Agency · Open Government Licence – Canada · publisher page
- Contributes
- Registered charity identification: legal name, registration number, designation, category and address. The BN15 makes this the cleanest cross-registry join available in Canadian open data.
- Read as
- ckan-resource · publisher refresh P1Y
- Personal data
- Organisations only, but the registered address is frequently a home.
- Verified
- HTTP 200 on 2026-09-01Resource listed live on the 2024 package. The charity registration number is a BN15 (nine-digit BN + RR0001), so its first nine digits join directly to the federal corporations BN.
- In this build
- 83,761 statements
Registered charities — financial data (2024 returns) live
Canada Revenue Agency · Open Government Licence – Canada · publisher page
- Contributes
- What a charity raised, what it spent, and on what. The only sector in Canada that files public accounts: private companies file none, so this is the deepest financial picture the corpus can hold. Filed by the charity itself, so the figures are its own statements rather than an assessment of it.
- Read as
- ckan-resource · publisher refresh P1Y
- Personal data
- No individual is identifiable.
- Verified
- HTTP 206 on 2026-09-04This entry previously pointed at financial_section_a_b_and_c, which holds program codes rather than the financial statement — the wrong resource for what the entry claimed. Section D is financial_d_and_schedule_6_2024_updated.csv. Columns are bare T3010 line numbers and were mapped from CRA guide T4033 rather than guessed: 4700 total revenue, 4950 total expenditures, 5000 charitable programs, 5010 management and administration, 5020 fundraising, 5050 gifts to qualified donees, 4200 total assets, 4350 total liabilities. Blank is not zero and is not read as one.
- In this build
- 82,432 statements
Global LEI Index — Canadian legal entities live
Global Legal Entity Identifier Foundation (GLEIF) · Public Domain — CC0 1.0 Universal · publisher page
- Contributes
- The institutional identity layer. LEIs are widely used in banking, capital markets and counterparty data. Canadian records can link to the existing federal corporate spine by exact registry number and otherwise use the same conservative name-and-address resolver. GLEIF Level 2 direct and ultimate accounting-parent relationships are the next, separate source: Level 1 must land and be measured before hierarchy is published.
- Read as
- gleif · publisher refresh P1D
- Personal data
- Organisations only, but the registered address is frequently a home.
- Verified
- HTTP 200 on 2026-10-15, 59,158 records, publisher last modified 2026-10-15T00:00:00ZLive JSON:API query filtered on entity.legalAddress.country=CA. The first page reported Golden Copy publishDate 2026-10-15 and 59,158 Canadian records. Deep numbered pagination fails at 10,000 even though the API advertises later page links; complete reads must begin with page[cursor]=* and follow cursor links. LEI reference data is CC0. The payload is nested and carries legal name, legal address, entity status, creation date, legal form, registration authority, local registry identifier, LEI renewal status and corroboration level. RA000072 was verified through GLEIF’s registration-authority endpoint as Corporations Canada, allowing its registeredAs value to attach by exact federal corporation number instead of by name.
- In this build
- 59,271 statements
Reporting issuers roadmap
Canadian Securities Administrators · Terms of use — verify before ingestion · publisher page
- Contributes
- Public companies. Licence terms must be read before any ingestion — SEDAR+ is not open data and bulk redistribution is not assumed.
- Read as
- file
- Personal data
- No individual is identifiable.
Active federal standing offers and supply arrangements (SOSA) live
Public Services and Procurement Canada · Open Government Licence – Canada · publisher page
- Contributes
- This is what turns "held a $20 billion standing offer" (a contracts-file artifact — see fed-contracts above) into a distinct, correctly-labelled fact: currently pre-qualified to supply named commodities to a named department, with no dollar figure implied either way. A supplier appearing only here and nowhere else in the corpus is real, useful information — the smaller companies large primes rarely surface — but with no identifier to anchor on, it can only attach when its name is unambiguous nationally; see engine/resolve/resolve.ts.
- Read as
- file · publisher refresh P7D
- Personal data
- No individual is identifiable.
- Verified
- HTTP 200 on 2026-09-02, 3.4 MB, publisher last modified Fri, 28 Aug 2026 17:25:54 GMTlicense_id confirmed as ca-ogl-lgo via the Open Government Portal API directly, not the dataset's own landing page, which states no licence at all. 19 columns; no dollar value field exists anywhere in the file — this is qualification status, never money. `commodity` and `commodity-description_en` are double-quoted BY THE PUBLISHER inside an already-quoted CSV field, so correct RFC 4180 parsing still leaves a literal leading and trailing quote character in the value; the shape strips it. No business number, corporation number, or address of any kind — attachment to an entity is by supplier name only.
- In this build
- 6,791 statements
Montréal suppliers live
Ville de Montréal · Creative Commons Attribution 4.0 · publisher page
- Contributes
- Carries Num_Entreprise_Quebec: the ONLY lawful route in this repository to a Québec enterprise number, since the provincial registry that issues them is refused on licence grounds. Not a way around that refusal — a different publisher, publishing a subset of the same identifiers, under CC BY 4.0 with no non-commercial or share-alike term. Also the only source in the registry with self-reported HEADCOUNT, which is a fact about a company that no registry holds.
- Read as
- ckan-datastore · publisher refresh P1Y
- Personal data
- Organisations only, but the registered address is frequently a home.
- Verified
- HTTP 200 on 2026-09-05, 15,881 recordsFields: Numero_Fournisseur, Nom_Fournisseur, Autre_Nom, Num_Entreprise_Quebec, Structure_Juridique, Nombre_Employes, Nombre_Employes_Montreal, Politique_Dans_Dev_Durable, Politique_Approv_Responsable, Entreprise_Economie_Sociale, Lieu_Arrondissement, Lieu_Ville, Lieu_Etat_Province, Lieu_Pays, Lieu_Zone_Achat. `Autre_Nom` is NOT an alternate name on most rows — the publisher reuses the column to repeat the NEQ as "NEQ:1169283323". Structure_Juridique is prefixed with an asterisk.
- In this build
- 15,881 statements
Edges between organisations, and between organisations and government.
Registered charities — directors and officers (2024 returns) live
Canada Revenue Agency · Open Government Licence – Canada · publisher page
- Contributes
- ENABLED ONLY AS A NARROW SLATE: name, position, tenure dates, and the arm's-length flag CRA itself requires — nothing else exists in the file to withhold. This was left deliberately disabled until a human decided, with the tradeoffs stated, to turn it on; that decision was made on 2026-09-01. The resolver treats every row here specially (role: 'relation'): a director never mints an entity, never enters name/address clustering, never feeds corpus name-frequency, and attaches to its charity purely by sharing that charity's anchor string — never by name matching. See docs/PRIVACY.md and the `relation` branch in engine/resolve/resolve.ts.
- Read as
- ckan-resource · publisher refresh P1Y
- Personal data
- Contains named individuals. Personal columns are dropped before publication and subjects that cannot be confirmed to be organisations are withheld.
- Verified
- HTTP 200 on 2026-09-01, 50 MB, publisher last modified Thu, 28 May 2026 14:41:06 GMTBN, FPE, Form ID, #, Last Name, First Name, Initials, Position, "At Arm's Length", Start Date, End Date — 11 columns, confirmed against a live sample. Carries NO address, phone or email of any kind; the narrowest possible slate. Position is free-typed by the filer (seen: "Director", "Director/Chair", "Treasurer/Director", "Directoor" — a literal typo in the live data), so it is stored verbatim, never parsed.
- In this build
- 569,329 statements
Global LEI Index — relationship records live
Global Legal Entity Identifier Foundation (GLEIF) · Public Domain — CC0 1.0 Universal · publisher page
- Contributes
- GLEIF Level 2 is narrower than legal or beneficial ownership. Direct and ultimate parent records identify the accounting-consolidating parent reported under GLEIF’s relationship model. Fund-manager, subfund, feeder and international-branch relationships keep their publisher type and are not relabelled as ownership. Relationship status, registration status, validation source and dated periods remain attached to every edge.
- Read as
- gleif-golden-copy · publisher refresh P1D
- Personal data
- No individual is identifiable.
- Verified
- HTTP 200 on 2026-10-15, 23 MB, 491,100 records, publisher last modified 2026-10-15T16:00:00ZOfficial RR 2.1 Golden Copy discovered through GLEIF’s current-file API. The 16:00 UTC release contains 491,100 global relationship rows. Exactly 12,825 rows begin at one of the 59,158 Canadian LEIs in the current Level 1 capture: 2,848 direct accounting-consolidation parents, 3,074 ultimate accounting-consolidation parents, 6,761 fund-manager links and 142 other typed fund or branch relationships. 10,366 targets also carry a Canadian LEI; 2,459 point to a foreign entity. Joins use the child and target LEIs exactly — never company names.
- In this build
- 491,676 statements
Registry of Lobbyists refused
Office of the Commissioner of Lobbying of Canada · Open Data Licence Agreement – Office of the Commissioner of Lobbying · publisher page
- Contributes
- Who lobbies which federal institution on behalf of which organisation. The open-data page did not expose direct file links to a plain scrape on 2026-09-01; the download route needs a browser session to identify. High value: it is the clearest organisation-to-government edge available.
- Read as
- file
- Personal data
- Contains named individuals. Personal columns are dropped before publication and subjects that cannot be confirmed to be organisations are withheld.
Every Canadian publisher found so far reads through one of nine interfaces, and each has exactly one trait that breaks a naive client.
| Family | The trap |
|---|---|
| file | 100 MB to 2.3 GB. Buffering one of these into a string throws — V8 caps strings at 536,870,888 characters — so the whole path must stream. |
| ckan-resource | Downloads redirect to a signed, expiring URL. The signature cannot be cached; the redirect has to be followed on every read. |
| ckan-datastore | Answers HTTP 409 to any unrecognised query parameter. |
| socrata | Omits null fields from JSON entirely, so a schema inferred from one sample row is missing every column that happened to be empty. |
| opendatasoft | Caps offset plus limit at 10,000. A 205,000-record dataset paginates to 5% and then stops without erroring — the most dangerous behaviour of the nine, because a truncated read looks like a clean one. |
| orgbook | A search index with no bulk endpoint; enriches, never enumerates. |
| arcgis | Offset paging repeats or skips rows unless it is ordered by a stable, unique field. Publisher layers can also append exact records under fresh object IDs, so opted-in normalization preserves the raw Bronze rows while collapsing only identical assertions. |
| gleif | Numbered pages stop at 10,000 despite advertising later pages. Complete Canadian LEI reads begin in cursor mode and follow every returned cursor. |
| gleif-golden-copy | The discovery response identifies a versioned ZIP and exact CSV member; relationship edges join by LEI, never by a company-name resemblance. |