Discover/Italo Treno API
live

Italo Treno APIitalotreno.com

Search Italo high-speed train schedules, per-class fares, and seat availability between Italian stations. Includes station lookup by name.

Endpoint health
verified 3h ago
search_stations
search_trains
2/2 passing latest checkself-healing
Endpoints
2
Updated
4h ago

What is the Italo Treno API?

The Italo Treno API covers 2 endpoints that expose Italo high-speed train schedules, live fares, and station data for the Italian rail network. The search_trains endpoint returns every direct train and multi-leg connection between two stations on a given date, with per-class pricing across Smart, Prima Business, Club Executive, and Salotto cabins. The search_stations endpoint resolves city and station names to the station codes that search_trains requires.

This call costs2 credits / call— charged only on success
Try it
Station or city name, or a prefix of it, at least 2 characters (e.g. Firenze, Milano).
api.parse.bot/scraper/cba3c861-9596-4f80-8d05-2d3b210125ed/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/cba3c861-9596-4f80-8d05-2d3b210125ed/search_stations?query=Firenze' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 2 totalmissing one? ·

Looks up stations by (partial) name and returns the matching stations with their station_code, which is the identifier search_trains takes as from_station / to_station. One round trip; up to 30 matches. Includes Italo, Itabus and partner (Trenitalia) stations, flagged by the is_*_station booleans; only is_italo_station=true stations are served by Italo trains. An empty stations array with count 0 is a valid result for a name that matches nothing.

Input
ParamTypeDescription
queryrequiredstringStation or city name, or a prefix of it, at least 2 characters (e.g. Firenze, Milano).
Response
{
  "type": "object",
  "fields": {
    "count": "number of stations returned",
    "query": "the query as searched",
    "stations": "array of matching stations: station_code (use in search_trains), name, city_code (grouping code shared by stations of the same city, null when absent), latitude/longitude (decimal degrees), is_italo_station, is_itabus_station, is_trenitalia_station"
  },
  "sample": {
    "data": {
      "count": 1,
      "query": "Firenze",
      "stations": [
        {
          "name": "Firenze S.M.Novella (Florence)",
          "latitude": 43.77689315,
          "city_code": "FI0",
          "longitude": 11.24738779,
          "station_code": "SMN",
          "is_italo_station": true,
          "is_itabus_station": false,
          "is_trenitalia_station": false
        }
      ]
    },
    "status": "success"
  }
}

About the Italo Treno API

Station Lookup

Before querying train schedules you need station codes. search_stations accepts a query string of at least 2 characters — a city name or prefix such as Firenze or Mil — and returns up to 30 matches. Each result includes station_code (the identifier used by search_trains), name, and city_code (a grouping key shared by multiple stations in the same city). Results flag whether each station is served by Italo trains, Itabus coaches, or partner carrier Trenitalia via the is_* boolean fields.

Train Search

search_trains requires from_station, to_station (both station_code values from search_stations), and a date in ISO YYYY-MM-DD format. Passenger mix is split into four age bands: adults, seniors (60+), young (14–29), and children (3–13), with a combined minimum of one passenger. You can narrow results to a departure window using depart_after in HH:MM 24-hour format.

Each entry in the solutions array carries travel_solution_id, departure_station, arrival_station, departure_time, arrival_time, and a fares structure broken down by product class (Smart, Prima Business, Club Executive, Salotto) and offer type (e.g. Flex, Super Economy). The response also surfaces last_bookable_date — the furthest date Italo currently sells tickets for — which is useful for validating date inputs in downstream applications.

Coverage and Scope

The API covers the Italo network, which operates on Italian high-speed lines connecting major cities including Rome, Milan, Florence, Naples, Turin, and Venice. Both direct trains and itineraries requiring a connection are returned. Currency is always EUR. Results reflect fares and availability at the time of the request.

Reliability & maintenanceVerified

The Italo Treno API is a managed, monitored endpoint for italotreno.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when italotreno.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official italotreno.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
3h ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a price-tracking tool that monitors Italo fare changes across Smart and Prima Business classes on a specific route over time.
  • Power a travel comparison page that shows journey duration and lowest available fare for Rome–Milan departures on a given day.
  • Generate timetable widgets for travel blogs by querying departure and arrival times between popular Italian city pairs.
  • Automate corporate travel reporting by fetching Flex-offer prices for a given passenger count and route.
  • Validate user-entered station names against the search_stations results before submitting a train search.
  • Filter morning or evening departures using depart_after to surface only commuter-relevant train options.
  • Check last_bookable_date to dynamically cap date pickers in a booking UI to the furthest date Italo accepts.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Italo Treno offer an official developer API?+
Italo does not publish a documented public developer API or developer portal for third-party access to schedules and fares. The Parse API is the structured programmatic interface available for these data points.
What fare and class information does search_trains return?+
search_trains returns fares broken down by product class (Smart, Prima Business, Club Executive, Salotto) and offer type (such as Flex or Super Economy) for each travel solution. Prices are in EUR. Solutions include departure and arrival times, station identifiers, and a travel_solution_id. Multi-leg connections are included alongside direct trains.
Does the API return return-trip or multi-date itineraries?+
Each search_trains call covers one travel direction on one date. Return journeys require a second call with from_station and to_station swapped and the return date supplied. Multi-date itinerary building is not handled in a single call.
Is seat-count or specific seat availability returned?+
The API returns fare availability by class and offer type — meaning whether a given price tier has seats on sale — but does not return a numeric seat count or a seat map for individual coaches. You can fork this API on Parse and revise it to add an endpoint targeting seat-level availability if that data becomes accessible.
Does the API cover Itabus coach routes or Trenitalia trains?+
search_stations flags stations with is_itabus and Trenitalia partner indicators, but search_trains returns Italo high-speed rail solutions. Dedicated Itabus schedule and fare search, and full Trenitalia timetable queries, are not currently covered. You can fork this API on Parse and revise it to add endpoints targeting those operators.
Page content last updated . Spec covers 2 endpoints from italotreno.com.
Related APIs in TravelSee all →
trenitalia.com API
Search for trains across Italy, check real-time train status and delays, view station departure and arrival boards, and find available tickets all in one place. Get live traffic information and detailed train itineraries to plan your journey with complete visibility into schedules and service disruptions.
rfi.it API
Check real-time train schedules and station information across Italy's railway network, search for stations, and get live alerts about delays and service disruptions. Monitor train circulation status and access detailed station mappings to plan your journeys efficiently.
trainline.eu API
Search for train stations and routes across the UK and Europe, then find and compare available journeys with schedules and pricing. Book your ideal train trip by accessing real-time travel options directly from Trainline.com.
nsinternational.nl API
Access data from nsinternational.nl.
thetrainline.com API
Search UK train stations and find the cheapest fares across date ranges, then generate direct booking links to complete your purchase on Trainline.com. Get real-time journey information to compare prices and book your tickets in seconds.
irctc.co.inapi API
Access data from irctc.co.inAPI.
amtrak.com API
Search for Amtrak trains across stations, compare fares, and discover discounts to plan your rail journey with current pricing and availability. Get detailed train information, autocomplete station names, and find the cheapest routes for your travel dates.
omio.com API
Search and compare train, bus, and flight trips across multiple providers in real-time, with detailed pricing breakdowns and the ability to view fares across different dates. Find the best deals by exploring popular destinations, autocompleting location searches, and analyzing price variations to plan your ideal journey.