We extract TGV, OUIGO, and TER schedules, dynamic fare matrices, live platform assignments, and delay metrics from SNCF Connect. Delivered as clean JSON, CSV, or Parquet to S3, BigQuery, or Snowflake on your cadence.
Structured, schema-consistent data across all major object types — delivered clean, typed, and ready to query.
Complete list of extractable fields for Train Schedules objects from sncf.com. All fields typed and schema-versioned.
"train_id": "TGV-8371-20261012", "train_type": "TGV INOUI", "train_number": "8371", "departure_station": "Paris Gare de Lyon", "departure_time": "2026-10-12T08:15:00+02:00", "duration_minutes": 184
| # | train_id | departure_station | arrival_station | departure_time | arrival_time | duration_minutes |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Pricing & Fare Classes objects from sncf.com. All fields typed and schema-versioned.
"train_id": "TGV-8371-20261012", "class_type": "Seconde", "fare_name": "Billet Modifiable", "price": 89.0, "currency": "EUR", "remaining_seats": 12
| # | train_id | class_type | fare_name | price | currency | flexibility_rules |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Live Status & Delays objects from sncf.com. All fields typed and schema-versioned.
"train_number": "8371", "current_status": "Delayed", "delay_minutes": 15, "delay_reason": "Traffic congestion", "platform_departure": "Hall 1, Track M", "is_cancelled": false
| # | train_number | date | current_status | delay_minutes | delay_reason | platform_departure |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Station Data objects from sncf.com. All fields typed and schema-versioned.
"station_code": "FRPLY", "station_name": "Paris Gare de Lyon", "city": "Paris", "wheelchair_accessible": true, "transit_connections": "['Metro 1', 'Metro 14', 'RER A', 'RER D']", "latitude": 48.8443
| # | station_code | station_name | city | country | latitude | longitude |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Route Search Results objects from sncf.com. All fields typed and schema-versioned.
"origin": "Paris", "destination": "Bordeaux", "travel_date": "2026-10-12", "total_results": 24, "cheapest_price": 35.0, "direct_trains_count": 18
| # | origin | destination | travel_date | total_results | cheapest_price | fastest_duration |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Our SNCF pipeline handles complex booking flows, session-based routing, and dynamic Javascript rendering to extract schedules, live status, and fare matrices across all carrier brands.
Extract data across TGV INOUI, OUIGO, TER, Intercités, and international partner routes like Eurostar and TGV Lyria.
Capture base fares, Prem's discounts, Business Première rates, and flexibility rules across all available seating classes.
Monitor train delays, cancellation notices, platform assignments, and official delay reasons directly from the live departure boards.
Extract official carbon emission estimates per passenger journey to power corporate ESG reporting and green travel tools.
Parse complex itineraries including layover durations, station transfers, and multi-carrier ticketing rules.
Map station facilities, accessibility features, opening hours, and local transit connections for thousands of European stops.
Capture network-wide disruption notices, revised timetables, and substitute bus transport details during industrial action.
Scrape the 30-day low-fare calendar to identify pricing trends and optimal travel windows for OTA integrations.
Run bulk historical extracts or configure continuous polling at minute-level cadences for live disruption monitoring.
Brief in. Clean data out.
Provide origin-destination pairs, station codes, or specific train numbers. We design the extraction schema together.
We configure Playwright crawlers, European proxy rotation, session management, and bot mitigation for sncf.com.
Schema validation, null-rate checks, price-outlier detection, and schedule verification before full launch.
JSON, CSV, or Parquet pushed to your S3 bucket, BigQuery dataset, or Snowflake stage on agreed cadence.
Travel aggregators invest heavily in scraping detection. Here is how we stay resilient and maintain continuous data flow.
SNCF Connect utilises advanced bot protection like Datadome. Our crawlers use French residential ISP proxies with realistic browser fingerprints, randomised request timing, and full TLS spoofing to maintain high success rates.
The SNCF booking flow is a complex Single Page Application. We run full Playwright browser sessions with JavaScript execution, step-by-step form completion, and dynamic price hydration to capture data that basic HTTP clients miss.
Extracting final pricing requires maintaining state across multiple search steps. Our infrastructure handles session cookies, CSRF tokens, and temporary booking holds to reach the final fare matrix without triggering rate limits.
Real-time delay tracking requires polling departure boards every few minutes. We distribute these requests across thousands of clean European IP addresses to prevent temporary bans and ensure sub-minute data freshness.
SNCF frequently updates its UI for seasonal promotions. Our selector strategy uses multiple fallback chains per field, including internal API interception, so frontend layout changes do not interrupt your data feed.
Online travel agencies integrate SNCF schedules and pricing into multi-modal booking engines alongside flights and buses.
Coach operators and regional airlines monitor TGV and OUIGO pricing to adjust their own dynamic fare models.
Corporate travel platforms extract official CO2 emission metrics to calculate and report ESG compliance for business trips.
Data science teams train machine learning models on historical delay data and weather patterns to predict future network disruptions.
Mapping and logistics applications ingest live station data to optimise last-mile connections and urban transit routing.
Expense software providers verify ticket prices and enforce travel policy compliance using historical fare matrices.
"SNCF Connect operates one of the most complex pricing matrices in European transit. Querying it at scale requires dedicated infrastructure."
Most teams underestimate the complexity of travel aggregation. Reliable SNCF scraping requires residential European proxies, full JavaScript execution for pricing matrices, Datadome evasion, and anomaly monitoring. DataFlirt absorbs that complexity so your engineers can focus on the analysis.
Everything supported by our sncf.com scraper — rendered SPA elements, auth walls, rate-limit evasion and beyond.
Open-source tooling on proven cloud infra — no vendor lock-in, full observability.
Scrapy handles route orchestration and deduplication. Playwright handles JavaScript rendering, session cookies, and multi-step search flows. Combined via scrapy-playwright middleware.
We maintain pools of residential ISP proxies across France and neighbouring regions. Rotation happens per-session to maintain stateful booking flows without triggering geographic blocks.
Pipelines run on AWS Lambda for burst scaling and ECS for sustained polling. Airflow handles scheduling and SLA alerting. All state is stored in managed Postgres.
Data delivered to where your team already works — no new tooling required.
About sncf.com scraping, legality, and pipeline operations.
Ask us directly →Scraping publicly available timetable and pricing information is generally permissible for non-disruptive use cases. DataFlirt targets only public, non-authenticated search results. We do not extract personal passenger data, circumvent authentication walls for private bookings, or violate GDPR. Clients should review SNCF Connect terms of service and consult legal counsel for specific commercial applications.
We use French residential ISP proxies, full Playwright browser sessions with realistic TLS fingerprints, and request timing modelled on human behaviour. We monitor for challenge spikes in real time and trigger automated solver queues or pool rotation automatically.
Yes. Our pipeline processes search results that include premium TGV INOUI services, low-cost OUIGO options, regional TER trains, and Intercités routes, normalising the distinct fare classes into a unified schema.
For specified train numbers or stations, our real-time streaming pipelines can achieve sub-minute latency for delay and platform updates, pushing changes via webhook immediately upon detection.
We begin logging time-series data from the day your pipeline is commissioned. We do not maintain a retroactive database of historical delays prior to pipeline activation.
Our smallest packages start at a defined list of 500 origin-destination pairs with daily delivery. For high-frequency polling or comprehensive network extraction, we price based on compute volume and delivery frequency.
Yes. We provide a sample run of up to 50 routes or 24 hours of live station data as part of the pre-engagement scoping process, allowing you to validate schema fit and data quality.
20-minute scoping call. Pilot dataset within the week. Production within two. Whether you need a one-off route matrix export or continuous live status polling across the French rail network, we scope, build, and operate the pipeline. Tell us what you need.