SNCF Scraper - French Train Schedules & Prices
Pricing
from $9.00 / 1,000 sncf train connections
SNCF Scraper - French Train Schedules & Prices
Scrape SNCF Connect train connections, schedules, displayed ticket prices, operators, seat availability hints, and onboard services.
Pricing
from $9.00 / 1,000 sncf train connections
Rating
0.0
(0)
Developer
Muhammad Afzal
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Security
Limited permissionsShare
SNCF Scraper searches the public SNCF Connect booking flow for one one-way route and date and returns one record per train connection: departure and arrival times, duration, direct or connecting, operator (TGV INOUI, OUIGO, TER, INTERCITÉS, Eurostar), displayed second- and first-class fares with seat-count hints, and onboard services. It needs no SNCF account and never books or pays.
What data does it return?
Each dataset item is one connection listed on the SNCF Connect results page:
| Field | Description |
|---|---|
origin, destination | Station labels shown by SNCF Connect (nearby stations such as Marne-la-Vallée can appear for a Paris search) |
departureTime, arrivalTime | ISO timestamps in Europe/Paris |
durationMinutes | Journey duration |
direct, changes | Direct journey flag and number of changes |
carrier, trainType | Displayed operator and normalized family (tgv-inoui, ouigo, ter, intercites, eurostar or other) |
lowestPrice, fares | Displayed EUR fares by class (second, first), with hints such as "2 places à ce prix" |
services | Onboard services such as Wi-Fi, bar car or bicycle space |
sourceUrl, searchedAt | Results page and retrieval time |
Prices and availability are live snapshots of what SNCF Connect displays. They are not a quote, booking or inventory guarantee.
{"origin": "Paris - Gare De Lyon - Hall 1 & 2","destination": "Lyon Part Dieu","departureTime": "2026-10-28T09:00:00.000+01:00","arrivalTime": "2026-10-28T10:56:00.000+01:00","durationMinutes": 116,"changes": 0,"direct": true,"carrier": "TGV INOUI","trainType": "tgv-inoui","services": ["Wifi à bord", "Voiture bar", "Espace vélo payant"],"lowestPrice": 47,"currency": "EUR","fares": [{ "className": "second", "price": 47, "currency": "EUR", "priceFrom": false, "availabilityText": "2 places à ce prix" }],"source": "SNCF Connect"}
How do I use it?
{"from": "Paris Gare de Lyon","to": "Lyon Part-Dieu","departureTime": "08:00","directOnly": false,"trainType": "all","priceMode": "prices","maxResults": 5,"maxLoadMoreClicks": 0}
from,to: station names as SNCF Connect shows them. City names such asParisorLyonare resolved to the best matching station.departureDate:YYYY-MM-DDinEurope/Paris. Leave it empty to search tomorrow; past dates are rejected.departureTime: earliest departure hour (HH:mm). SNCF Connect lists connections around that hour.directOnly,trainType: filters applied to the listed connections.priceMode:pricesreturns fares;schedulesreturns timetables without fares.maxResults: 1–50 connections, default 5.maxLoadMoreClicks: 0–8 extra result pages, default 0. The first page usually lists about 6 connections; each extra page loads the next journeys (2 extra pages returned 12 connections in testing). Extra pages stop early when SNCF offers no more or the run's time budget is reached;OUTPUT.loadMoreClicksreports how many were loaded.
Run diagnostics are written to the OUTPUT record with an outcome of DATA, EMPTY, BLOCKED, REJECTED or FAILED. Diagnostics never go into the connection dataset.
Current status (2026-11-02)
SNCF Connect protects its site with a bot check that sometimes refuses a search. The Actor then retries in a new browser session, at most twice and at most once on a mobile-network IP. If every session is refused, the run ends as FAILED with outcome BLOCKED, zero train-connection charges and a status message saying so; retry later. The Actor never solves CAPTCHAs or signs in. Some regional routes open SNCF's multimodal planner instead of ticket results; those runs also end as FAILED with zero result charges.
Pricing
Pay per event. Prices by Apify plan tier:
| Event | FREE | BRONZE | SILVER | GOLD and above |
|---|---|---|---|---|
train-connection (one connection saved to the dataset) | $0.012 | $0.011 | $0.010 | $0.009 |
apify-actor-start (per run, per started GB of memory) | $0.09 | $0.09 | $0.09 | $0.09 |
The default memory is 1 GB, so a run is charged one start event. The default 5-connection run costs $0.15 on the FREE tier. A connection is saved before it is charged, the result limit is lowered to fit your remaining budget before the browser opens, and blocked or empty runs charge no train-connection events.
FAQ
Do I need an SNCF account? No. The Actor reads the public search results only. It never signs in, books or pays.
Why did my run fail with "bot check"? SNCF Connect sometimes refuses automated searches. The Actor retries in a new browser session, at most twice and at most once on a mobile-network IP; if every session is refused, the run ends as FAILED with no result charges. Retry later.
Can I search a return trip? No. Run one search per direction.
Are the prices guaranteed? No. They are the fares SNCF Connect displays at search time for one adult without discount cards.
Why do I see a station I did not ask for? SNCF Connect includes nearby stations, for example Marne-la-Vallée - Chessy for Paris to Lyon. The record shows the actual departure station.
How many connections can one run return? Up to 50 (maxResults). The first results page usually holds about 6 connections; set maxLoadMoreClicks to load more pages.
Compliance
Use this Actor in line with SNCF Connect's terms, fare display conditions and applicable law. Do not use it to automate purchases or to get around access controls.
Last verified: 2026-11-02