PrompTugal.newsStorm CharlesUpdated 12:12 UTCNew here?v0.1.1049Repo
Not a warning service. Follow IPMA, ANEPC and your local authorities. We aggregate public sources, each with its source and the time we read it.

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)

SourceHowAnswers hereTermsThe visualStatus
OpenSky NetworkREST API (/flights/departure, /states/all), anonymousYes. 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 itDepartures seen per hour per airport (hours not covered drawn dotted); airline aircraft near each airport nowlive
OpenSky historyThe same API with an accountNeeds an accountAs aboveToday against the same weekday last weekkey for Dinis (free account)
ANA airports' boards (aeroportolisboa.pt, aeroportomadeira.pt, …)Their web pagesA 212-byte bot-check page; robots.txt allows the pathsNot reachedDepartures and arrivals with status (cancelled, delayed)bot check: ANA's permission or a feed; a person asks
Airport weather (METAR, TAF)The meteorologist's filesYesPublic domain (US AWC)Already on the site's weather pagesreused, not duplicated

Trains (page)

SourceHowAnswers hereTermsThe visualStatus
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 feedNot read; we do not use an app's internal keyLine by line: trains running, suppressed, delayednext: 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)Yesrobots.txt to be read with its notices pageIts notices, and whether the bridge crossing runsnext
Infraestruturas de PortugalIts site's train-times pagesNot tried yetTo readTrains per line from the network managernext

Metro and light rail (page)

SourceHowAnswers hereTermsThe visualStatus
Metro de Lisboa's site (news, notices)Public WordPress APIYes with our client name (curl's default name got 403 at 10:25); robots.txt is emptyIts 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 noticesterms: stopped at 12:08; Metro's consent is a question for Dinis
Metro de Lisboa's live line statusLoaded by its page from an internal site endpoint; the published API (api.metrolisboa.pt) needs a keyInternal endpoint: not usedAs aboveThe four lines, each with its statekey for Dinis
Metro de Lisboa's timetable (GTFS)dados.gov.pt "GTFS do Metropolitano de Lisboa", updated 26 Oct 2026YesCC BY (dados.gov.pt)Trains scheduled per hour per line today: the normal day to set beside the reportsnext
Metro do PortoIts news pages (server-rendered)Yes; robots.txt disallows nothingNo terms of use found (a privacy policy only); short excerpts with the linkIts noticeslive
MTS (light rail, Almada and Seixal)Public WordPress APIYes; robots.txt disallows nothingNo terms of use found (a privacy policy only); short excerpts with the linkIts noticeslive

Buses and trams (page)

SourceHowAnswers hereTermsThe visualStatus
Carris Metropolitana alertsOpen API /v2/alerts (GTFS-realtime alerts as JSON)YesIts network data is CC BY on dados.gov.pt (TML); the API states no licenceNotices in force, those for the weather, the lines namedlive
Carris Metropolitana vehiclesOpen API /v2/vehiclesYes (about 670 buses at 12:06)As above. Counts onlyBuses running now, on how many lines, hour by hour from our readingslive
Carris (Lisbon's buses, trams, lifts)Its site; an open API not found yetThe site answersTo readLines and trams runningnext
STCP (Porto buses)Real-time positions on dados.gov.pt (Porto Digital)To tryCC0Buses running now in Portonext

Ferries and the port (page)

SourceHowAnswers hereTermsThe visualStatus
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 linkEach crossing with its newest noticelive
Port of Lisbon (APL)Not found yetnext

Coaches (page)

SourceHowAnswers hereTermsThe visualStatus
Rede ExpressosIts siteBehind a protection service (Cloudflare)Not reachedRoutes running or suspendedbot check
FlixBusIts siteNot tried yetTo readnext

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.

Bridges and tunnels (page)

SourceHowAnswers hereTermsThe visualStatus
Lusoponte (25 de Abril, Vasco da Gama)Its siteDid not connect from hereEach bridge: open, limited, closednext (retry; else the press via the researcher)
Infraestruturas de Portugal, Lisbon city (tunnels)Their sitesNot tried yetnext

For Dinis (listed, not worked around)

  1. ANA's flight boards: a bot check. Ask ANA for permission or a feed.
  2. A free OpenSky account, for past days (a normal-day baseline). The credentials go into the environment, never git.
  3. Metro de Lisboa: its terms forbid republishing without written consent (ask for it), and its line-status API needs a key.
  4. OpenSky's full terms page did not answer from here: a person reads it.
  5. Rede Expressos sits behind a protection service.