SYSTEM all green source tourradar.com queue 12,841 tours p99 latency 185ms dataflirt.com · scraper/tourradar-com
RUN · 64 active pipelines · tourradar.com live

TourRadar data,
at warehouse scale.

We extract multi-day tour itineraries, operator intelligence, dynamic availability pricing, and customer reviews from TourRadar. Delivered as clean JSON, CSV, or Parquet to S3, BigQuery, or Snowflake on your cadence.

Tours extracted
48.2K /run
Price updates
1.2M /24h
Review records
315K /run
Active pipelines
64
Uptime
99.94%
Data Dictionary

Every field we extract from tourradar.com

Structured, schema-consistent data across all major object types — delivered clean, typed, and ready to query.

Complete list of extractable fields for Tour Metadata objects from tourradar.com. All fields typed and schema-versioned.

tour_idtitleoperatorduration_daysstart_locationend_locationcountries_visitedphysical_ratingage_rangemax_group_sizetravel_styleprimary_languagetour_url
tour_metadata
● 200 OK
"tour_id": "T84921",
"title": "Everest Base Camp Trek",
"operator": "Intrepid Travel",
"duration_days": 15,
"start_location": "Kathmandu, Nepal",
"physical_rating": "Challenging",
"max_group_size": 12,
"travel_style": "Active"
# tour_idtitleoperatorduration_daysstart_locationend_location
1
2
3

Complete list of extractable fields for Pricing & Availability objects from tourradar.com. All fields typed and schema-versioned.

tour_iddeparture_datereturn_datebase_pricediscounted_pricediscount_pctcurrencyavailability_statusavailability_countbooking_urgencyscraped_at
pricing_& availability
● 200 OK
"tour_id": "T84921",
"departure_date": "2026-09-14",
"return_date": "2026-09-28",
"base_price": 1450.0,
"discounted_price": 1305.0,
"discount_pct": 10,
"currency": "USD",
"availability_status": "Available",
"availability_count": 4
# tour_iddeparture_datereturn_datebase_pricediscounted_pricediscount_pct
1
2
3

Complete list of extractable fields for Daily Itinerary objects from tourradar.com. All fields typed and schema-versioned.

tour_idday_numberday_titleday_descriptionaccommodation_includedmeals_includedactivities_includedoptional_activitiestravel_time_hours
daily_itinerary
● 200 OK
"tour_id": "T84921",
"day_number": 3,
"day_title": "Trek to Namche Bazaar",
"day_description": "We begin our trek following the Dudh Kosi river...",
"accommodation_included": "Teahouse",
"meals_included": "['Breakfast', 'Dinner']",
"activities_included": "['Sagarmatha National Park Entry']",
"travel_time_hours": 6.5
# tour_idday_numberday_titleday_descriptionaccommodation_includedmeals_included
1
2
3

Complete list of extractable fields for Inclusions & Exclusions objects from tourradar.com. All fields typed and schema-versioned.

tour_idguide_typemeals_summarytransport_summaryaccommodation_summaryflights_includedinsurance_requiredcancellation_policyvisa_support
inclusions_& exclusions
● 200 OK
"tour_id": "T84921",
"guide_type": "English speaking local guide",
"meals_summary": "14 breakfasts, 0 lunches, 14 dinners",
"transport_summary": "Plane, Trekking",
"accommodation_summary": "Teahouse (12 nts), Hotel (2 nts)",
"flights_included": false,
"insurance_required": true
# tour_idguide_typemeals_summarytransport_summaryaccommodation_summaryflights_included
1
2
3

Complete list of extractable fields for Reviews & Ratings objects from tourradar.com. All fields typed and schema-versioned.

review_idtour_idreviewer_namereview_dateoverall_ratingguide_ratingtransport_ratingitinerary_ratingreview_texttraveller_type
reviews_& ratings
● 200 OK
"review_id": "REV991823",
"tour_id": "T84921",
"overall_rating": 4.8,
"guide_rating": 5.0,
"itinerary_rating": 4.5,
"review_text": "An incredible experience. Our guide Pasang was exceptional.",
"traveller_type": "Solo Traveller",
"review_date": "2025-11-04"
# review_idtour_idreviewer_namereview_dateoverall_ratingguide_rating
1
2
3

Capabilities

Everything you need from TourRadar - nothing you don't

Our TourRadar scraper handles the entire platform: dynamic availability calendars, complex multi-day itineraries, operator metadata, and paginated review sets - bypassing bot protections automatically.

Full Itinerary Extraction

Extract daily schedules, accommodation types, included meals, and optional activities mapped precisely to the day number.

Dynamic Availability & Pricing

Capture departure dates, return dates, seasonal pricing fluctuations, and remaining seat counts rendered via JavaScript.

Operator Intelligence

Track offerings from G Adventures, Intrepid, and thousands of local operators. Monitor their portfolio size and pricing strategies.

Inclusion/Exclusion Mapping

Structured extraction of what is covered: meal counts, transport modes, flight inclusions, and insurance requirements.

Review & Rating Mining

Collect overall ratings alongside specific sub-ratings for guides, transport, and itineraries across paginated review histories.

Route & Location Data

Extract exact start and end cities, total countries visited, and intermediate stops to build geospatial routing models.

Physical & Age Demographics

Categorise tours by physical exertion levels, minimum/maximum age limits, and target traveller styles.

Multi-Currency Support

Capture pricing in localized currencies to monitor regional price discrimination and exchange rate adjustments.

Scheduled + Streaming Modes

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

// engagement pipeline

From tour list to warehouse record

Brief in. Clean data out.

Define Scope
d 0

Provide region URLs, operator lists, or search parameters. We design the extraction schema together.

