Pushbuild

Italy Train Status API: Trenitalia Live Delays

Live status of Italian trains (Frecciarossa, Intercity, Regionale) from the official ViaggiaTreno feed: every stop with scheduled and actual times, delay and platform, or a station's live departures and arrivals board.

$0.16 per 1,000 rows

Get an API key

What it returns

Live running status of Italian trains from ViaggiaTreno, the official Trenitalia/RFI real-time feed: Frecciarossa, Frecciargento, Intercity and Regionale. Give a train number and get where it is, how late it is, and every stop with scheduled and actual arrival and departure times, delay and the planned and actual platform. Or give a station and get its live departures or arrivals board, the same one shown on the station screens.

Train rows: | field | meaning | |---|---| | train, trainNumber, category | e.g. FR 9600, FR (Frecciarossa), IC, REG | | origin, destination (+ ids) | Terminal stations | | scheduledDeparture, scheduledArrival | Timetable times, Italian time with offset | | status, delayMin | arrived, running, not departed, cancelled; current delay in minutes | | lastSeenStation, lastSeenAt | Where the train was last detected | | notice | Service notice from the operator, if any | | stops | Each stop: scheduled and actual arrival and departure, delays, planned and actual platform, cancelled |

Board rows: station, train, category, destination (departures) or origin (arrivals), scheduled time, delayMin, platformPlanned, platformActual, status.

Common uses

  • Travel apps and trip planners showing live delays and platform changes for Italian rail
  • Delay-compensation and refund claim tools (actual vs scheduled at each stop)
  • Station displays, chatbots and alerts for commuters

Request

POST https://api.pushbuild.com/italy-train-status/run with a JSON body. Send your key in the X-API-Key header.

FieldTypeDescription
trainNumberslist of stringsTrain numbers as on the ticket, e.g. 9600 (Frecciarossa), 553 (Intercity), 2001 (Regionale). Up to 50.
stationslist of stringsStation names for a live board, e.g. Roma Termini, Milano Centrale, Firenze Santa Maria Novella. Up to 20.
boardslist of stringsdepartures, arrivals or both (default departures).
datestringYYYY-MM-DD departure date of the train from its origin (default today in Italy). The feed covers today and recent days.
timestringHH:MM Italian time the station board starts from (default now).
maxItemsintegerMaximum items to return (1-500). Default: 100.

Example

curl -X POST https://api.pushbuild.com/italy-train-status/run \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"trainNumbers": ["9600"], "boards": ["departures"], "maxItems": 20}'

Response

{"count": 20, "truncated": false, "seconds": 1.4, "items": [ { ... } ]}

Each call returns up to 500 items. Records that fail validation or are not found are flagged in the items and not charged.

Pricing

Pay only for results returned: $0.16 per 1,000 rows. No charge for errors or empty searches.

Tell us what you need built.

Questions about this API, higher volumes, or a data source you need that we don't cover yet.

hello@pushbuild.com

(617) 299-8887

Tell us about your project

A few questions so we can come back with a written scope. We reply within one business day.