Trenitalia Scraper — Train Prices & Schedules avatar

Trenitalia Scraper — Train Prices & Schedules

Pricing

from $1.20 / 1,000 result scrapeds

Go to Apify Store
Trenitalia Scraper — Train Prices & Schedules

Trenitalia Scraper — Train Prices & Schedules

Scrape Trenitalia train schedules, prices, and availability. Search Italian rail routes to get Frecciarossa, Frecciargento, Frecciabianca, Intercity, and Regionale train times, fares by class, and duration. Covers all major Italian stations. No login or cookies required.

Pricing

from $1.20 / 1,000 result scrapeds

Rating

0.0

(0)

Developer

Studio Amba

Studio Amba

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Share

What does Trenitalia Scraper do?

Trenitalia Scraper extracts train schedules, ticket prices, availability, and service details from Trenitalia, Italy's national railway operator. Search any Italian rail route and get structured data for Frecciarossa, Frecciargento, Frecciabianca, Intercity, and Regionale trains — including departure/arrival times, journey duration, prices by service class, and fare types.

No login, cookies, or Trenitalia account required. The actor runs on the Apify platform, giving you API access, scheduling, webhooks, and integrations with tools like Zapier, Make, Google Sheets, and Slack.

Why use Trenitalia Scraper?

  • Price monitoring — Track fare changes on popular routes like Roma-Milano, Firenze-Napoli, or Venezia-Bologna. Set up scheduled runs to catch the cheapest tickets.
  • Travel aggregation — Build travel comparison tools or dashboards that include Italian rail data alongside flights and buses.
  • Research and analytics — Analyze pricing patterns, route frequency, and train type distribution across the Italian rail network.
  • Business intelligence — Hotels, tour operators, and travel agencies can use train schedule data to plan packages and inform customers.

How to scrape Trenitalia data

  1. Go to the Trenitalia Scraper page on Apify Store.
  2. Click Try for free to open the actor in Apify Console.
  3. Enter your origin and destination station names (e.g. "Roma Termini" and "Milano Centrale").
  4. Optionally set a departure date (YYYY-MM-DD format). If omitted, it defaults to 14 days from today.
  5. Click Start and wait for the run to complete.
  6. Download your data as JSON, CSV, Excel, or connect it to your app via the Apify API.

Input

FieldTypeDescriptionDefault
originstringDeparture station nameRoma Termini
destinationstringArrival station nameMilano Centrale
departureDatestringTravel date (YYYY-MM-DD)14 days from now
passengersintegerNumber of adult passengers (1-9)1
frecceOnlybooleanOnly return high-speed Frecce trainsfalse
maxResultsintegerMaximum results to return50
proxyConfigurationobjectProxy settings (residential recommended)Apify Proxy

Example input

{
"origin": "Roma Termini",
"destination": "Milano Centrale",
"departureDate": "2026-07-15",
"passengers": 1,
"frecceOnly": false,
"maxResults": 50
}

The actor automatically resolves station names to Trenitalia station IDs. You can use full station names like "Roma Termini" or city names like "Firenze" — the actor picks the best match.

Output

The actor stores results in a dataset. Each item represents one train service with a specific fare/class combination. You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

Example output

{
"origin": "Roma Termini",
"destination": "Milano Centrale",
"departureTime": "2026-07-15T09:00:00.000+02:00",
"arrivalTime": "2026-07-15T11:55:00.000+02:00",
"duration": "2h 55m",
"trainType": "Frecciarossa",
"trainNumber": "9612",
"price": 49.90,
"currency": "EUR",
"serviceClass": "Standard",
"offerName": "Economy",
"available": true,
"carrier": "Trenitalia",
"changes": 0,
"url": "https://www.trenitalia.com/en.html#Roma%20Termini-to-Milano%20Centrale",
"scrapedAt": "2026-07-01T12:00:00.000Z"
}

Data fields

FieldTypeDescription
originstringDeparture station name
destinationstringArrival station name
departureTimestringDeparture date/time (ISO 8601)
arrivalTimestringArrival date/time (ISO 8601)
durationstringJourney duration (e.g. "2h 55m")
trainTypestringTrain category: Frecciarossa, Frecciargento, Frecciabianca, Intercity, Regionale, etc.
trainNumberstringTrain service number
pricenumberTicket price in EUR (null if unavailable)
currencystringCurrency code (EUR)
serviceClassstringService class: Standard, Premium, Business, Executive
offerNamestringFare type: Economy, Base, Flex, etc.
availablebooleanWhether tickets can be purchased
carrierstringTrain operator (Trenitalia)
changesintegerNumber of train changes (0 = direct)
urlstringSearch URL on Trenitalia
scrapedAtstringTimestamp when data was collected

How much does it cost to scrape Trenitalia?

A typical run searching one route returns 30-100 results (depending on available trains and classes). It costs $0.02 per run plus $0.002 per result — about $0.08-$0.22 per search.

For scheduled monitoring (e.g. checking Roma-Milano prices daily), expect to spend around $2-7 per month depending on how many routes you track.

Tips

  • Use specific station names for best results: "Roma Termini", "Milano Centrale", "Firenze Santa Maria Novella", "Napoli Centrale", "Venezia Santa Lucia".
  • Set frecceOnly: true if you only want high-speed trains — this filters out Regionale and Intercity services.
  • Use residential proxies for reliable results. The default Apify Proxy works, but residential proxies avoid rate limiting.
  • Schedule runs to track price changes over time. Trenitalia fares fluctuate significantly — Economy fares on Frecciarossa can range from 19.90 to 89.90 EUR.
  • Combine with other transport actors to build a complete Italian travel comparison: pair with flight scrapers, bus scrapers, or other European rail actors.

Supported train types

TypeSpeedDescription
FrecciarossaUp to 300 km/hFlagship high-speed, Roma-Milano in 2h 55m
FrecciargentoUp to 250 km/hHigh-speed tilting trains, serves Venice, Verona, Lecce
FrecciabiancaUp to 200 km/hFast trains on non-high-speed lines
IntercityStandardLong-distance, stops at more stations
RegionaleStandardRegional services, all stops

FAQ and support

Is it legal to scrape Trenitalia? This actor accesses publicly available train schedule and pricing information — the same data you see when searching on trenitalia.com. No login or authentication is required.

Why are some prices null? When a fare class is sold out or not available for a route, the price is returned as null and available is set to false.

Can I search international routes? The actor focuses on Italian domestic routes. For cross-border trains (e.g. to France, Switzerland, Austria), try searching from border stations like Milano Centrale or Venezia Santa Lucia.

Results look empty? Make sure your station names are spelled correctly. Try common names like "Roma Termini" or "Napoli Centrale". If the date is in the past or too far in the future, Trenitalia may not return results.

For bugs or feature requests, open an issue in the Issues tab. For custom scraping solutions, contact us through the Apify platform.