SYSTEM all green source sncf.com queue 12,941 routes p99 latency 312ms dataflirt.com · scraper/sncf-com
RUN · 87 active pipelines · sncf.com live

SNCF transit data,
at warehouse scale.

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.

Schedules extracted
1.2M /day
Price updates
4.8M /24h
Delay alerts
154K /run
Active pipelines
87
Uptime
99.94%
Data Dictionary

Every field we extract from sncf.com

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_iddeparture_stationarrival_stationdeparture_timearrival_timeduration_minutestrain_typetrain_numberstops_countco2_emission_kg
train_schedules
● 200 OK
"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_iddeparture_stationarrival_stationdeparture_timearrival_timeduration_minutes
1
2
3

Complete list of extractable fields for Pricing & Fare Classes objects from sncf.com. All fields typed and schema-versioned.

train_idclass_typefare_namepricecurrencyflexibility_rulesremaining_seatsbooking_classpromotion_codescraped_at
pricing_& fare classes
● 200 OK
"train_id": "TGV-8371-20261012",
"class_type": "Seconde",
"fare_name": "Billet Modifiable",
"price": 89.0,
"currency": "EUR",
"remaining_seats": 12
# train_idclass_typefare_namepricecurrencyflexibility_rules
1
2
3

Complete list of extractable fields for Live Status & Delays objects from sncf.com. All fields typed and schema-versioned.

train_numberdatecurrent_statusdelay_minutesdelay_reasonplatform_departureplatform_arrivallast_updatedis_cancelledsubstitute_transport
live_status & delays
● 200 OK
"train_number": "8371",
"current_status": "Delayed",
"delay_minutes": 15,
"delay_reason": "Traffic congestion",
"platform_departure": "Hall 1, Track M",
"is_cancelled": false
# train_numberdatecurrent_statusdelay_minutesdelay_reasonplatform_departure
1
2
3

Complete list of extractable fields for Station Data objects from sncf.com. All fields typed and schema-versioned.

station_codestation_namecitycountrylatitudelongitudefacilitiesopening_hourswheelchair_accessibletransit_connections
station_data
● 200 OK
"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_codestation_namecitycountrylatitudelongitude
1
2
3

Complete list of extractable fields for Route Search Results objects from sncf.com. All fields typed and schema-versioned.

origindestinationtravel_datetotal_resultscheapest_pricefastest_durationdirect_trains_countconnection_trains_countsearch_timestampsession_id
route_search results
● 200 OK
"origin": "Paris",
"destination": "Bordeaux",
"travel_date": "2026-10-12",
"total_results": 24,
"cheapest_price": 35.0,
"direct_trains_count": 18
# origindestinationtravel_datetotal_resultscheapest_pricefastest_duration
1
2
3

Capabilities

Complete visibility into the French rail network

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.

Full Network Coverage

Extract data across TGV INOUI, OUIGO, TER, Intercités, and international partner routes like Eurostar and TGV Lyria.

Dynamic Pricing Matrices

Capture base fares, Prem's discounts, Business Première rates, and flexibility rules across all available seating classes.

Real-Time Status Updates

Monitor train delays, cancellation notices, platform assignments, and official delay reasons directly from the live departure boards.

CO2 & Sustainability Metrics

Extract official carbon emission estimates per passenger journey to power corporate ESG reporting and green travel tools.

Multi-Hop Connection Mapping

Parse complex itineraries including layover durations, station transfers, and multi-carrier ticketing rules.

Station Infrastructure Data

Map station facilities, accessibility features, opening hours, and local transit connections for thousands of European stops.

Strike & Disruption Alerts

Capture network-wide disruption notices, revised timetables, and substitute bus transport details during industrial action.

Calendar Matrix Extraction

Scrape the 30-day low-fare calendar to identify pricing trends and optimal travel windows for OTA integrations.

Scheduled + Streaming Modes

Run bulk historical extracts or configure continuous polling at minute-level cadences for live disruption monitoring.

// engagement pipeline

From route list to warehouse record

Brief in. Clean data out.

Define Scope
d 0

Provide origin-destination pairs, station codes, or specific train numbers. We design the extraction schema together.

Pipeline Build
d 2–4

We configure Playwright crawlers, European proxy rotation, session management, and bot mitigation for sncf.com.

Validation & QA
d 4–6

Schema validation, null-rate checks, price-outlier detection, and schedule verification before full launch.

Delivery
ongoing

JSON, CSV, or Parquet pushed to your S3 bucket, BigQuery dataset, or Snowflake stage on agreed cadence.

Under the hood

How our SNCF pipeline handles the hard parts

