Transport: the working map of sources, mode by mode
Kept by incident.transport@web-summit.dinis, 11 November 2026, 12:12 UTC
Not a warning service. No advice of ours: check with your airline or operator. For warnings follow IPMA and ANEPC.
The aim (Dinis, ~11:56): the operators' own data read into our JSON and drawn on our pages, with links kept as the source citation. Within each source's terms. A block is never got round. Status is one of: live (read hourly into our JSON), next (open, not built yet), bot check (the site blocks automated readers), terms (its terms forbid republishing), or key for Dinis (an open API that needs a free key or account).
Our client name, on every request: storm-charles.promptugal.news newsroom reader (+https://storm-charles.promptugal.news/agents/; a few requests an hour). We never pose as a browser. The reader is tools/transport-read.mjs. Raw responses go to a private vault; git keeps their sha256 (reads.jsonl). Checked from this environment on 11 November between 10:25 and 12:10 UTC.
Flights (page)
| Source | How | Answers here | Terms | The visual | Status |
|---|
| OpenSky Network | REST API (/flights/departure, /states/all), anonymous | Yes. Departures come as a rolling window of the last few hours (the 10:35 answer covered 06:25 to 10:35), so we join our hourly readings. Arrivals: batch at night. Past days: "You cannot access historical flights" | API docs: "for research and non-commerical purposes"; cite the OpenSky paper (done on every page). Anonymous: "400 credits per day" for /states/*. The full terms page answered 403/503 from here: a person should read it | Departures seen per hour per airport (hours not covered drawn dotted); airline aircraft near each airport now | live |
| OpenSky history | The same API with an account | Needs an account | As above | Today against the same weekday last week | key for Dinis (free account) |
| ANA airports' boards (aeroportolisboa.pt, aeroportomadeira.pt, …) | Their web pages | A 212-byte bot-check page; robots.txt allows the paths | Not reached | Departures and arrivals with status (cancelled, delayed) | bot check: ANA's permission or a feed; a person asks |
| Airport weather (METAR, TAF) | The meteorologist's files | Yes | Public domain (US AWC) | Already on the site's weather pages | reused, not duplicated |
Trains (page)
| Source | How | Answers here | Terms | The visual | Status |
|---|
| CP (cp.pt) | The site is a JavaScript app; its data comes from an API keyed inside the app (not a published one) | The pages answer; no open feed | Not read; we do not use an app's internal key | Line by line: trains running, suppressed, delayed | next: look for CP's or IP's published data (dados.gov.pt has no CP GTFS today); else a person asks CP |
| Fertagus (fertagus.pt) | Its site (250 KB, server-rendered) | Yes | robots.txt to be read with its notices page | Its notices, and whether the bridge crossing runs | next |
| Infraestruturas de Portugal | Its site's train-times pages | Not tried yet | To read | Trains per line from the network manager | next |
| Source | How | Answers here | Terms | The visual | Status |
|---|
| Metro de Lisboa's site (news, notices) | Public WordPress API | Yes with our client name (curl's default name got 403 at 10:25); robots.txt is empty | Its terms, clause 3: content "só podem ser utilizados para informação pessoal"; none of it may be "publicado … sem o prévio consentimento escrito do ML" | Its notices | terms: stopped at 12:08; Metro's consent is a question for Dinis |
| Metro de Lisboa's live line status | Loaded by its page from an internal site endpoint; the published API (api.metrolisboa.pt) needs a key | Internal endpoint: not used | As above | The four lines, each with its state | key for Dinis |
| Metro de Lisboa's timetable (GTFS) | dados.gov.pt "GTFS do Metropolitano de Lisboa", updated 26 Oct 2026 | Yes | CC BY (dados.gov.pt) | Trains scheduled per hour per line today: the normal day to set beside the reports | next |
| Metro do Porto | Its news pages (server-rendered) | Yes; robots.txt disallows nothing | No terms of use found (a privacy policy only); short excerpts with the link | Its notices | live |
| MTS (light rail, Almada and Seixal) | Public WordPress API | Yes; robots.txt disallows nothing | No terms of use found (a privacy policy only); short excerpts with the link | Its notices | live |
Buses and trams (page)
| Source | How | Answers here | Terms | The visual | Status |
|---|
| Carris Metropolitana alerts | Open API /v2/alerts (GTFS-realtime alerts as JSON) | Yes | Its network data is CC BY on dados.gov.pt (TML); the API states no licence | Notices in force, those for the weather, the lines named | live |
| Carris Metropolitana vehicles | Open API /v2/vehicles | Yes (about 670 buses at 12:06) | As above. Counts only | Buses running now, on how many lines, hour by hour from our readings | live |
| Carris (Lisbon's buses, trams, lifts) | Its site; an open API not found yet | The site answers | To read | Lines and trams running | next |
| STCP (Porto buses) | Real-time positions on dados.gov.pt (Porto Digital) | To try | CC0 | Buses running now in Porto | next |
| Source | How | Answers here | Terms | The visual | Status |
|---|
| Transtejo Soflusa (TTSL) | Public WordPress API (/wp-json/wp/v2/avisos) | Yes; robots.txt disallows only /wp-admin/ | No terms of use found (a privacy policy only); short excerpts with the link | Each crossing with its newest notice | live |
| Port of Lisbon (APL) | Not found yet | | | | next |
Coaches (page)
| Source | How | Answers here | Terms | The visual | Status |
|---|
| Rede Expressos | Its site | Behind a protection service (Cloudflare) | Not reached | Routes running or suspended | bot check |
| FlixBus | Its site | Not tried yet | To read | | next |
Taxis and ride-hailing (page)
Only what an operator or an authority states. Ride-hailing apps (Uber, Bolt) publish no open service data, and we do not read their apps. Status: none found yet.
| Source | How | Answers here | Terms | The visual | Status |
|---|
| Lusoponte (25 de Abril, Vasco da Gama) | Its site | Did not connect from here | | Each bridge: open, limited, closed | next (retry; else the press via the researcher) |
| Infraestruturas de Portugal, Lisbon city (tunnels) | Their sites | Not tried yet | | | next |
For Dinis (listed, not worked around)
- ANA's flight boards: a bot check. Ask ANA for permission or a feed.
- A free OpenSky account, for past days (a normal-day baseline). The credentials go into the environment, never git.
- Metro de Lisboa: its terms forbid republishing without written consent (ask for it), and its line-status API needs a key.
- OpenSky's full terms page did not answer from here: a person reads it.
- Rede Expressos sits behind a protection service.