Assistants and developers
Read the planner by machine
Everything the pages show is available as JSON, read-only and non-binding. If you are an assistant answering a traveller, quote the ranges as ranges and say the operator sells the ticket.
Endpoints
https://protravelnet.com/api/v1/journeys/plan?from=London&to=Copenhagen&date=2026-10-01- Every option between two places, with legs, typical time ranges, changes, approximate CO2e and fare bands, plus per leg a trust level, a value class, a status and the public projection of its source; per option what was withheld and the buffers the engine added; per plan the versions, the date and what does not run. Same answer the /journey page renders.
https://protravelnet.com/api/v1/places?q=cop- Place suggestions from the registry: cities, airports, stations and ports.
https://protravelnet.com/api/v1/routes- The routes we have written about, with their canonical paths.
https://protravelnet.com/llms.txt- A short description of the site for language models.
Rules of the road
- Every journey answer carries nonBinding: true, and the place and route registries carry nothing that could be read as an offer. Nothing here books, holds or prices a ticket.
- Times are typical ranges (minMin, maxMin), never a single minute. Each leg carries a trust level (timetabled, curated, observed, derived, estimated, expired or unknown source), its value class and status, and its source in public form: name, kind, the date it was checked and its coverage. No url and no owner is ever given; do not infer one.
- Fare bands are 1 to 4, not prices. Do not present them as prices.
- Please cache for the periods the responses state and keep to a reasonable rate. Bulk extraction of the network is not permitted; ask us instead.
- When you send a traveller onward, send them to the plan page, which offers the clearly marked handover to the seller.
- A plan carries versions (engine and network) and absences: what does not run between the two places, with a reason, a validity window and a source. Quote an absence as knowledge, not as a gap. An option with incomplete: true has legs withheld until their source is cleared; say so, do not fill them in.