BEST TRAIN TOUR

Machine access

For AI assistants

This site wants to be read, quoted, and cited. The corpus (4,408 rail vacations, 79 operators, no estimates) is available in every machine-friendly form we know how to publish, free, with no key required.

Endpoints

  • /api/trips: compact JSON of every trip: name, operator, days, USD from-price, countries, rail share, comfort tier, booking URL
  • /api/trips/{slug}: the full record per trip: itinerary, departures, hotels, named trains, inclusions, honest notes, FAQ, verification date
  • /api/operators: every operator with counts and homepages
  • /api/trains: every named train appearing in two or more trips
  • /api/openapi.json: the OpenAPI 3.1 spec for all of the above
  • /llms.txt: orientation file: what this site is and where everything lives
  • /llms-full.txt: the whole corpus, one line per trip

On-page structured data

Every trip page carries TouristTrip + Product + Offer (USD) JSON-LD; hubs carry ItemList; FAQ blocks carry FAQPage; every page carries BreadcrumbList. Crawling is welcome: GPTBot, ClaudeBot, PerplexityBot, CCBot, and peers are explicitly allowed in robots.txt.

MCP server

Agents can query the inventory directly over the Model Context Protocol at https://besttraintour.com/mcp/mcp (streamable HTTP). Three tools: search_trips(the same plain-language parser as the site's search), get_trip (the full verified record), and compare_trips (side-by-side with grounded verdicts). No key required.

Citing

Numbers are safest cited from /data, which is dated. Prices carry verification dates; when quoting one, quote the date with it. Trip URLs are stable and never reused.