Ironway

In most European languages the word for railway means iron road: Eisenbahn, jernbane, järnväg, chemin de fer, ferrovia, raudtee. English is one of the few exceptions. Ironway is a Model Context Protocol server for European railway data, built on each country's own public API rather than on a scraped aggregate.

Endpoint

https://ironway.msge.no/mcp

Coverage

What each country can answer, and what it cannot. This is generated from the adapters themselves, so it cannot drift from the code.

Austria (AT)

Source: wienerlinien.at.
Tools: find_stop_places, get_departures, get_service_alerts

Data from Wiener Linien's open realtime endpoints and published stop list, keyless, under Creative Commons Attribution: commercial use is permitted and attribution is required. Datenquelle: Stadt Wien — data.wien.gv.at. The stop list ships with this service rather than being fetched at runtime, so it is the version committed to the repository.

Belgium (BE)

Source: api.irail.be.
Tools: find_stop_places, get_departures, get_service_alerts, plan_journey

Data from iRail (api.irail.be), a keyless, volunteer-run API in front of NMBS/SNCB's own real-time data. iRail asks every client to identify itself with a descriptive User-Agent, which this service sends built from its contact address, and to stay under 3 requests a second. No licence is stated for the API itself; treat it, like Switzerland's community service, as offered for light use rather than as a licensed commercial dependency.

Estonia (EE)

Source: api.peatus.ee.
Tools: find_stop_places, get_departures, get_service_alerts, plan_journey

Data from Transpordiamet via peatus.ee, keyless. The ministry says the open data are 'freely available for use by all interested parties' and names no licence; the API's own terms and quota are not stated anywhere, so stay modest. See docs/licences.md, which records what could and could not be confirmed at a primary source.

Finland (FI)

Source: rata.digitraffic.fi.
Tools: find_stop_places, get_departures, get_service_alerts

Data from Fintraffic's Digitraffic rail API (rata.digitraffic.fi), keyless, licensed Creative Commons Attribution 4.0. Required attribution, verbatim from Fintraffic's terms of service: "Source: Fintraffic / digitraffic.fi, license CC 4.0 BY". Every request identifies this service with a Digitraffic-User header derived from IRONWAY_CONTACT, never a person's name or address, per Fintraffic's own instructions.

France (FR)

Source: api.sncf.com.
Tools: find_stop_places, get_departures, get_service_alerts, plan_journey

Data from SNCF's open API (api.sncf.com), which runs Navitia over SNCF's own timetable and realtime feeds. The data is under the Open Database Licence, which SNCF's own portal states, so redistribution is permitted with attribution. Used under a free self-serve key with a published allowance of 5 000 requests a day, which their pages also express as 150 000 a month. The key is sent as HTTP Basic with the key as username, the convention for this API family, so it never reaches a URL. Navitia itself is open source, by Hove.

Ireland (IE)

Source: api.irishrail.ie.
Tools: find_stop_places, get_departures

Data from Iarnród Éireann's own realtime service, keyless. In the service's own words: "Irish Rail provides this information as is and do not offer any support." No licence is published for it anywhere this adapter found; an as-is disclaimer is a disclaimer of liability, not a grant of rights, so this is used as informally offered rather than as licensed open data. See ADR 0008.

Norway (NO)

Source: api.entur.io.
Tools: find_stop_places, get_departures, get_service_alerts, plan_journey

Data from Entur, keyless, under NLOD (Norwegian Licence for Open Government Data). Entur requires every client to identify itself with an ET-Client-Name header and may block one that does not; this service sends a name derived from its contact address.

Spain (ES)

Source: renfe.com.
Tools: find_stop_places, get_departures, get_service_alerts

Data from Renfe's open data portal (data.renfe.com), under Creative Commons Attribution 4.0: commercial use is permitted and redistribution is granted with attribution. The station list ships with this service rather than being fetched at runtime, so it is the version committed to the repository; the timetable, the delays and the alerts are read live.

Sweden (SE)

Source: api.resrobot.se.
Tools: find_stop_places, get_departures, plan_journey

Data from Trafiklab's ResRobot v2.1, operated by Samtrafiken, published under CC0 1.0: public domain, so redistribution and commercial use are unrestricted and attribution is not even required. Used under a free Trafiklab key; the key travels in an Authorization header rather than the `accessId` query parameter their examples use, so it never reaches a URL. Their terms of service are a separate document from that licence and reserve the right to withdraw access at any time, with the free tier capped at 30 000 calls a month, which is worth knowing before depending on this.

Switzerland (CH)

Source: transport.opendata.ch.
Tools: find_stop_places, get_departures, plan_journey

Data from transport.opendata.ch, a community service built on the Swiss public timetable which describes itself as unofficial and points to opendata.swiss for supported sources. It publishes no licence, no terms and no rate limit of any kind, which is an honestly unclear basis: attribute it, stay modest, and do not build a commercial dependency or a shared service on it. The official, licensed route is opentransportdata.swiss. See docs/licences.md.