Travel aggregators invest heavily in scraping detection. Here is how we stay resilient and maintain continuous data flow.

pipeline-monitor · sncf.com · live ● active
// fingerprinting
Identity rotation
TLS fingerprintrandomised
User-agentrotated
IP poolresidential
Challenges blocked0
// pagination
Page coverage
48,291 pages queued running
// observability
Pipeline health
99.9%
uptime
142ms
p99 lat
0.3%
null rate
2
alerts
Anti-bot layer
Datadome evasion and fingerprint spoofing

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.

JavaScript rendering
Full Playwright execution for SPA content

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.

Session management
Stateful multi-step routing

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.

High-frequency polling
Live status without IP bans

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.

Schema stability
Resilient selectors with fallback chains

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.

Applications

Who uses SNCF data and how

Teams across industries use sncf.com data to build competitive products and smarter operations.

01
OTA Aggregation

Online travel agencies integrate SNCF schedules and pricing into multi-modal booking engines alongside flights and buses.

02
Competitor Price Benchmarking

Coach operators and regional airlines monitor TGV and OUIGO pricing to adjust their own dynamic fare models.

03
Carbon Footprint Auditing

Corporate travel platforms extract official CO2 emission metrics to calculate and report ESG compliance for business trips.

04
Delay Prediction Modeling

Data science teams train machine learning models on historical delay data and weather patterns to predict future network disruptions.

05
Multi-Modal Routing

Mapping and logistics applications ingest live station data to optimise last-mile connections and urban transit routing.

06
Corporate Travel Management

Expense software providers verify ticket prices and enforce travel policy compliance using historical fare matrices.

Why DataFlirt

"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.

Technical Spec

SNCF scraper technical capabilities

Everything supported by our sncf.com scraper — rendered SPA elements, auth walls, rate-limit evasion and beyond.

JavaScript rendering
Full Playwright sessions required for SPA booking flows and dynamic price widgets
Supported
CAPTCHA bypass
Automated solver integration for Datadome and Cloudflare challenges
Supported
Residential proxy rotation
ISP-grade residential IPs from French and European pools
Supported
Real-time status
High-frequency polling for delays, platform changes, and cancellations
Supported
Multi-leg journeys
Extraction of complex itineraries with multiple carrier transfers
Supported
Historical delays
Time-series recording of train punctuality across specified routes
Supported
Change detection (diffs)
Hash-based diff to only emit records with changed prices or status
Supported
Discount card pricing
Fares requiring validated Carte Avantage or regional subscription numbers
Partial
Passenger PNR retrieval
Access to specific bookings gated by reference code and surname
Partial
Infrastructure

Infrastructure powering the SNCF pipeline

Open-source tooling on proven cloud infra — no vendor lock-in, full observability.

ScrapyPlaywrightPython 3.12RedisPostgreSQLApache AirflowAWS LambdaS3CloudWatch2CaptchaCapSolverResidential ProxiesDockerKubernetesGrafanaPrometheus
Scrapy + Playwright Stack

Scrapy handles route orchestration and deduplication. Playwright handles JavaScript rendering, session cookies, and multi-step search flows. Combined via scrapy-playwright middleware.

European Proxy Infrastructure

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.

Cloud-Native Orchestration

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.

Output & Delivery

Your data, your destination

Data delivered to where your team already works — no new tooling required.

JSON
Newline-delimited or nested arrays for hierarchical itinerary data
CSV
Flat file with typed columns for direct analyst use
XLS
Excel compatible format for manual review and reporting
Parquet
Columnar format optimised for BigQuery and Snowflake
AWS S3
Direct bucket delivery compatible with any data lake
Webhook
HTTP POST per record for real-time delay alerting
API
REST endpoints to query extracted schedules on demand
BigQuery
Streamed directly into your dataset with schema auto-detect
Snowflake
Stage and COPY INTO workflow for continuous ingestion
Postgres
Upsert into your existing schema with conflict resolution
S3
Direct bucket delivery — compatible with any data lake
// faq

Common questions.

About sncf.com scraping, legality, and pipeline operations.

Ask us directly →
Is scraping SNCF legal?

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.

How do you handle Datadome and bot mitigation?

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.

Can you extract data from both TGV and OUIGO?

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.

How fresh is the live status data?

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.

Do you provide historical delay data?

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.

What is the minimum viable engagement?

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.

Can I request a sample dataset before committing?

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.

$ dataflirt scope --new-project --source=sncf.com ready

Tell us what
to extract.
We do the rest.

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.

hello@dataflirt.com · Bengaluru · IST · typical reply < 4h
Related Scrapers

More in travel flights hotels buses

Services

Data Extraction for Every Industry

View All Services →