Pipeline Build
d 2–4

We configure Scrapy / Playwright crawlers, proxy rotation, and session management tailored for TourRadar.

Validation & QA
d 4–6

Schema validation, null-rate checks, and calendar availability verification before full launch.

Delivery
ongoing

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

Under the hood

How our TourRadar pipeline handles the hard parts

TourRadar uses dynamic client-side rendering for availability and pricing. Here is how we extract it reliably.

pipeline-monitor · tourradar.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
Dynamic calendar rendering
Playwright execution for availability

TourRadar's departure dates and prices are rendered dynamically via JavaScript based on user session state. We use Playwright to hydrate the calendar widgets and extract the full matrix of upcoming departures.

Anti-bot layer
Residential proxy rotation

Frequent scraping of pricing endpoints triggers rate limits. We distribute requests across residential IP pools with localized headers to ensure uninterrupted access to regional pricing data.

Schema stability
Resilient selectors for complex pages

Tour pages have highly variable layouts depending on the operator. We use multi-layered extraction rules to normalise daily itineraries, regardless of how the operator formatted their text.

Change detection
Only re-scrape changed prices

For large catalogues, we maintain a hash index of availability dates. Subsequent runs only push diffs, reducing compute cost and downstream processing load.

Monitoring & alerting
24/7 pipeline health

Every run emits structured logs. We alert on null-rate spikes in pricing fields or missing itinerary days, ensuring data completeness.

Applications

Who uses TourRadar data - and how

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

01
OTA Competitor Tracking

Online travel agencies monitor pricing, discount strategies, and operator coverage to ensure competitive parity.

02
Operator Market Research

Tour operators analyse competitor itineraries, inclusion standards, and pricing models to design better travel products.

03
Dynamic Pricing Engines

Revenue managers adjust local pricing based on TourRadar availability metrics and seasonal demand signals.

04
Travel Aggregation

Meta-search engines enrich their own databases with structured itinerary data and operator reviews.

05
Review Sentiment Analysis

Hospitality groups analyse guide performance and accommodation feedback across thousands of tours to identify quality trends.

06
Trend Forecasting

Market analysts identify growing travel regions and shifting demographic preferences based on new tour listings.

Why DataFlirt

"TourRadar aggregates the world's multi-day tours, but standardising thousand-page itineraries into queryable tables requires dedicated extraction infrastructure."

Most teams underestimate the investment required: reliable TourRadar scraping requires residential proxies, full JavaScript rendering for availability calendars, daily selector maintenance, and anomaly monitoring. DataFlirt absorbs that complexity so your engineers can focus on the analysis, not the infrastructure.

Technical Spec

TourRadar scraper - technical capabilities

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

JavaScript rendering
Playwright sessions required for availability calendars and dynamic pricing
Supported
CAPTCHA bypass
Automated solver integration for rate-limit challenges
Supported
Residential proxy rotation
ISP-grade residential IPs to prevent blocking and capture localized pricing
Supported
Itinerary unrolling
Nested JSON arrays mapping day numbers to activities and accommodations
Supported
Operator mapping
Standardised extraction of operator names and profile links
Supported
Currency normalization
Capture raw currency strings and numeric values for downstream conversion
Supported
Change detection (diffs)
Hash-based diff to emit only records with changed pricing or availability
Supported
Webhook delivery
HTTP POST per record or batch for real-time integration
Supported
User account booking history
Past bookings and payment details gated behind user authentication
Partial
Private operator messaging
Direct communication logs gated behind the operator portal
Partial
Infrastructure

Infrastructure powering the TourRadar 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 deduplication. Playwright handles JavaScript rendering for availability calendars. Combined via scrapy-playwright middleware.

Residential Proxy Infrastructure

We maintain pools of residential ISP proxies across global regions. Rotation happens per-request to prevent IP bans and capture correct regional pricing.

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 - perfect for complex itineraries
CSV
Flat file with typed columns - Excel/Sheets compatible
Parquet
Columnar format for BigQuery, Snowflake, Athena
S3
Direct bucket delivery - compatible with any data lake
BigQuery
Streamed directly into your dataset with schema auto-detect
Webhook
HTTP POST per record for real-time downstream processing
Postgres
Upsert into your existing schema with conflict resolution
API
REST endpoints to query your extracted data on demand
// faq

Common questions.

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

Ask us directly →
Is scraping TourRadar legal?

Scraping publicly available information from TourRadar is generally permissible under applicable law. DataFlirt targets only public, non-authenticated tour, pricing, and review data. We do not extract personal user data or circumvent authentication walls.

How do you handle TourRadar's availability calendars?

We use Playwright to execute the client-side JavaScript that renders the availability widgets, capturing the full matrix of departure dates, prices, and remaining seats.

Can you extract daily itinerary breakdowns?

Yes. We extract daily schedules as nested JSON arrays, parsing out day numbers, titles, descriptions, included meals, and accommodation types.

How fresh is the pricing data?

We can configure pipelines to run daily or weekly depending on your needs. For specific high-priority tours, we can run intra-day checks.

Do you support multi-currency extraction?

Yes. We capture the exact currency and numeric value displayed based on the regional proxy used during the crawl.

What is the minimum viable engagement?

Our smallest packages start at a defined geographic region or operator list with weekly delivery. We price based on volume and delivery frequency.

Can I request a sample dataset?

Absolutely. We provide a sample run of up to 100 tours as part of the pre-engagement scoping process so you can validate schema fit and data quality.

$ dataflirt scope --new-project --source=tourradar.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 catalogue dump or a continuous availability feed across 50,000 tours, we scope, build, and operate the pipeline. Tell us what you need.

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

Data Extraction for Every Industry

View All Services →