# Transport Canada > Transport Canada (Transports Canada) is the federal department that regulates aviation, marine, rail and road transportation in Canada. It publishes no developer portal and no OpenAPI, but it does operate three real, ungated machine-readable interfaces — a Vehicle Recalls Database API, an ArcGIS REST service and an OGC WMS service for Canadian airports — plus bulk CSV/XML extracts indexed through the Government of Canada open data portal. No key, no account, no rate limit, no contract. Everything is licensed under the Open Government Licence – Canada. Generated by API Evangelist on 2026-07-28. Transport Canada publishes no llms.txt of its own (https://tc.canada.ca/llms.txt → 404, https://open.canada.ca/llms.txt → 404), so this file is generated from the catalog record and the artifacts harvested into https://github.com/api-evangelist/transport-canada. ## What an agent needs to know first - There is no authentication of any kind. Do not look for an API key, an OAuth flow, or a signup page — none exists. Every endpoint below answers an anonymous GET. - There is no OpenAPI. The machine-readable contracts that exist are a self-describing service root, an Esri service descriptor and an OGC capabilities document, all harvested verbatim under `capabilities/`. - The written documentation is a Word document attached to a data-portal record, not a web page. It is dated 2016 and is still accurate. - Only two datasets have an API. Everything else Transport Canada publishes — CADORS occurrences, the vessel registers, the Air Cargo Security members list, the National Collision Database — is a bulk file. Do not assume an endpoint exists for a dataset; `data.tc.gc.ca` serves exactly one application. - The Canadian Civil Aircraft Register has neither an API nor a bulk download. It is a search form capped at 1000 results. There is no programmatic route to it. - Transport Canada does not handle air passenger rights, fare advertising or airline economic licensing. Those belong to the Canadian Transportation Agency, a separate federal body. ## APIs - [Vehicle Recalls Database API](https://data.tc.gc.ca/v1.3/api/eng/vehicle-recall-database/?format=json): Safety-related recalls for vehicles, tires and child restraints. GET the root to have the service enumerate its own tables and parameters. English `/eng/` and French `/fra/` trees are mirrored. - [Canadian Airports ArcGIS REST MapServer](https://maps-cartes.services.geo.ca/server_serveur/rest/services/TC/canadian_airports_w_air_navigation_services_en/MapServer?f=json): Airports served by NAV CANADA control towers or flight service stations, with IATA/ICAO codes and coordinates. Layer 0 `/query` returns JSON or geoJSON features. - [Canadian Airports OGC WMS](https://maps-cartes.services.geo.ca/server_serveur/services/TC/canadian_airports_w_air_navigation_services_en/MapServer/WMSServer?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities): The same layer as a conformant OGC Web Map Service 1.3.0 — GetMap, GetFeatureInfo, GetLegendGraphic, GetStyles. - [Open Government CKAN Action API](https://open.canada.ca/en/access-our-application-programming-interface-api): Indexes Transport Canada's 49 datasets. Operated by Treasury Board Secretariat for the whole Government of Canada, not by Transport Canada. GET only, no key. ## How to query the recalls API The query is built entirely out of path segments; there are no query-string filters other than `format`. - Base: `https://data.tc.gc.ca/v1.3/api/{eng|fra}/vehicle-recall-database` - Tables: `recall`, `recall-summary` - Parameters: `recall-number`, `make-name`, `manufacturer-name`, `minimum-model-year`, `maximum-model-year`, `year-range`, `model-name` - One filter: `/recall/recall-number/1977043?format=json` - Several values (OR): `/recall/make-name/audi|toyota?format=json` - Several parameters (AND): `/recall/make-name/dodge/year-range/1998-1999?format=json` - Count instead of records: `/recall/make-name/volkswagen/count?format=json` - Summary of one recall: `/recall-summary/recall-number/1977043?format=json` - Format: `?format=json` or `?format=xml`; JSON is the default when the parameter is absent or invalid. - Responses are `{"ResultSet":[[{"Name":..., "Value":{"Type":"System.String","Literal":...}}]]}` — name/value pairs carrying .NET type names. There is no pagination. ## Specs and service descriptions - [Vehicle Recalls API service root](https://raw.githubusercontent.com/api-evangelist/transport-canada/refs/heads/main/capabilities/transport-canada-vehicle-recalls-api-root.json): The API's own declaration of its tables and parameters, bilingual. - [Airports ArcGIS MapServer descriptor](https://raw.githubusercontent.com/api-evangelist/transport-canada/refs/heads/main/capabilities/transport-canada-airports-arcgis-mapserver.json): ArcGIS REST 10.81, one point layer, maxRecordCount 1000, wkid 3978. - [Airports WMS capabilities](https://raw.githubusercontent.com/api-evangelist/transport-canada/refs/heads/main/capabilities/transport-canada-airports-wms-capabilities.xml): WMS_Capabilities 1.3.0, CRS:84 / EPSG:4326 / EPSG:3978. - [Vehicle Recall Database API Documentation (DOCX)](https://open.canada.ca/data/dataset/1ec92326-47ef-4110-b7ca-959fab03f96d/resource/651cd076-d18c-49af-bd35-bfc89377e5cf/download/vehicle-recall-database-api-documentation.docx): The official API guide, dated 22 December 2016. French version also published. ## API Evangelist artifacts - [apis.yml](https://raw.githubusercontent.com/api-evangelist/transport-canada/refs/heads/main/apis.yml): The APIs.json catalog record. - [Conventions](https://raw.githubusercontent.com/api-evangelist/transport-canada/refs/heads/main/conventions/transport-canada-conventions.yml): Cross-cutting request/response semantics for all three interfaces. - [Authentication](https://raw.githubusercontent.com/api-evangelist/transport-canada/refs/heads/main/authentication/transport-canada-authentication.yml): The auth profile — none, verified. - [Error catalog](https://raw.githubusercontent.com/api-evangelist/transport-canada/refs/heads/main/errors/transport-canada-problem-types.yml): Three different error envelopes, no RFC 9457. - [Lifecycle](https://raw.githubusercontent.com/api-evangelist/transport-canada/refs/heads/main/lifecycle/transport-canada-lifecycle.yml): Versioning, publication cadence, and the absence of any deprecation policy, SLA or status page. - [Conformance](https://raw.githubusercontent.com/api-evangelist/transport-canada/refs/heads/main/conformance/transport-canada-conformance.yml): Which standards these interfaces actually meet. - [Data model](https://raw.githubusercontent.com/api-evangelist/transport-canada/refs/heads/main/data-model/transport-canada-data-model.yml): The entity graph, joined on ICAO/IATA codes and registration marks. - [Domain security](https://raw.githubusercontent.com/api-evangelist/transport-canada/refs/heads/main/security/transport-canada-domain-security.yml): TLS/HSTS/DNSSEC/CAA/SPF/DMARC probe results. - [Well-known](https://raw.githubusercontent.com/api-evangelist/transport-canada/refs/heads/main/well-known/transport-canada-well-known.yml): The /.well-known/ discovery surface — all 404. - [Packages](https://raw.githubusercontent.com/api-evangelist/transport-canada/refs/heads/main/packages/transport-canada-packages.yml): No SDKs exist; how to consume each interface without one. - [Review](https://raw.githubusercontent.com/api-evangelist/transport-canada/refs/heads/main/review.yml): The switching-cost and access review. ## Bulk data (no API) - [Vehicle recalls, full monthly](https://opendatatc.tc.canada.ca/vrdb_full_monthly.csv) — also [XML](https://opendatatc.tc.canada.ca/vrdb_full_monthly.xml). Refreshed monthly (CKAN `frequency: P1M`). - [CADORS Occurrence Information](https://opendatatc.tc.canada.ca/CADORS_Occurrence_Information.csv) — plus Occurrence Category, Occurrence Event Information, Aircraft Information and Aircraft Event Information extracts. Refreshed daily (`frequency: P1D`), and there is no API for any of it. - [Air Cargo Security members list](https://opendatatc.tc.canada.ca/TC_ACS_Members_List_EN.csv) - [Canadian airports CSV](https://ftp.cartes.canada.ca/pub/tc_tc/Airports_Aeroport/canadian_airports_w_air_navigation_services/Airports_Aeroports.csv) — SHP and FGDB variants published in English and French. - [Recalls data dictionary](https://opendatatc.blob.core.windows.net/opendatatc/recalls_variables.txt) ## Docs and registries - [Transport Canada](https://tc.canada.ca/en) - [Civil Aviation](https://tc.canada.ca/en/aviation) - [Transport Canada on the Open Government Portal](https://open.canada.ca/data/en/organization/tc) — 49 datasets, organisation id `AEAE485F-42DE-4D33-AFA3-F8A3A76FC663`. - [Vehicle Recalls Database dataset record](https://open.canada.ca/data/en/dataset/1ec92326-47ef-4110-b7ca-959fab03f96d) - [Airports dataset record](https://open.canada.ca/data/en/dataset/3a1eb6ef-6054-4f9d-b1f6-c30322cd7abf) - [CADORS dataset record](https://open.canada.ca/data/en/dataset/a348c1d1-2392-4595-b5e2-c6a244a7e87f) - [Canadian Civil Aircraft Register (CCARCS)](https://wwwapps.tc.gc.ca/saf-sec-sur/2/ccarcs-riacc/RchSimp.aspx) — web search form only, 1000-result cap, no API, no bulk download. - [CADORS web search](https://wwwapps.tc.gc.ca/saf-sec-sur/2/cadors-screaq/) - [github.com/tc-ca](https://github.com/tc-ca) — 69 public repos, zero OpenAPI or Swagger files. - [Open Government Licence – Canada](https://open.canada.ca/en/open-government-licence-canada) — the operative terms. Attribution and no-endorsement; rights end automatically on breach. ## What does not exist Recorded so an agent stops looking: no developer portal, no OpenAPI/Swagger/AsyncAPI/GraphQL, no webhooks or event stream, no MCP server, no SDKs, no CLI, no sandbox, no Postman collection, no changelog, no status page, no SLA, no deprecation policy, no rate-limit documentation, no /.well-known/ documents including security.txt, and no support channel keyed to an API. `api.canada.ca`, the Government of Canada API Store, no longer resolves.