SYSTEM all green source irctc.co.in queue 12,492 routes p99 latency 312ms dataflirt.com · scraper/irctc-co
RUN · 14 active pipelines · irctc.co.in live

IRCTC data,
at warehouse scale.

We extract train schedules, seat availability, dynamic fare charts, route maps, and station metadata from IRCTC. Delivered as clean JSON, CSV, or Parquet to S3, BigQuery, or Snowflake on your cadence.

Trains tracked
11,842 /day
Availability checks
4.2M /24h
PNR status lookups
85K /run
Active pipelines
14
Uptime
99.85%
Data Dictionary

Every field we extract from irctc.co.in

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 irctc.co.in. All fields typed and schema-versioned.

train_numbertrain_namesource_stationdest_stationdeparture_timearrival_timetravel_timerun_daysclasses_availabledistance_km
train_schedules
● 200 OK
"train_number": "12951",
"train_name": "MUMBAI RAJDHANI",
"source_station": "MMCT",
"dest_station": "NDLS",
"departure_time": "17:00",
"arrival_time": "08:32"
# train_numbertrain_namesource_stationdest_stationdeparture_timearrival_time
1
2
3

Complete list of extractable fields for Seat Availability objects from irctc.co.in. All fields typed and schema-versioned.

train_numberdateclass_typequotaavailable_seatswaitlist_statusrac_statusconfirmation_probabilitylast_updated
seat_availability
● 200 OK
"train_number": "12951",
"date": "2026-10-14",
"class_type": "3A",
"quota": "GN",
"available_seats": 0,
"waitlist_status": "WL45"
# train_numberdateclass_typequotaavailable_seatswaitlist_status
1
2
3

Complete list of extractable fields for Fare Data objects from irctc.co.in. All fields typed and schema-versioned.

train_numberclass_typebase_farereservation_chargesuperfast_chargegsttotal_faredynamic_fare_appliedtatkal_charge
fare_data
● 200 OK
"train_number": "12951",
"class_type": "3A",
"base_fare": 1850.0,
"reservation_charge": 40.0,
"superfast_charge": 45.0,
"total_fare": 2150.0
# train_numberclass_typebase_farereservation_chargesuperfast_chargegst
1
2
3

Complete list of extractable fields for Route Map objects from irctc.co.in. All fields typed and schema-versioned.

train_numberstation_codestation_namearrival_timedeparture_timehalt_durationday_countdistance_from_source
route_map
● 200 OK
"train_number": "12951",
"station_code": "ST",
"station_name": "SURAT",
"arrival_time": "19:43",
"departure_time": "19:48",
"halt_duration": "5m"
# train_numberstation_codestation_namearrival_timedeparture_timehalt_duration
1
2
3

Complete list of extractable fields for Station Metadata objects from irctc.co.in. All fields typed and schema-versioned.

station_codestation_namezonestatedivisionlatitudelongitudenumber_of_platformsconnecting_lines
station_metadata
● 200 OK
"station_code": "NDLS",
"station_name": "NEW DELHI",
"zone": "NR",
"state": "Delhi",
"number_of_platforms": 16,
"latitude": 28.6415
# station_codestation_namezonestatedivisionlatitude
1
2
3

Capabilities

Everything you need from IRCTC, nothing you do not

Our IRCTC scraper handles every layer of the platform: train schedules, real-time seat availability, route maps, and dynamic fare charts, with session management and anti-bot circumvention built in.

Train Schedule Extraction

Train names, numbers, running days, source, destination, and exact timings scraped across the entire railway network.

Real-Time Seat Availability

Track available seats, RAC status, and Waitlist numbers across all classes and quotas for any given date.

Fare & Dynamic Pricing

Extract base fares, reservation charges, GST, and dynamic pricing multipliers applied to premium trains.

Route & Halt Mapping

Parse complete route maps including intermediate stations, arrival times, departure times, and halt durations.

PNR Status Polling

Batch query PNR numbers to track confirmation status, chart preparation, and current passenger status.

Quota Tracking

Monitor seat availability across General, Tatkal, Premium Tatkal, Ladies, and Senior Citizen quotas.

Station Metadata Parsing

Extract station codes, full names, zones, states, and platform details to normalise your internal databases.

Multi-Class Monitoring

Track data across 1A, 2A, 3A, SL, CC, EC, and 2S classes simultaneously.

Scheduled & Streaming Modes

Run one-off bulk exports or configure continuous pipelines at hourly, daily, or real-time cadences.

// engagement pipeline

From route list to warehouse record

Brief in. Clean data out.

Define Scope
d 0

Provide train numbers, station codes, or route pairs. We design the extraction schema together.

Pipeline Build
d 2–4

We configure Scrapy and Playwright crawlers, proxy rotation, session management, and CAPTCHA handling for irctc.co.in.

Validation & QA
d 4–6

Schema validation, null-rate checks, and availability outlier detection 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 IRCTC pipeline handles the hard parts

IRCTC invests heavily in scraping detection and rate limiting. Here is how we stay resilient, and why teams choose managed infrastructure over DIY.

pipeline-monitor · irctc.co.in · 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
CAPTCHA bypass
Aggressive CAPTCHA solving at scale

IRCTC deploys complex image and text CAPTCHAs during login and availability queries. We route these challenges through 2Captcha and CapSolver APIs with automated retry logic to maintain pipeline throughput.

Session timeouts
Strict session state management

IRCTC terminates idle sessions aggressively. Our Playwright orchestrator maintains active heartbeat requests, rotates cookies, and handles forced logouts without dropping data payloads.

