Programmatic Data Access Audit
API availability, authentication, formats, and licensing across 25 transport data sources.
Programmatic Data Access Audit
Purpose: Assess how each data source relevant to the Global Transport Intelligence System can be accessed programmatically (APIs, downloads, authentication, formats, licenses). Date: 2026-02-09 Status: Research complete
Executive Summary
We audited 26 data sources across 5 categories for programmatic accessibility. Key findings:
- 14 sources have REST/SDMX APIs requiring no authentication
- 6 sources require free API keys or accounts
- 3 sources are commercial/paid only
- 2 sources have no programmatic access at all
The most integration-ready sources for a PoC are: World Bank API, OPSIS APIs, ITF/OECD SDMX, Overture Maps, OpenStreetMap, and Transitland.
Quick Reference: All Sources at a Glance
| # | Source | API? | Auth | Free? | Bulk Download? | Formats | License | Integration Effort |
|---|---|---|---|---|---|---|---|---|
| 1 | OPSIS / open-gira | REST (3 APIs) | None | Yes | GeoPackage, GeoTIFF via Zenodo | GPKG, GeoTIFF, GeoJSON, MVT | ODbL + CC-BY-4.0 | Low |
| 2 | PortWatch (IMF) | ArcGIS REST | None | Yes | CSV, GeoJSON, SHP, KML | Multiple | IMF terms (non-commercial free) | Low-Medium |
| 3 | World Bank Open Data | REST v2 | None | Yes | Full WDI CSV dump | JSON, XML, CSV, Excel | CC-BY-4.0 | Low |
| 4 | ITF / OECD | SDMX 3.0 REST | None | Yes | CSV via API param | SDMX-JSON, CSV, XML | CC-BY-4.0 | Low-Medium |
| 5 | ADB (Asian Dev Bank) | SDMX + CKAN | None | Yes | XLSX, CSV, JSON | Multiple | ODC-By | Low-Medium |
| 6 | Transitland | REST + GraphQL | API key (free tier) | Free tier | Feed registry via GitHub | JSON, GeoJSON | GPLv3 (code); per-feed (data) | Low |
| 7 | MobilityData Catalog | REST | Bearer token (free) | Yes | CSV catalog + GitHub | JSON, CSV | Apache 2.0 (code); CC0 (catalog) | Low |
| 8 | OpenStreetMap | Overpass QL | None | Yes | Geofabrik PBF/SHP daily | PBF, SHP, GeoJSON | ODbL-1.0 | Low |
| 9 | Overture Maps | Cloud-native (S3/Azure) | None | Yes | GeoParquet on S3 | GeoParquet | ODbL (transport) | Low |
| 10 | UNECE Statistics | PXWeb REST | None | Yes | Per-table export | JSON, CSV, XLSX, PC-Axis | UN terms (free) | Low |
| 11 | African Transport DB | None (static) | None | Yes | Zenodo direct download | GeoPackage, Excel | CC-BY-4.0 | Low |
| 12 | OpenSky Network | REST | OAuth2 (free account) | Free (limited) | Trino SQL + Zenodo | JSON, CSV | GPLv3 (code); CC-BY (data) | Medium |
| 13 | GBFS Feeds | Per-operator JSON | None | Yes | systems.csv catalog | JSON | CC-BY-3.0 (spec); CC0 (data default) | Medium |
| 14 | France NAP | REST | None | Yes | Direct GTFS/NeTEx ZIPs | GTFS, NeTEx, GBFS | Licence Ouverte 2.0 / ODbL | Low |
| 15 | UK BODS | REST | Free API key | Yes | TransXChange, SIRI-VM | XML, GTFS | OGL | Low |
| 16 | Norway Entur | GraphQL + REST | Header only | Yes | NeTEx/GTFS bulk exports | NeTEx, GTFS, SIRI | NLOD | Low |
| 17 | Germany Mobilithek | REST | None (open data) | Yes | Per-dataset download | GTFS, NeTEx, DATEX II | DL-DE-2.0 / CC0 | Medium |
| 18 | WHO Road Safety | OData REST | None | Yes | Excel from report page | JSON, XML, CSV | CC-BY-NC-SA 3.0 IGO | Low |
| 19 | UN SDG Database | REST + SDMX | None | Yes | Portal + SDMX bulk | JSON, CSV, SDMX | UN terms | Low |
| 20 | World Bank LPI | REST v2 (same as #3) | None | Yes | DataBank CSV/Excel | JSON, CSV | CC-BY-4.0 | Low |
| 21 | ATO (Africa) | None | N/A | N/A | None publicly available | N/A | N/A | Very High |
| 22 | FlightRadar24 | REST | Paid subscription | No ($9+/mo) | No bulk | JSON | Proprietary | High (cost) |
| 23 | FlightAware AeroAPI | REST | API key (free personal) | Free personal | No bulk | JSON | Tiered (non-commercial free) | Medium |
| 24 | MarineTraffic | REST | Paid subscription | No | No bulk | JSON, XML, CSV | Proprietary | High (cost) |
| 25 | AISHub | REST | Reciprocal (AIS receiver) | Free if contributing | No bulk | JSON, XML, CSV | Free for contributors | High (hardware) |
| 26 | SUM4ALL GTF | None (web only) | None | Yes | PDF reports only | Web dashboards, PDF | WB terms (free) | Medium (framework) |
Tier 1: Core Data Sources (Highest Priority)
1. OPSIS / open-gira (Global Infrastructure Resilience)
Access: 3 REST APIs, all unauthenticated and free
| API | Base URL | Purpose |
|---|---|---|
| Main API | https://global.infrastructureresilience.org/api/ | Feature queries, tile rendering, pixel drilling |
| Extract API | https://global.infrastructureresilience.org/extract/ | Country-level data package generation |
| Vector Tiles | https://global.infrastructureresilience.org/vector/ | 36 MVT layers including roads, rail, power |
Key endpoints:
GET /features/{id}-- individual infrastructure feature with damage/adaptation dataGET /features/sorted-by/{field}-- paginated features with filters (sector, asset_type)POST /v1/jobs-- submit country-level data extraction job (async, returns GeoPackage)GET /v1/processors-- list available data processors (roads, rail, hazards, population)GET /pixel-driller/point/{lon}/{lat}-- all layer values at a coordinate
Transport vector tile layers: road_edges_motorway, road_edges_trunk, road_edges_primary, road_edges_secondary, road_edges_tertiary, rail_nodes, rail_edges
OpenAPI specs:
https://global.infrastructureresilience.org/api/openapi.jsonhttps://global.infrastructureresilience.org/extract/openapi.json
Downloads: Country data starter kits on Zenodo (GeoPackage + GeoTIFF). Also via the Extract API.
GitHub (all MIT):
nismod/open-gira-- core Snakemake analysis pipelinenismod/infra-risk-vis-- backend + frontendnismod/irv-autopkg-- extract API servicenismod/snail-- spatial network analysis librarynismod/snkit-- network cleaning/assembly
License: Code: MIT. OSM-derived data: ODbL-1.0. Other data: CC-BY-4.0. Some hazard data: CC0.
2. PortWatch (IMF / Oxford)
Access: ArcGIS REST API, public, no authentication
Platform: Built on ArcGIS Hub at https://portwatch-imf-dataviz.hub.arcgis.com/
Key datasets (ArcGIS Item IDs):
| Dataset | Item ID | Content |
|---|---|---|
| Daily Port Activity v2 | 959214444157458aad969389b3ebe1a0 | Daily port calls, import/export volume for 1,985 ports |
| Ports | acc668d199d1472abaaf2467133d4ca4 | Port locations, names, countries |
| Chokepoint Transit | 42132aa4e2fc4d41bdaf9a445f688931 | Daily transit calls for 28 major chokepoints |
Query pattern:
https://www.arcgis.com/sharing/rest/content/items/{ITEM_ID}?f=json
# Then use the `url` field to get the FeatureServer URL
{FeatureServer_URL}/0/query?where=1=1&outFields=*&f=geojson
Downloads: CSV, GeoJSON, KML, Shapefile available from each dataset page.
Update frequency: Weekly (Tuesdays 9 AM ET).
License: IMF terms -- free for non-commercial/research use. Commercial use may require permission.
No GitHub repos (proprietary OxMarTrans model).
3. World Bank Open Data (Transport)
Access: REST API v2, no authentication, no rate limits
Base URL: https://api.worldbank.org/v2/
Key transport indicator codes:
| Code | Indicator |
|---|---|
IS.AIR.PSGR | Air transport, passengers carried |
IS.AIR.GOOD.MT.K1 | Air transport, freight (million ton-km) |
IS.RRS.TOTL.KM | Rail lines (total route-km) |
IS.RRS.PASG.KM | Railways, passengers carried (million passenger-km) |
IS.RRS.GOOD.MT.K6 | Railways, goods transported (million ton-km) |
IS.SHP.GOOD.TU | Container port traffic (TEU) |
IS.ROD.TOTL.KM | Total road network (km) |
IS.ROD.DNST.K2 | Road density (km per 100 sq km) |
IS.VEH.NVEH.P3 | Motor vehicles (per 1,000 people) |
LP.LPI.OVRL.XQ | Logistics Performance Index: Overall (1-5) |
LP.LPI.INFR.XQ | LPI: Trade & transport infrastructure quality |
LP.LPI.CUST.XQ | LPI: Customs efficiency |
LP.LPI.LOGS.XQ | LPI: Logistics competence |
LP.LPI.TIME.XQ | LPI: Timeliness |
Example API calls:
# All countries, rail lines, JSON
https://api.worldbank.org/v2/country/all/indicator/IS.RRS.TOTL.KM?format=json&per_page=500
# Specific countries (Kenya, India, Brazil), air passengers, date range
https://api.worldbank.org/v2/country/KEN;IND;BRA/indicator/IS.AIR.PSGR?format=json&date=2010:2023
# LPI overall score, all countries
https://api.worldbank.org/v2/country/all/indicator/LP.LPI.OVRL.XQ?format=json
Bulk download: Full WDI as CSV from datacatalog.worldbank.org
Python libraries: wbgapi (official), world-bank-data, wbpy
License: CC-BY-4.0
4. ITF / OECD Transport Statistics
Access: SDMX 3.0 REST API, no authentication
Base URL: https://sdmx.oecd.org/public/rest/
Agency ID: OECD.ITF
Important: The legacy
stats.oecd.orgwas shut down 1 July 2024. All data migrated tosdmx.oecd.org.
Key dataflows:
| Dataflow ID | Description |
|---|---|
DSD_TRENDS@DF_TRENDS | Annual transport trends (freight + passenger) |
DSD_TRENDS@DF_TRENDSPASS | Annual passenger transport trends |
DSD_ST@DF_STFREIGHT | Freight transport statistics |
DSD_ST@DF_STPASS | Passenger transport statistics |
DSD_INFRINV@DF_INFRINV | Transport infrastructure investment |
Example API calls:
# List all ITF dataflows
https://sdmx.oecd.org/public/rest/dataflow/OECD.ITF
# Annual transport trends as CSV
https://sdmx.oecd.org/public/rest/data/OECD.ITF,DSD_TRENDS@DF_TRENDS,1.0/..........?startPeriod=2015&format=csvfilewithlabels
# Infrastructure investment as JSON
https://sdmx.oecd.org/public/rest/data/OECD.ITF,DSD_INFRINV@DF_INFRINV,1.0/..........?format=jsondata
Tip: Use the OECD Data Explorer, select data visually, then click "Developer API" to get the exact URL.
Formats: csvfilewithlabels, csvfile, genericdata (XML), jsondata
Coverage: 66 ITF member countries. IRTAD road safety covers ~40 countries with data from 1970+.
Python libraries: sdmx1, pandasdmx
License: CC-BY-4.0 (since July 2024)
Tier 2: Regional & Thematic Enrichment
5. Asian Development Bank (ADB)
Access: SDMX API + CKAN portal, no authentication
| API | Base URL | Content |
|---|---|---|
| KIDB SDMX | https://kidb.adb.org/sdmx/ | Key indicators for 49 member countries |
| Data Library | https://data.adb.org/ | CKAN portal with datasets |
Flagship dataset: Asian Transport Outlook (ATO) -- 399 national indicators across 51 economies + 460-city urban database.
ATO categories: Infrastructure, Transport Activity & Services, Access & Connectivity, Road Safety, Air Pollution & Health, Climate Change, Socio-Economic, Policy.
Downloads: XLSX, CSV, JSON from data.adb.org/dataset/asian-transport-outlook-database
Also contributing to UNECE TDC: Tools at docs.transport-data.org/en/stable/adb.html
License: ODC-By Attribution
6. African Transport Systems Database
Access: No API -- static dataset on Zenodo
DOI: https://doi.org/10.5281/zenodo.17609113
Content:
| Component | Records |
|---|---|
| Airports | 234 (with airline routes) |
| Maritime ports | 179 (with shipping connections) |
| Inland ports | 132 (with river/lake connections) |
| Railway stations | 4,412 (across 99,373 km of rail) |
| Roads | 1,004,512 km (motorway to secondary) |
Format: GeoPackage (.gpkg) -- each mode has nodes + edges layers.
GitHub: nismod/Africa-transport-database (MIT)
Paper: Scientific Data (2025)
License: CC-BY-4.0
7. UNECE Transport Statistics
Access: PXWeb REST API, no authentication
Base URL: https://w3.unece.org/PXWeb2015/api/v1/en/STAT/
Data paths: 40-TRTRANS/02-TRROAD, 05-TRRAIL, 12-TRSAFETY, etc.
Formats: JSON, JSON-stat, JSON-stat2, CSV, XLSX, PC-Axis
Coverage: 56 UNECE member states (Europe, Central Asia, North America)
R libraries: pxweb, PxWebApiData (work directly with the UNECE endpoint)
License: Free, UN terms (attribution expected)
8. UN SDG Database (Transport Indicators)
Access: REST + SDMX, no authentication
API Base: http://data.un.org/ws/rest/ | SDG-specific: Swagger
Transport SDG indicators:
| Indicator | Description | Coverage |
|---|---|---|
| SDG 3.6.1 | Road traffic death rate | Good |
| SDG 9.1.1 | Rural Access Index (RAI) | Limited |
| SDG 9.1.2 | Passenger/freight volumes by mode | Good |
| SDG 11.2.1 | Public transport access | Expanding |
Also available via: Open SDG Data Hub (ArcGIS), R package SDGsR
License: UN terms, generally attribution required
9. WHO Global Status Report on Road Safety
Access: OData REST API, no authentication
Base URL: https://ghoapi.azureedge.net/api/
Key indicator codes:
| Code | Indicator |
|---|---|
RS_196 | Road traffic deaths (number) |
RS_198 | Road traffic death rate (per 100,000) |
RS_246 | Deaths by road user type |
RS_208 | Deaths attributable to alcohol |
Example: https://ghoapi.azureedge.net/api/RS_198?$filter=TimeDim eq 2021
Python: ghoclient package. R: ghost package.
License: CC-BY-NC-SA 3.0 IGO (non-commercial only)
Tier 3: Open Data Aggregators & Infrastructure
10. Transitland
Access: REST + GraphQL APIs, free API key required
Base URL: https://transit.land/api/v2/rest/
| Endpoint | Description |
|---|---|
/feeds | 2,500+ GTFS/GTFS-RT/GBFS feeds |
/agencies | Transit operators |
/routes | Transit routes |
/stops | Transit stops (supports bounding box) |
/stops/{key}/departures | Real-time + static departures |
Free tier: Sign up at transit.land, low rate limit (~6 req/sec). Pro: $200/mo (GraphQL access, higher limits).
Bulk access: Clone the transitland-atlas repo for all 2,500+ feed URLs in DMFR JSON format.
License: Code: GPLv3 (dual). Feed registry: Open. Data: per-feed.
11. MobilityData / Mobility Database
Access: REST API, free account + Bearer token
Base URL: https://api.mobilitydatabase.org/v1/
Endpoints: /gtfs_feeds, /gtfs_rt_feeds, /gbfs_feeds, /metadata
Catalog: 4,000+ feeds across 75+ countries. Each record includes direct_download_url, license_url, geographic coverage.
Bulk: CSV catalog from website, or clone mobility-database-catalogs (JSON + CSV).
Swagger: mobilitydata.github.io/mobility-feed-api/SwaggerUI
License: Code: Apache 2.0. Catalog metadata: CC0.
12. OpenStreetMap
Access: Overpass API (query-based) + Geofabrik bulk extracts
Overpass API: https://overpass-api.de/api/interpreter -- no auth, slot-based rate limiting
Example transport queries (Overpass QL):
# Bus stops in a bounding box
[out:json];node["highway"="bus_stop"]({{bbox}});out body;
# Railway stations in Kenya
[out:json];area[name="Kenya"]->.a;node(area.a)["railway"="station"];out body;
# Primary/secondary roads in a bbox
[out:json];way["highway"~"^(primary|secondary|trunk|motorway)$"]({{bbox}});out geom;
Geofabrik: https://download.geofabrik.de/{continent}/{country}-latest.osm.pbf -- updated daily, PBF + Shapefile formats.
Interactive: overpass-turbo.eu
License: ODbL-1.0
13. Overture Maps Foundation
Access: Cloud-native GeoParquet on S3/Azure, no authentication
S3 path: s3://overturemaps-us-west-2/release/{version}/theme=transportation/type=segment/*
Transportation schema: Two feature types -- segment (roads/rail/water) and connector (junctions). Segments have subtypes: road, rail, water.
Access methods:
-- DuckDB (recommended)
LOAD spatial; LOAD httpfs; SET s3_region='us-west-2';
SELECT * FROM read_parquet('s3://overturemaps-us-west-2/release/2026-01-21.0/theme=transportation/type=segment/*')
WHERE subtype='road' AND bbox.xmin > 36.6 AND bbox.xmax < 37.1;
# Python CLI
pip install overturemaps
overturemaps download --bbox=36.6,-1.5,37.1,-1.1 -f geoparquet --type=segment -o output.parquet
Releases: Monthly. Current: 2026-01-21.0.
GitHub: OvertureMaps/data, OvertureMaps/overturemaps-py, OvertureMaps/schema
License: ODbL (transportation theme, derived from OSM)
14. GBFS Feeds (Shared Mobility)
Access: Decentralized JSON feeds, no auth, 900+ systems
Feed catalog: systems.csv lists all known GBFS feeds with auto-discovery URLs.
Per-system endpoints: gbfs.json (discovery) -> station_information.json, station_status.json, vehicle_status.json, system_information.json
Discovery API: MobilityData API at https://api.mobilitydatabase.org/v1/ (see #11)
Data freshness: Real-time (max 5 min stale).
License: Spec: CC-BY-3.0. Feed data: defaults to CC0.
Tier 4: European National Access Points
15. France -- transport.data.gouv.fr
API: https://transport.data.gouv.fr/api/datasets | Swagger
Auth: None. Data: GTFS, NeTEx, GTFS-RT, GBFS, road data. License: Licence Ouverte 2.0 / ODbL.
16. UK -- Bus Open Data Service (BODS)
API: https://data.bus-data.dft.gov.uk/api/v1/ | Docs
Auth: Free API key (register on portal). Data: TransXChange timetables, SIRI-VM real-time, NeTEx fares.
Python: bods-data-extractor. License: OGL.
17. Norway -- Entur
API: GraphQL at https://api.entur.io/journey-planner/v3/graphql + REST APIs | Developer portal
Auth: ET-Client-Name header only (format: company-application). Data: All Norwegian public transport (60 operators, 75,000 daily departures). NeTEx/GTFS bulk exports nightly. License: NLOD.
18. Germany -- Mobilithek
API: REST, pattern https://mobilithek.info/mdp-api/mdp-conn-server/v1/publication/{ID}/file/noauth
Auth: None for open data. Data: GTFS, NeTEx, DATEX II, cycling, e-charging. License: DL-DE-2.0 / CC0.
Tier 5: Aviation & Maritime (Mostly Commercial)
19. OpenSky Network (Aviation ADS-B)
API: REST at https://opensky-network.org/api | Docs
Auth: OAuth2 (free account). Active contributors (ADS-B receiver, 30%+ uptime) get 8,000 credits/day.
Endpoints: /states/all (aircraft positions), /flights/all, /flights/aircraft, /flights/arrival, /flights/departure
Historical: Trino SQL interface (researchers/gov). Zenodo datasets (CC-BY).
Python: pyopensky, traffic
License: Free non-commercial. GPLv3 (code). CC-BY (Zenodo data).
20. FlightAware AeroAPI
API: REST at https://aeroapi.flightaware.com/aeroapi/ | OpenAPI spec
Auth: x-apikey header. Free for personal/academic. Commercial from $100/mo.
Data: Real-time tracking, historical back to 2011, 60+ endpoints.
License: Personal (non-commercial free), Standard ($100/mo), Enterprise.
21. FlightRadar24
API: REST at https://fr24api.flightradar24.com/
Auth: Paid subscription required. Explorer: $9/mo for 30,000 credits.
Data: Real-time aircraft positions (250,000+ daily flights), historical tracks.
License: Proprietary. No redistribution.
22. MarineTraffic
API: REST, commercial subscription only | Docs Auth: Paid API key. Endpoints: PS01 (vessel track), PS06 (area positions), EV01 (port calls), VI06 (port congestion). Data: Enriched AIS (terrestrial + satellite), historical tracks, ETA predictions. License: Proprietary.
23. AISHub (Community Maritime AIS)
API: REST at https://data.aishub.net/ws.php
Auth: Reciprocal -- must contribute AIS data from own receiver (10+ vessels, 90%+ uptime).
Rate limit: 1 request/minute. Data: Real-time vessel positions only (no historical).
License: Free for contributors.
Tier 6: Composite Frameworks & Indices
26. SUM4ALL Global Tracking Framework (GTF)
Access: No API — web dashboards and PDF reports only
Platform: Policy Decision-Making Tool 3.0 at https://sum4all.org/online-tool
What it is: The first-ever global transport indicator framework, maintained by the Sustainable Mobility for All partnership (55+ organisations, convened by the World Bank). Provides 60+ indicators across 183 countries organised around 4 policy goals (Universal Access, Efficiency, Safety, Green Mobility), plus the Global Sustainable Mobility Index (GSMI) composite score for country ranking.
Data access:
- Country dashboards:
https://sum4all.org/gra-tool/country-performance/snapshot - Indicator explorer:
https://sum4all.org/gra-tool/country-performance/indicators - World Bank portal:
https://datatopics.worldbank.org/sum4all/ - Indicator-to-source mapping: GTF Sources PDF
No public API, no bulk CSV/JSON download.
Integration strategy: The GTF draws from upstream sources we already track (World Bank WDI, WHO GHO, UN SDG). Its unique value is the curation framework, GSMI index, and several upstream sources not yet in our audit:
| New upstream source | What it provides | API available? |
|---|---|---|
| UNCTAD | Shipping connectivity, port throughput, vessel fleet, trade services | UNCTADstat API |
| IEA | Transport energy consumption, COâ‚‚ emissions by mode | Paid API ($) |
| WEF GCI | Infrastructure quality scores, service efficiency | No API (reports) |
| ILO ILOSTAT | Transport employment by gender | ILOSTAT SDMX API |
| Climate Watch | Transport GHG emissions, NDCs | Climate Watch API |
| ITDP | Rapid transit-to-resident ratio | No API (reports) |
License: World Bank terms (free access). Underlying data: mostly CC-BY-4.0.
Full profile: sum4all-gtf.md
Sources with No Programmatic Access
24. Africa Transport Observatory (ATO)
The URL ato.africa is actually the African Trade Observatory (AfCFTA/ITC), not a transport data platform. The SSATP-led transport observatory work exists as corridor-specific systems but none have public APIs or downloads. Best alternative: Africa Information Highway Portal (AfDB) with limited transport indicators.
25. TDCI / HVT / RECAP
These are methodological frameworks and completed research programmes, not operational data platforms. Reports and some datasets are archived at transport-links.com and the UK Data Archive.
Integration Priority for PoC
Phase 1: Quick Wins (no auth, well-documented APIs)
| Source | What to ingest | API call |
|---|---|---|
| World Bank | LPI, road/rail/air/port indicators for all countries | api.worldbank.org/v2/country/all/indicator/{code}?format=json |
| OPSIS | Transport network geometries (roads, rail) | Extract API + vector tiles |
| Overture Maps | Road network topology | DuckDB query on S3 GeoParquet |
| UNECE | European transport statistics | PXWeb API |
| African Transport DB | Africa transport infrastructure | Zenodo download (GeoPackage) |
Phase 2: Moderate Effort (API key or SDMX learning curve)
| Source | What to ingest | Notes |
|---|---|---|
| ITF/OECD | Freight/passenger/safety time-series | SDMX API -- use Data Explorer to build queries |
| ADB/ATO | Asian transport indicators (399 indicators) | SDMX + CSV/XLSX downloads |
| Transitland | Global GTFS feed registry | Free API key, clone transitland-atlas for feed URLs |
| MobilityData | GTFS/GBFS feed discovery | Free Bearer token |
| PortWatch | Port activity, chokepoint transit data | ArcGIS REST queries |
| UK BODS | UK bus timetables + real-time | Free API key |
| France NAP | French transport data | No auth needed |
| Norway Entur | Norwegian public transport | Header-only auth |
Phase 3: Specialized / Commercial
| Source | What to ingest | Notes |
|---|---|---|
| OpenSky | Aviation positions + historical | OAuth2, rate-limited |
| GBFS | Shared mobility (900+ systems) | Aggregation challenge |
| OpenStreetMap | Detailed transport infrastructure | Overpass for queries, Geofabrik for bulk |
| WHO | Road safety statistics | Non-commercial license restriction |
| FlightAware | Aviation data | Free personal tier, no redistribution |
License Summary
| License | Sources | Can Redistribute? | Commercial Use? |
|---|---|---|---|
| CC-BY-4.0 | World Bank, OECD/ITF, ADB, African Transport DB, OPSIS (non-OSM) | Yes | Yes |
| ODbL-1.0 | OpenStreetMap, Overture Maps, OPSIS (OSM data) | Yes (share-alike) | Yes |
| CC0 | MobilityData catalog, GBFS defaults | Yes | Yes |
| CC-BY-NC-SA 3.0 | WHO road safety | Yes (share-alike) | No |
| OGL | UK BODS | Yes | Yes |
| NLOD | Norway Entur | Yes | Yes |
| IMF Terms | PortWatch | Non-commercial free | Needs permission |
| Proprietary | FlightRadar24, MarineTraffic | No | Paid only |
This document should be updated as APIs evolve and new data sources are discovered. All URLs verified as of February 2026.
Programmatic Access to Transport Data Sources
Last reviewed: 2026-02-09 Status: Research document -- URLs and API details should be verified before integration Scope: European National Access Points, global safety/logistics/aviation/SDG data
Table of Contents
- France -- transport.data.gouv.fr
- Germany -- Mobilithek
- UK -- Bus Open Data Service (BODS)
- Norway -- Entur
- WHO Global Status Report on Road Safety (GHO)
- FlightRadar24
- FlightAware AeroAPI
- World Bank Logistics Performance Index (LPI)
- UN SDG Global Database (Transport Indicators)
- Summary Comparison Matrix
1. France -- transport.data.gouv.fr
Platform URL: https://transport.data.gouv.fr/ Operator: French Ministry of Transport / DINUM (Direction interministerielle du numerique) Role: France's National Access Point (NAP) for transport data under EU ITS Directive
1.1 API Availability
| Item | Detail |
|---|---|
| API type | REST API, JSON responses |
| Base URL | https://transport.data.gouv.fr/api/datasets |
| Swagger docs | https://transport.data.gouv.fr/swaggerui |
| Full documentation | https://doc.transport.data.gouv.fr/outils/outils-disponibles-sur-le-pan/api |
The main endpoint GET /api/datasets returns the complete list of all datasets and associated resources in a single call. The API distributes information about datasets, resources, AOMs (Autorites Organisatrices de la Mobilite), historicisations, and validations.
1.2 Authentication
- No authentication required
- No quotas / rate limits documented
- Fully open access
1.3 Key Data Available
- GTFS static timetables for all French public transport networks
- NeTEx France profile data (auto-converted from GTFS via open-source tool Gtfs2NetexFr)
- GTFS-RT real-time feeds (proxy service for distributing real-time data)
- GBFS free-floating vehicle availability (bikes, scooters)
- Cycling infrastructure data
- Road data
- Parking data (static and real-time)
1.4 Direct Download Options
- Each dataset's resources are directly downloadable via URLs returned in the API response
- GTFS ZIP files can be fetched directly (URL in the
urlfield of each resource) - Historical data maintained via S3 storage (see transport-history)
- Bulk download: the single
/api/datasetscall returns all dataset metadata with download URLs
1.5 License
Datasets are published under one of two licenses:
- Licence Ouverte 2.0 (French government open data license, compatible with CC-BY)
- ODbL (Open Database Licence) -- requires share-alike for derivative databases
The license type is specified per dataset in the API response.
1.6 Example API Call
GET https://transport.data.gouv.fr/api/datasets
Returns JSON array of all datasets with metadata including format, license, geographic coverage, and resource download URLs.
2. Germany -- Mobilithek
Platform URL: https://mobilithek.info/ Operator: Federal Ministry for Digital and Transport (BMDV) Role: Germany's National Access Point (NAP), successor to MDM/mCLOUD (launched July 2022)
2.1 API Availability
| Item | Detail |
|---|---|
| API type | REST API for metadata and data downloads |
| Download endpoint pattern | https://mobilithek.info/mdp-api/mdp-conn-server/v1/publication/{ID}/file/noauth |
| Metadata standard | mobilityDCAT-AP (DCAT extension for mobility data) |
| CKAN integration | Uses DCAT/CKAN-compatible RDF endpoints for metadata harvesting |
Mobilithek was among the first platforms to implement the mobilityDCAT-AP specification for metadata. Metadata can be harvested via DCAT-AP endpoints.
2.2 Authentication
- No credentials required for open data downloads (the
/noauthendpoint) - Creating a subscription account is optional but recommended for email notifications on dataset changes
- Some datasets in the linked Mobility Data Space (IDS-based) may require registration
2.3 Key Data Available
- GTFS and NeTEx public transport timetable data for German operators
- SIRI real-time data (coming soon / in rollout)
- Road traffic data
- Parking data
- Cycling infrastructure
- E-charging infrastructure
- Ride-sharing and on-demand mobility data
- Timetable data, real-time traffic information, rental bike locations
2.4 Direct Download Options
- Individual datasets downloadable via the publication API endpoint pattern
- Web portal provides search and browse at https://mobilithek.info/
- Linked to Mobility Data Space for commercial/restricted datasets
2.5 License
- Most data published as open data under Datenlizenz Deutschland 2.0 (equivalent to CC-BY) or Datenlizenz Deutschland - Zero 2.0 (equivalent to CC0)
- Some datasets may have individual licensing via the Mobility Data Space
- License type is specified per dataset in metadata
3. UK -- Bus Open Data Service (BODS)
Platform URL: https://data.bus-data.dft.gov.uk/ Operator: Department for Transport (DfT), UK Government Role: UK's mandatory open data service for bus operators in England
3.1 API Availability
| Item | Detail |
|---|---|
| API type | REST API, JSON responses (timetables/fares) and SIRI-VM XML (vehicle location) |
| Base URL | https://data.bus-data.dft.gov.uk/api/v1/ |
| Timetable datasets | GET /api/v1/dataset/?api_key={KEY} |
| Specific dataset | GET /api/v1/dataset/{ID}/?api_key={KEY} |
| Fares datasets | GET /api/v1/fares/dataset/{ID}/?api_key={KEY} |
| Vehicle location (SIRI-VM) | GET /api/v1/datafeed/?api_key={KEY} |
| API reference | https://data.bus-data.dft.gov.uk/guidance/requirements/?section=apireference |
| Developer docs | https://data.bus-data.dft.gov.uk/guidance/requirements/ |
| Interactive sandbox | Available via API reference page |
3.2 Authentication
- API key required (free)
- Register for a free account at https://data.bus-data.dft.gov.uk/
- API key found in: My Account > Account Settings
- Pass as query parameter:
?api_key={YOUR_KEY} - Key is personal and should not be shared
3.3 Key Data Available
- Timetables -- TransXChange 2.4 PTI 1.1.a format (all English bus services)
- Vehicle location -- SIRI-VM real-time bus positions
- Fares -- NeTEx standard fares and ticketing data
- Coverage: all local bus services in England (mandatory publication)
3.4 Direct Download Options
- API response (JSON) contains metadata and a
urlfield pointing to the original dataset file - Datasets downloadable individually through the API or web portal
- Python client available: bods-data-extractor
- R package available: bodsr
- Browse datasets at https://data.bus-data.dft.gov.uk/search/
3.5 License
- Data is freely available for anyone to use
- Published under Open Government Licence (OGL) terms (UK standard for government open data)
4. Norway -- Entur
Platform URL: https://developer.entur.org/ Operator: Entur AS (state-owned company) Role: Norway's national registry for all public transport; operates as a NAP
4.1 API Availability
| Item | Detail |
|---|---|
| Journey Planner API | GraphQL: https://api.entur.io/journey-planner/v3/graphql |
| Geocoder API | REST: https://api.entur.io/geocoder/v1/ |
| National Stop Register | REST: https://api.entur.io/stop-places/v1/ |
| Real-time API | SIRI XML, SIRI Lite (REST), GTFS-RT |
| Data catalog | https://data.entur.no/ |
| Developer portal | https://developer.entur.org/ |
| Getting started | https://developer.entur.org/pages-intro-getstarted/ |
4.2 Authentication
Two-tier system:
-
Open APIs (Journey Planner, Geocoder, National Stop Register, Real-Time):
- No API key required
- Must include
ET-Client-NameHTTP header (format:company-application) - Strict rate limiting on unidentified consumers; unidentified consumers may be blocked
- Free and open access
-
Protected APIs (data management, products, pricing, customer management):
- OAuth2 Client Credentials flow via Auth0
- Requires client ID and client secret from Entur
- Used for operators/partners managing data
4.3 Key Data Available
- All Norwegian public transport: 60 operators, 75,000 daily departures, 4,700 routes
- Journey planning across all modes (bus, train, ferry, metro, tram, air)
- National Stop Register: complete database of all public transport stops in Norway (ID, name, position, accessibility data)
- Real-time data: SIRI-VM (vehicle monitoring), SIRI-SX (situation exchange), SIRI-ET (estimated timetable), GTFS-RT
- Static timetable data: NeTEx (official format) and GTFS exports
- Shared mobility: GBFS feeds for bikes/scooters
4.4 Direct Download Options
- NeTEx bulk export: permanent URLs for national and per-operator datasets
- GTFS bulk export: auto-converted from NeTEx nightly
- Download frequency: datasets re-exported every night; no more than one download per 24 hours recommended (IP blocking for excessive downloads)
- Stops and timetable data: https://developer.entur.org/stops-and-timetable-data/
- All datasets at: https://data.entur.no/
4.5 License
- NLOD (Norwegian Licence for Open Government Data) -- similar to CC-BY
- All data exchanged with Entur is distributed as open data under NLOD
5. WHO Global Status Report on Road Safety (GHO)
Platform URL: https://www.who.int/data/gho/data/themes/road-safety Operator: World Health Organization (WHO) Data source: Global Status Report on Road Safety 2023 and GHO database
5.1 API Availability
| Item | Detail |
|---|---|
| API type | OData (Open Data Protocol) REST API |
| Base URL | https://ghoapi.azureedge.net/api/ |
| Documentation | https://www.who.int/data/gho/info/gho-odata-api |
| Status | Current API will be deprecated near end of 2025; replacement with standardised naming conventions planned |
5.2 Authentication
- No authentication required
- No API key needed
- Open access
5.3 Key Road Safety Indicator Codes
| Indicator Code | Description |
|---|---|
RS_196 | Estimated number of road traffic deaths |
RS_198 | Estimated road traffic death rate (per 100,000 population) |
RS_208 | Attribution of road traffic deaths to alcohol (%) |
RS_246 | Distribution of road traffic deaths by type of road user (%) |
Additional indicators cover: national legislation (speed limits, drink-driving, helmet/seatbelt laws), road safety strategy existence, road safety audits, registered vehicles.
Full road safety indicator list: https://www.who.int/data/gho/data/themes/road-safety
5.4 Example API Calls
# Get road traffic death rate data for all countries
GET https://ghoapi.azureedge.net/api/RS_198
# List all available indicators
GET https://ghoapi.azureedge.net/api/Indicator
# Get dimension values for countries
GET https://ghoapi.azureedge.net/api/DIMENSION/COUNTRY/DimensionValues
5.5 Direct Download Options
- Excel download available from the Global Status Report on Road Safety 2023 page
- Contains country/territory profiles and survey data
- PDF report: https://iris.who.int/bitstream/handle/10665/375016/9789240086517-eng.pdf
- WHO Road Safety Data mobile application
- Python client: ghoclient
- R client: ghost and rgho
5.6 License
- CC BY-NC-SA 3.0 IGO (Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Intergovernmental Organization)
- Attribution required
- Non-commercial use only
- Share-alike required for derivative works
- Important restriction: commercial use of WHO data requires separate permission
6. FlightRadar24
Platform URL: https://fr24api.flightradar24.com/ Operator: Flightradar24 AB (Sweden) Type: Commercial aviation tracking service
6.1 API Availability
| Item | Detail |
|---|---|
| API type | REST API (HTTP endpoints) |
| API portal | https://fr24api.flightradar24.com/ |
| Getting started | https://fr24api.flightradar24.com/docs/getting-started |
| SDKs | Official JavaScript and Python SDKs |
| Sandbox | Available for testing without using credits |
6.2 Authentication & Pricing
| Tier | Price | Credits/month | Notes |
|---|---|---|---|
| Trial | $7 for 30 days | Limited | Entry-level testing |
| Explorer | $9/month | 30,000 | Affordable entry point |
| Essential | Higher | More | Mid-tier |
| Advanced | Higher | More | High-volume commercial |
- API key required (obtained with subscription)
- Credit-based system: each API call costs a defined number of credits
- No free tier (trial only)
- Additional credits purchasable beyond monthly quota
6.3 Key Data Available
- Real-time aircraft positions (ADS-B tracking from 50,000+ receivers worldwide)
- Historical flight tracks
- Flight status (ETAs, delays, diversions)
- Airline information
- Airport information
- 250,000+ flights monitored daily
- Ground speed, altitude, heading data
6.4 Direct Download Options
- No bulk download available
- All access through API only
- Temporary caching permitted per endpoint documentation
- Separate commercial data services for custom datasets: https://www.flightradar24.com/commercial-services/data-services
6.5 License
- Proprietary / commercial license
- Commercial use permitted at all subscription levels
- No resale of raw data
- No redistribution or sublicensing
- Cannot manipulate raw data to mask origins
- Data storage limited to endpoint-specific cache durations
- Prohibited for flight-critical or safety-critical applications
7. FlightAware AeroAPI
Platform URL: https://www.flightaware.com/commercial/aeroapi Operator: FlightAware (Collins Aerospace / Raytheon Technologies) Type: Commercial aviation data API
7.1 API Availability
| Item | Detail |
|---|---|
| API type | REST API |
| Base URL | https://aeroapi.flightaware.com/aeroapi/ |
| Endpoints | 60+ distinct endpoints |
| Developer portal | https://www.flightaware.com/aeroapi/portal |
| OpenAPI spec | https://www.flightaware.com/commercial/aeroapi/resources/aeroapi-openapi.yml |
| Documentation | https://www.flightaware.com/commercial/aeroapi/v3/documentation.rvt |
7.2 Authentication & Pricing
| Tier | Price | Notes |
|---|---|---|
| Personal | Free | Personal and academic use only |
| Standard | From $100/month | Business/commercial use |
| Enterprise | Custom pricing | High-volume, B2B |
- Authentication via
x-apikeyHTTP header - Usage-based pricing: from $0.002 per query
- 1 result set = 15 records
- Historical data back to 2011
7.3 Key Data Available
- Flight status and tracking (real-time)
- ETAs, last position, full track
- Ground speed, altitude
- Historical flight data (from 2011)
- Airport information and delays
- Airline/operator data
- Decoded ADS-B data
- Weather-related flight impacts
7.4 Direct Download Options
- No bulk download; all access via API
- Data available on demand per query
7.5 License
- Personal License: storage/distribution of derivative works for personal/academic purposes only
- Standard License: commercial use and B2C derivative works permitted
- Enterprise License: full B2B and commercial distribution rights
- Standard license agreement: https://www.flightaware.com/commercial/aeroapi/AeroAPI_Standard_License.pdf
8. World Bank Logistics Performance Index (LPI)
Platform URL: https://lpi.worldbank.org/ Operator: World Bank Group Type: Benchmarking index based on logistics professionals survey
8.1 API Availability
| Item | Detail |
|---|---|
| API type | World Bank Indicators API v2 (REST, JSON/XML) |
| Base URL | https://api.worldbank.org/v2/ |
| Documentation | https://datahelpdesk.worldbank.org/knowledgebase/articles/889392-about-the-indicators-api-documentation |
| Indicator queries | https://datahelpdesk.worldbank.org/knowledgebase/articles/898599-indicator-api-queries |
| Advanced queries | https://datahelpdesk.worldbank.org/knowledgebase/articles/1886686-advanced-data-api-queries |
8.2 Authentication
- No authentication required
- No API key needed
- Fully open access
- Default pagination: 50 records per page (configurable via
per_pageparameter)
8.3 Key LPI Indicator Codes
| Indicator Code | Description |
|---|---|
LP.LPI.OVRL.XQ | LPI Overall score (1=low to 5=high) |
LP.LPI.CUST.XQ | Customs |
LP.LPI.INFR.XQ | Infrastructure |
LP.LPI.ITRN.XQ | International shipments |
LP.LPI.LOGS.XQ | Logistics competence |
LP.LPI.TRAC.XQ | Tracking and tracing |
LP.LPI.TIME.XQ | Timeliness |
LPI 2023 covers 139 countries across six dimensions of trade logistics.
8.4 Example API Calls
# Get overall LPI score for all countries (JSON format)
GET https://api.worldbank.org/v2/country/all/indicator/LP.LPI.OVRL.XQ?format=json&per_page=300
# Get LPI infrastructure score for a specific country (e.g., Kenya)
GET https://api.worldbank.org/v2/country/KE/indicator/LP.LPI.INFR.XQ?format=json
# Get LPI overall for a date range
GET https://api.worldbank.org/v2/country/all/indicator/LP.LPI.OVRL.XQ?date=2018:2023&format=json&per_page=1000
8.5 Direct Download Options
- DataBank: interactive query and CSV/Excel download at https://databank.worldbank.org/source/logistics-performance-index-(lpi)
- Data Catalog: https://datacatalog.worldbank.org/dataset/logistics-performance-index
- Data360: https://data360.worldbank.org/en/dataset/WB_LPI
- Individual indicator page: https://data.worldbank.org/indicator/LP.LPI.OVRL.XQ (CSV, XML, Excel downloads)
8.6 License
- Creative Commons Attribution 4.0 International (CC-BY 4.0)
- Free for any use (including commercial) with attribution
- World Bank Open Data terms: https://datacatalog.worldbank.org/public-licenses
9. UN SDG Global Database (Transport Indicators)
Platform URL: https://unstats.un.org/sdgs/dataportal/database Operator: UN Statistics Division (UNSD) Type: Official repository for SDG indicator data
9.1 API Availability
| Item | Detail |
|---|---|
| API type | REST API + SDMX (Statistical Data and Metadata eXchange) |
| SDG API (Swagger) | https://unstats.un.org/sdgs/UNSDGAPIV5/swagger/index.html |
| SDMX REST endpoint | http://data.un.org/ws/rest/ |
| UNdata API manual | https://data.un.org/Host.aspx?Content=API |
| SDMX-SDG manual (PDF) | https://unstats.un.org/sdgs/files/SDMX_SDG_API_MANUAL.pdf |
9.2 Authentication
- No authentication required
- No API key needed
- Open access
9.3 Key Transport-Related SDG Indicators
| Indicator | Description | Custodian Agency |
|---|---|---|
| SDG 3.6.1 | Death rate due to road traffic injuries (per 100,000 population) | WHO |
| SDG 9.1.1 | Proportion of rural population living within 2 km of an all-season road (Rural Access Index - RAI) | World Bank |
| SDG 9.1.2 | Passenger and freight volumes, by mode of transport | ICAO, IMO, UPU, ITF |
| SDG 11.2.1 | Proportion of population with convenient access to public transport | UN-Habitat |
9.4 API Query Structure (SDMX)
# General SDMX REST query pattern
GET http://data.un.org/ws/rest/{artifact}/{artifactId}/{parameters}
# SDG API endpoints (via Swagger)
# List targets for a goal
GET https://unstats.un.org/SDGAPI/v1/sdg/Goal/{goalNumber}/Target/List
# List indicators for a target
GET https://unstats.un.org/SDGAPI/v1/sdg/Target/{targetId}/Indicator/List
# Get data for a specific indicator
GET https://unstats.un.org/SDGAPI/v1/sdg/Indicator/Data?indicator={indicatorCode}
9.5 Direct Download Options
- Data Portal: browse and download at https://unstats.un.org/sdgs/dataportal/database
- Open SDG Data Hub (ArcGIS-based): https://unstats-undesa.opendata.arcgis.com/
- SDMX bulk download: machine-readable data via SDMX API
- Country profiles and metadata available
- R package: SDGsR
9.6 License
- UN data is generally available for non-commercial use with attribution
- Specific terms vary by indicator custodian agency
- UNSD data portal terms of use apply
9.7 Data Quality Notes
- SDG 9.1.1 (RAI): Data availability is limited; many countries lack measurements. The World Bank RAI methodology requires geospatial analysis.
- SDG 11.2.1: Relatively new indicator; data collection still expanding
- SDG 3.6.1: Well-established; sourced from WHO road safety reports with good country coverage
10. Summary Comparison Matrix
| Source | API Type | Auth Required | Free Access | Real-time | Bulk Download | License |
|---|---|---|---|---|---|---|
| France (transport.data.gouv.fr) | REST/JSON | No | Yes | GTFS-RT | Yes (GTFS/NeTEx) | Licence Ouverte 2.0 / ODbL |
| Germany (Mobilithek) | REST/DCAT | No (open data) | Yes | Coming soon | Yes | Datenlizenz DE 2.0 (CC-BY equiv.) |
| UK (BODS) | REST/JSON + SIRI-VM | API key (free) | Yes | SIRI-VM | Yes (TransXChange/NeTEx) | OGL |
| Norway (Entur) | GraphQL + REST | ET-Client-Name header | Yes | SIRI/GTFS-RT | Yes (NeTEx/GTFS nightly) | NLOD |
| WHO Road Safety (GHO) | OData/REST | No | Yes | No | Excel/CSV | CC BY-NC-SA 3.0 IGO |
| FlightRadar24 | REST | API key (paid) | No (from $9/mo) | Yes | No | Proprietary (no resale) |
| FlightAware AeroAPI | REST | API key | Free (personal) | Yes | No | Proprietary (tiered) |
| World Bank LPI | REST/JSON | No | Yes | No | CSV/Excel/DataBank | CC-BY 4.0 |
| UN SDG Database | REST + SDMX | No | Yes | No | SDMX bulk | UN terms (non-commercial) |
Key Takeaways for a Global Transport Intelligence System
- Easiest to integrate (open, no auth, well-documented APIs): World Bank LPI, WHO GHO, France transport.data.gouv.fr, UN SDG Database
- Best real-time public transport data: Entur (Norway) and BODS (UK) -- both free with minimal auth
- Aviation data: FlightAware offers a free personal tier; FlightRadar24 requires paid subscription. Both prohibit data resale/redistribution.
- License constraints: WHO data is non-commercial only (CC BY-NC-SA). Aviation APIs are proprietary with storage restrictions. All European NAPs use open licenses.
- Standards alignment: European NAPs converge on GTFS/NeTEx/SIRI, which aligns well with UNECE Transport Data Commons standards work.
- Data freshness: NAPs and aviation APIs provide real-time data. WHO, World Bank, and UN SDG data are periodic (annual/biennial reports).
Programmatic Access to Transport Data Sources
Last updated: 2026-02-09 Status: Research document -- API endpoints and access policies should be verified before integration Purpose: Document API availability, authentication, endpoints, downloads, and licensing for 5 key real-time/near-real-time transport data sources
Table of Contents
- UNECE Transport Statistics (PXWeb)
- Africa Transport Observatory (ATO)
- OpenSky Network (Aviation ADS-B)
- AISHub / MarineTraffic (Maritime AIS)
- GBFS Feeds (Shared Mobility)
- Comparison Matrix
1. UNECE Transport Statistics (PXWeb)
Overview
The UNECE Statistical Database provides annual transport statistics for 56 UNECE member states (Europe, Central Asia, North America) covering road, rail, inland waterway, and pipeline transport. The database is built on PXWeb, a standard API framework developed by Statistics Sweden and used by dozens of national statistical institutes across Europe.
API Availability
| Aspect | Details |
|---|---|
| API type | REST API (PXWeb API v1) |
| Base URL | https://w3.unece.org/PXWeb2015/api/v1/en/STAT/ |
| URL pattern | {base}/api/v1/{lang}/{database}/{levels}/{table}.px |
| Methods | GET (browse/list tables), POST (query data with JSON body) |
| Response formats | JSON, JSON-stat, JSON-stat2, CSV, XLSX, PC-Axis (.px) |
| Max values per call | Up to 100,000 data cells per request |
API Documentation
- PXWeb API general documentation: https://pxdata.stat.fi/api1.html
- SCB (Sweden) API description PDF: https://pxdata.stat.fi/API-description_SCB.pdf
- PXWebApi 2.0 (newer version, launched Oct 2025 at SCB): https://www.scb.se/en/services/open-data-api/pxwebapi/pxapi-2.0
- UNECE Statistical Database portal: https://w3.unece.org/PXWeb/en
- UNECE legacy database interface: https://w3.unece.org/PXWeb2015/pxweb/en/STAT/
Authentication
- None required. The API is freely accessible without authentication.
- Rate limits: PXWebApi 2.0 (at SCB) enforces max 30 requests per 10 seconds and 150,000 data cells per GET. The UNECE instance likely has similar limits but these are not publicly documented.
Key Endpoints / Data Available
Transport data is organized under the path STAT__40-TRTRANS:
| Endpoint Path Segment | Data |
|---|---|
02-TRROAD/ | Road transport -- passenger-km, bus/coach statistics, road network length |
05-TRRAIL/ | Rail transport -- freight tonne-km, passenger-km, rail network |
08-TRINLAND/ | Inland waterway transport |
10-TRPIPE/ | Pipeline transport |
12-TRSAFETY/ | Road traffic accidents and fatalities |
15-TRVEHICLE/ | Vehicle fleet statistics |
Example API call (browse tables):
GET https://w3.unece.org/PXWeb2015/api/v1/en/STAT/STAT__40-TRTRANS__02-TRROAD
Example API call (query data):
POST https://w3.unece.org/PXWeb2015/api/v1/en/STAT/STAT__40-TRTRANS__02-TRROAD/04_en_TRRoadPassgKm_r.px
Content-Type: application/json
{
"query": [
{
"code": "Country",
"selection": {
"filter": "item",
"values": ["826"]
}
}
],
"response": {
"format": "json-stat2"
}
}
Direct Download Options
- Tables can be exported via the web interface in CSV, XLSX, and PC-Axis formats
- The API itself supports CSV and XLSX as response formats (set
"format": "csv"in POST body) - No single bulk download of the entire transport statistics database
GitHub Repos / Client Libraries
- R package
pxweb: https://ropengov.github.io/pxweb/ (CRAN) -- works with any PXWeb API including UNECE - R package
PxWebApiData: https://cran.r-project.org/web/packages/PxWebApiData/ -- simpler wrapper - Python: No official client; use
requestslibrary with the REST API directly - PXWeb source (Statistics Sweden): The PXWeb platform is developed by SCB but the UNECE instance source is not publicly available
License
- Free for all uses. UNECE statistical data is publicly available without restrictions. Standard UN terms of use apply (attribution expected).
2. Africa Transport Observatory (ATO)
Overview
The Africa Transport Observatory (ATO) at ato.africa is a continental transport data platform operated by the African Union Commission with technical support from the SSATP (Sub-Saharan Africa Transport Policy Program) at the World Bank. It aims to be the central repository for transport statistics across all 54 AU member states.
API Availability
| Aspect | Details |
|---|---|
| API type | None available. No public API exists. |
| Web interface | Dashboard-style portal with maps, charts, and country profiles |
| Data download | Very limited; some indicators downloadable via the web UI |
| Programmatic access | Not supported as of February 2026 |
Important clarification: The domain ato.africa hosts the African Trade Observatory (an AfCFTA trade data instrument run by the African Union and ITC), not a transport observatory. The SSATP-led transport observatory work appears to be folded into corridor-specific monitoring systems rather than a single unified platform.
Related Platforms and Data Sources
The SSATP ecosystem includes several related initiatives, none of which currently offer programmatic access:
| Platform | URL | Focus | API |
|---|---|---|---|
| SSATP | https://www.ssatp.org/ | African transport policy programme | No |
| African Road Safety Observatory (ARSO) | via SSATP | Road safety data for Africa | No (Dropbox-based) |
| Corridor Transport Observatories | Various | Trade corridor performance (Northern Corridor, Maputo, etc.) | No |
| Africa Information Highway | https://dataportal.opendataforafrica.org/ | Pan-African data portal (includes some transport) | Yes -- has API explorer |
| Data Transport | https://data-transport.org/ | African mobility data (GTFS, mapping) | Partial downloads |
Best Alternative for Programmatic Access to African Transport Data
The Africa Information Highway Portal (by the African Development Bank) is the closest alternative with an actual API:
- API Explorer: https://dataportal.opendataforafrica.org/dev/explorer
- Covers energy, transport, ICT, water, and ports across Africa
- Includes some transport indicators that would otherwise come from ATO
Documentation
- SSATP Corridor Transport Observatory Guidelines (PDF): https://documents1.worldbank.org/curated/en/295971468191647427/pdf/854750NWP0SSAT0Box382155B00PUBLIC0y.pdf
- SSATP publications page: https://www.ssatp.org/publications
Authentication
- N/A (no API)
Direct Download Options
- Country profiles and corridor reports downloadable as PDF from SSATP
- Africa Road Safety Observatory data shared via Dropbox
- No structured data downloads (CSV/JSON) from a transport-specific observatory
GitHub Repos
- None identified for ATO or SSATP transport data platforms
License
- Not clearly defined. African Union / World Bank data policies would apply.
Assessment
The ATO/SSATP transport data ecosystem has the weakest programmatic access of all sources reviewed. This represents a significant gap for any global transport intelligence system. Integration would require either:
- Web scraping (fragile, not recommended)
- Partnership agreement for direct data access
- Using the Africa Information Highway API as a proxy for some indicators
3. OpenSky Network (Aviation ADS-B)
Overview
The OpenSky Network is a community-based ADS-B (Automatic Dependent Surveillance-Broadcast) receiver network that collects and provides aircraft position and flight data. It is the largest open-access source of live and historical aviation tracking data, with 2,500+ volunteer receivers worldwide.
API Availability
| Aspect | Details |
|---|---|
| API type | REST API (v1.4.0) |
| Base URL | https://opensky-network.org/api |
| Auth server | https://auth.opensky-network.org/auth/realms/opensky-network/protocol/openid-connect/token |
| Response format | JSON |
| Historical data | Trino SQL interface for bulk historical queries |
API Documentation
- REST API docs: https://openskynetwork.github.io/opensky-api/rest.html
- Python API docs: https://openskynetwork.github.io/opensky-api/python.html
- Full documentation index: https://openskynetwork.github.io/opensky-api/
- API landing page: https://opensky-network.org/data/api
- Trino historical data: https://opensky-network.org/data/trino
Authentication
| Access Level | Method | Details |
|---|---|---|
| Anonymous | None | Limited access, reduced resolution |
| Registered user | OAuth2 client credentials | Free registration; create API client in account settings to get client_id and client_secret |
| Active contributor | OAuth2 + ADS-B receiver | Users with an ADS-B receiver that is >= 30% online |
OAuth2 token request:
curl -X POST "https://auth.opensky-network.org/auth/realms/opensky-network/protocol/openid-connect/token" \
-d "grant_type=client_credentials" \
-d "client_id=YOUR_CLIENT_ID" \
-d "client_secret=YOUR_CLIENT_SECRET"
Note: All accounts created since mid-March 2025 must use OAuth2. Legacy username/password auth is being phased out.
Rate Limits
| User Type | API Credits/Day | Data History | Time Resolution |
|---|---|---|---|
| Anonymous | Very limited | Real-time only | 10 seconds |
| Registered | Lower allocation | Up to 1 hour in the past | 10 seconds |
| Active contributor | 8,000 credits/day | Up to 1 hour in the past | 5 seconds |
- Header
X-Rate-Limit-Remainingshows remaining credits - HTTP 429 returned when limit reached;
X-Rate-Limit-Retry-After-Secondsindicates wait time
Key Endpoints
| Endpoint | Method | Description |
|---|---|---|
/states/all | GET | All aircraft state vectors (position, velocity, heading, altitude) |
/states/own | GET | State vectors from your own sensors only |
/flights/all?begin={t1}&end={t2} | GET | All flights within a time interval |
/flights/aircraft?icao24={addr}&begin={t1}&end={t2} | GET | Flights for a specific aircraft |
/flights/arrival?airport={icao}&begin={t1}&end={t2} | GET | Arrivals at a specific airport |
/flights/departure?airport={icao}&begin={t1}&end={t2} | GET | Departures from a specific airport |
/tracks/all?icao24={addr}&time={t} | GET | Flight track (waypoints) for a specific aircraft |
Example -- get all current aircraft states:
curl "https://opensky-network.org/api/states/all" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Example -- get all states in a bounding box (Europe):
curl "https://opensky-network.org/api/states/all?lamin=45.8389&lomin=5.9962&lamax=47.8229&lomax=10.5226"
Direct Download / Bulk Data Options
| Method | Access | Description |
|---|---|---|
| Trino SQL interface | Registered (research use) | Full historical dataset via SQL-like queries (Trino + Minio) |
| Zenodo datasets | Public | Curated datasets (e.g., COVID-19 air traffic) -- CC BY licensed |
| Monday snapshots | Public | Full state vector data for every Monday, 10-second intervals |
| Data formats | -- | CSV, Avro, JSON (hourly files) |
- Trino access is available to university-affiliated researchers, government organizations, and aviation authorities
- Zenodo dataset: https://zenodo.org/records/7923702
GitHub Repos
| Repository | Description |
|---|---|
| openskynetwork/opensky-api | Python and Java API bindings + documentation |
| URL: https://github.com/openskynetwork/opensky-api | |
| pyopensky | Alternative Python library for OpenSky (by Xavier Olive) |
| URL: https://github.com/open-aviation/pyopensky | Docs: https://mode-s.org/pyopensky/ |
| traffic | Python library for air traffic analysis (uses OpenSky) |
| URL: https://github.com/open-aviation/traffic |
License
- API & data: Free for non-commercial / academic use. Commercial use requires agreement.
- API client code: GNU General Public License v3.0 (GPLv3)
- Zenodo datasets: Creative Commons Attribution (CC BY)
- Terms of use: https://opensky-network.org/about/terms-of-use
4. AISHub / MarineTraffic (Maritime AIS)
4a. AISHub
Overview
AISHub is a community-based AIS data exchange network. Members contribute raw AIS data from their receivers and in return get access to the aggregated worldwide AIS feed from all other contributors. It is the maritime equivalent of the OpenSky model.
API Availability
| Aspect | Details |
|---|---|
| API type | REST API (XML/JSON/CSV webservice) |
| Base URL | https://data.aishub.net/ws.php |
| Response formats | XML, JSON, CSV |
| Compression | None, zip, gzip, bzip2 |
API Documentation
- API page: https://www.aishub.net/api
- Third-party documentation: https://publicapi.dev/ais-hub-api
Authentication
| Aspect | Details |
|---|---|
| Model | Reciprocal data sharing -- you must contribute AIS data to access the API |
| API key | Called "username" -- request at aishub@astrapaging.com |
| Requirements | Own an AIS receiver, contribute raw NMEA data via UDP |
| Quality threshold | Coverage of >= 10 vessels (7-day avg), >= 90% uptime (7-day avg) |
| Cost | Free for all qualifying contributors |
Rate Limits
- Maximum 1 API request per minute
Key Endpoints / Parameters
The API is a single endpoint with parameters:
| Parameter | Description |
|---|---|
username | API key / username |
format | 1 (XML), 2 (JSON), 3 (CSV) |
output | json, xml, csv |
compress | 0 (none), 1 (zip), 2 (gzip), 3 (bzip2) |
latmin, latmax, lonmin, lonmax | Bounding box filter |
mmsi | Filter by specific vessel MMSI |
Example:
https://data.aishub.net/ws.php?username=YOUR_KEY&format=1&output=json&compress=0&latmin=45&latmax=46&lonmin=-1&lonmax=0
Data Fields
Returns standard AIS position report data: MMSI, timestamp, latitude, longitude, course over ground (COG), speed over ground (SOG), heading, navigation status, vessel name, IMO number, call sign, vessel type, dimensions.
Direct Download
- No bulk historical downloads
- Real-time data only through API
- Raw NMEA feed available to members
GitHub Repos
- aishub-api-public: https://github.com/lagersmit/aishub-api-public (community wrapper)
License
- Free for contributors; no explicit open data license
- Data is shared under the reciprocal contribution model
4b. MarineTraffic (by Kpler)
Overview
MarineTraffic is the world's largest commercial maritime data platform, now part of Kpler. It provides comprehensive vessel tracking, port data, and maritime intelligence via a suite of paid API services.
API Availability
| Aspect | Details |
|---|---|
| API type | REST API |
| Base URL | https://services.marinetraffic.com/api/exportvessel/ (varies by endpoint) |
| Response formats | JSON, XML, CSV |
| Model | Commercial / paid |
API Documentation
- Official API docs: https://servicedocs.marinetraffic.com/
- API services overview: https://support.marinetraffic.com/en/articles/9552659-api-services
- Setup guide: https://help.marinetraffic.com/hc/en-us/articles/205115108-Set-up-your-API-Services
Authentication
- API key required (obtained after purchasing a subscription plan)
- Key passed as URL parameter:
?v=8&api_key=YOUR_KEY&...
Pricing
- Commercial, subscription-based. Prices vary by:
- Endpoint / service type
- Response detail level (simple / extended / full)
- AIS data source (terrestrial / satellite)
- Number of tracked vessels
- Request frequency
- Volume discounts available (e.g., 25+ vessels)
- No free tier for API access (the website has a free tier for manual browsing)
- Contact sales for pricing: https://www.marinetraffic.com/en/online-services/plans/comparison-list
Key API Services (Endpoints)
| Service Code | Name | Description |
|---|---|---|
| PS01 | Vessel Historical Track | Historical position data for a vessel |
| PS02 | Fleet Vessel Positions | Current positions of a defined fleet |
| PS06 | Vessel Positions in Area | All vessels in a bounding box |
| PS07 | Single Vessel Positions | Current position of a single vessel |
| VD02 | Vessel Particulars | Static vessel data (name, type, dimensions, flag) |
| EV01 | Port Calls | Port call events (arrivals/departures) |
| VI06 | Port Congestion | Vessel congestion metrics at ports |
Example:
https://services.marinetraffic.com/api/exportvessel/v:8/YOUR_API_KEY/timespan:60/protocol:json
Direct Download
- No bulk data downloads via API (query-based only)
- Historical data available as paid data products
- MarineTraffic Data Services (via Kpler): https://www.kpler.com/product/maritime/data-services
GitHub Repos
- Marine-Traffic-API (Python): https://pypi.org/project/Marine-Traffic-API/ / https://github.com/amphinicy/marine-traffic-client-api
- MarineTraffic.NET (C#): https://github.com/sandrock/MarineTraffic.NET
License
- Proprietary / commercial. All data subject to MarineTraffic/Kpler terms of service. Not open data.
Maritime AIS Comparison
| Feature | AISHub | MarineTraffic |
|---|---|---|
| Cost | Free (contribute data) | Paid (subscription) |
| Coverage | Depends on contributors (~thousands of stations) | Global (terrestrial + satellite AIS) |
| Historical data | No | Yes (paid) |
| Satellite AIS | No (terrestrial only) | Yes |
| Rate limit | 1 req/min | Depends on plan |
| Data richness | Basic AIS fields | Enriched (port calls, voyages, ETA, risk) |
| Reliability | Community-dependent | Enterprise SLA |
5. GBFS Feeds (Shared Mobility)
Overview
The General Bikeshare Feed Specification (GBFS) is the open data standard for shared mobility (bikeshare, scooter share, car share, etc.). It defines a set of JSON endpoints that operators publish to make real-time availability data publicly accessible. GBFS is maintained by MobilityData and is used by 900+ shared mobility systems worldwide.
API Availability
GBFS is not a single API but a specification that each operator implements. Access is decentralized.
| Aspect | Details |
|---|---|
| Spec type | REST / JSON feeds (read-only) |
| Current version | v3.0 (also widely deployed: v2.3, v2.2) |
| Discovery | Each system publishes a gbfs.json auto-discovery file |
| Authentication | Typically none -- feeds are public by design |
| Rate limits | Varies by operator; data should not be stale by more than 5 minutes |
Documentation
- GBFS specification (current): https://gbfs.org/documentation/reference/
- GBFS spec on GitHub: https://github.com/MobilityData/gbfs/blob/master/gbfs.md
- Get started guide: https://gbfs.org/learn/guide/
- v3.0 spec: https://github.com/MobilityData/gbfs/blob/v3.0/gbfs.md
- FAQ: https://gbfs.org/learn/faq/
Feed Discovery -- The systems.csv Catalog
The master catalog of all known GBFS feeds worldwide is maintained by MobilityData:
| Resource | URL |
|---|---|
| systems.csv (raw) | https://github.com/MobilityData/gbfs/blob/master/systems.csv |
| systems.csv (direct download) | https://raw.githubusercontent.com/MobilityData/gbfs/master/systems.csv |
| Mobility Database website | https://mobilitydatabase.org/ |
| Mobility Database API | https://api.mobilitydatabase.org/v1/metadata |
The systems.csv file contains columns:
Country Code,Name(system name),Location(city),System ID,URL(operator website),Auto-Discovery URL(thegbfs.jsonendpoint)
Authentication
- GBFS feeds: No authentication required for most feeds. The specification mandates public access.
- Mobility Database API: Requires a free access token (sign up at mobilitydatabase.org)
Key GBFS Endpoints (per system)
Each GBFS system publishes a gbfs.json file that links to the following feeds:
| Endpoint | Required? | Description |
|---|---|---|
gbfs.json | Yes | Auto-discovery file listing all available feeds |
system_information.json | Yes | System name, operator, timezone, license, contact |
station_information.json | If docked | All stations: ID, name, lat/lon, capacity |
station_status.json | If docked | Real-time: available bikes/docks per station |
vehicle_status.json (v3.0) / free_bike_status.json (v2.x) | If dockless | Real-time: all available dockless vehicles with location |
vehicle_types.json | If applicable | Vehicle type definitions (e-bike, scooter, etc.) |
system_regions.json | Optional | Geographic regions within the system |
system_pricing_plans.json | Optional | Pricing information |
geofencing_zones.json | Optional | Operating zones, no-ride zones, speed zones |
Example -- discover a system's feeds (Citi Bike NYC):
curl https://gbfs.citibikenyc.com/gbfs/gbfs.json
Example -- get station status:
curl https://gbfs.citibikenyc.com/gbfs/en/station_status.json
Direct Download Options
- systems.csv can be downloaded directly from GitHub for the full catalog
- Individual feeds are JSON and can be polled/scraped
- No single bulk download of all feeds (each system is independent)
- The Mobility Database API provides a programmatic way to discover and catalog feeds
GitHub Repos
| Repository | Description |
|---|---|
| MobilityData/gbfs | GBFS specification + systems.csv catalog |
| https://github.com/MobilityData/gbfs | |
| MobilityData/gbfs-validator | GBFS feed validator tool |
| https://github.com/MobilityData/gbfs-validator | |
| MobilityData/mobility-feed-api | Mobility Database website and API source code |
| https://github.com/MobilityData/mobility-feed-api |
License
- GBFS specification: Creative Commons Attribution 3.0 (CC BY 3.0)
- GBFS validator: Apache License 2.0
- Individual feed data: Varies by operator. If
license_idandlicense_urlare blank insystem_information.json, data defaults to Creative Commons Universal Public Domain Dedication (CC0). The specification recommends open data licensing. - systems.csv catalog: CC BY 3.0
6. Comparison Matrix
Access Model Comparison
| Source | API Available | Auth Required | Free Access | Real-Time | Historical |
|---|---|---|---|---|---|
| UNECE PXWeb | Yes (REST) | No | Yes | No (annual stats) | Yes (time series) |
| ATO / SSATP | No | N/A | N/A | No | No |
| OpenSky Network | Yes (REST) | Yes (OAuth2) | Yes (with limits) | Yes | Yes (Trino) |
| AISHub | Yes (REST) | Yes (contribute data) | Yes (reciprocal) | Yes | No |
| MarineTraffic | Yes (REST) | Yes (API key) | No (paid only) | Yes | Yes (paid) |
| GBFS | Yes (per-system) | No (mostly) | Yes | Yes | No (current state only) |
Data Richness Comparison
| Source | Transport Mode | Coverage | Update Frequency | Data Format |
|---|---|---|---|---|
| UNECE PXWeb | Road, rail, waterway, pipeline | 56 countries (Europe, C. Asia, N. America) | Annual | JSON-stat, CSV, XLSX |
| ATO / SSATP | All modes (aspirational) | 54 African countries | Irregular | Dashboard only |
| OpenSky Network | Aviation | Global (ADS-B coverage) | Real-time (5-10 sec) | JSON, CSV, Avro |
| AISHub | Maritime | Global (terrestrial AIS) | Real-time (1 min polling) | JSON, XML, CSV |
| MarineTraffic | Maritime | Global (terrestrial + satellite AIS) | Real-time | JSON, XML, CSV |
| GBFS | Shared mobility (bike, scooter, car) | 900+ systems worldwide | Real-time (< 5 min) | JSON |
Integration Effort Estimate
| Source | Effort | Notes |
|---|---|---|
| UNECE PXWeb | Low | Standard PXWeb API; well-documented; existing R/Python tooling |
| ATO / SSATP | High | No API; requires partnership or alternative data sources |
| OpenSky Network | Low-Medium | Well-documented REST API; OAuth2 setup; rate limits to manage |
| AISHub | Medium | Requires AIS receiver contribution; simple API once access granted |
| MarineTraffic | Low (but costly) | Well-documented commercial API; budget required |
| GBFS | Medium | Simple per-feed access; challenge is aggregating 900+ systems |
This document complements the platform profiles in /research/databases-platforms/ by focusing specifically on programmatic access patterns for real-time and near-real-time data sources that could feed into a Global Transport Intelligence System.