Rate limiting
IP rotation and traffic shaping

Querying availability too quickly results in IP bans. We distribute requests across Indian residential proxy pools, injecting randomised delays to mimic human interaction and avoid rate limit thresholds.

Dynamic DOM
Resilient selectors for legacy code

The IRCTC web application relies on complex, nested DOM structures that change without notice. Our selector strategy uses structural fallbacks to ensure data extraction continues even when UI elements shift.

Traffic spikes
Handling Tatkal hour congestion

During peak booking windows (10:00 AM and 11:00 AM), IRCTC servers routinely throw 503 errors. Our pipelines implement exponential backoff and automatic scaling to capture data when the servers recover.

Applications

Who uses IRCTC data, and how

Teams across industries use irctc.co.in data to build competitive products and smarter operations.

01
OTA Booking Platforms

Travel agencies use schedule and availability data to construct alternative routing options for waitlisted passengers.

02
Travel Aggregators

Aggregators combine IRCTC schedules with flight and bus data to offer multi-modal transport itineraries.

03
Dynamic Pricing Models

Competitor transport providers track dynamic fare surges on premium trains to optimise their own pricing algorithms.

04
Logistics & Freight Planning

Supply chain teams monitor train running status and schedules to coordinate last-mile delivery operations at railway stations.

05
Demand Forecasting

Analysts correlate waitlist velocity and seat depletion rates to predict regional travel demand during festivals.

06
AI Travel Assistants

Machine learning teams use historical schedule and delay datasets to train predictive models for train punctuality.

Why DataFlirt

"IRCTC is the backbone of Indian travel data, but its infrastructure is notoriously difficult to query programmatically at scale."

Most teams underestimate the investment required: reliable IRCTC scraping requires Indian residential proxies, complex CAPTCHA solving, strict session management, and handling aggressive rate limits. DataFlirt absorbs that complexity so your engineers can focus on the analysis, not the infrastructure.

Technical Spec

IRCTC scraper — technical capabilities

Everything supported by our irctc.co.in scraper — rendered SPA elements, auth walls, rate-limit evasion and beyond.

JavaScript rendering
Full Playwright sessions required for dynamic availability loading
Supported
CAPTCHA bypass
Automated 2Captcha and CapSolver integration for login and queries
Supported
Residential proxy rotation
ISP-grade residential IPs from Indian pools rotated per request
Supported
Seat availability tracking
Real-time extraction of waitlist and RAC status
Supported
Route map extraction
Full station halt schedules and distances
Supported
PNR status checks
Batch PNR queries for passenger confirmation probability
Supported
Tatkal quota monitoring
Tracking premium and standard tatkal seat counts
Supported
Change detection
Hash-based diff to emit only changed schedule or fare records
Supported
User ticket booking automation
Automated ticket purchasing requires manual payment authorisations
Partial
User profile extraction
Extracting historical booking data from third-party user accounts
Partial
Infrastructure

Infrastructure powering the IRCTC 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 crawl orchestration and retry logic. Playwright handles JavaScript rendering, cookie sessions, and interaction flows required by the IRCTC portal.

Residential Proxy Infrastructure

We maintain pools of residential ISP proxies across Indian regions. Rotation happens per request with sticky sessions to bypass IRCTC rate limits.

Cloud-Native Orchestration

Pipelines run on AWS Lambda and ECS. Airflow handles scheduling, dependency management, and SLA alerting. All state 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 schema versioned per run
CSV
Flat file with typed columns for quick analysis
XLS
Excel compatible format for business teams
Parquet
Columnar format for BigQuery, Snowflake, Athena
AWS S3
Direct bucket delivery compatible with any data lake
Webhook
HTTP POST per record for real-time downstream processing
API
REST endpoints to query extracted datasets on demand
BigQuery
Streamed directly into your dataset with schema auto-detect
Snowflake
Stage and COPY INTO workflow for incremental updates
Postgres
Upsert into your existing schema with conflict resolution
S3
Direct bucket delivery — compatible with any data lake
// faq

Common questions.

About irctc.co.in scraping, legality, and pipeline operations.

Ask us directly →
Is scraping IRCTC legal?

Scraping publicly available train schedules and availability data is generally permissible. DataFlirt targets only public, non-authenticated route and fare data. We do not automate ticket purchasing or bypass payment gateways. Clients should review IRCTC terms of service and consult legal counsel for specific use cases.

How do you handle IRCTC CAPTCHAs?

We route image and text CAPTCHAs through automated solving APIs like 2Captcha and CapSolver. For complex interactions, we maintain fallback queues to ensure pipeline continuity.

Can you track availability during Tatkal hours?

Yes. While IRCTC servers experience severe congestion between 10:00 AM and 11:15 AM, our pipelines use exponential backoff and retry logic to capture availability data as soon as the servers respond.

How fresh is the availability data?

Real-time streaming pipelines achieve sub-5-minute latency for seat availability signals on a defined set of train numbers and dates.

Do you extract dynamic fare pricing?

Yes. We extract base fares, reservation charges, GST, and the dynamic fare multipliers applied to premium trains like Rajdhani, Shatabdi, and Duronto.

What is the minimum viable engagement?

Our smallest packages start at a defined list of 500 routes or train numbers with daily delivery. For larger network scans or real-time polling, we price based on volume and frequency. Contact us for a scoped quote.

$ dataflirt scope --new-project --source=irctc.co.in 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 static database of station codes or a continuous availability feed across 10,000 routes, 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 →