SYSTEM all green source raffles.com queue 14,208 dates p99 latency 312ms dataflirt.com · scraper/raffles-com
RUN * 18 active pipelines * raffles.com live

Raffles hotel data,
at warehouse scale.

We extract dynamic pricing, room availability, suite specifications, and package offers from Raffles. Delivered as clean JSON, CSV, or Parquet to S3, BigQuery, or Snowflake on your cadence.

Price updates
184K /day
Room types
1,420 /run
Availability checks
82K /24h
Active pipelines
18
Uptime
99.98%
Data Dictionary

Every field we extract from raffles.com

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

Complete list of extractable fields for Properties & Locations objects from raffles.com. All fields typed and schema-versioned.

hotel_idnameregioncountrycitystar_ratingtotal_roomstotal_suitescoordinate_latcoordinate_lngdescription
properties_& locations
● 200 OK
"hotel_id": "RFL-SIN",
"name": "Raffles Singapore",
"country": "Singapore",
"city": "Singapore",
"total_suites": 115,
"coordinate_lat": 1.2949,
"coordinate_lng": 103.8532,
"star_rating": 5
# hotel_idnameregioncountrycitystar_rating
1
2
3

Complete list of extractable fields for Room & Suite Types objects from raffles.com. All fields typed and schema-versioned.

hotel_idroom_idnamecategorymax_occupancybed_typesize_sqmview_typedescriptionamenities_list
room_& suite types
● 200 OK
"room_id": "STE-PRM",
"name": "Promenade Suite",
"category": "Suite",
"max_occupancy": 3,
"size_sqm": 85,
"bed_type": "King",
"view_type": "Courtyard"
# hotel_idroom_idnamecategorymax_occupancybed_type
1
2
3

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

hotel_idroom_idcheck_in_datecheck_out_dateloscurrencybase_ratetaxestotal_rateis_availablerate_typecancel_policy
pricing_& availability
● 200 OK
"hotel_id": "RFL-SIN",
"room_id": "STE-PRM",
"check_in_date": "2024-11-12",
"check_out_date": "2024-11-14",
"currency": "SGD",
"base_rate": 1850.0,
"total_rate": 2199.65,
"is_available": true
# hotel_idroom_idcheck_in_datecheck_out_dateloscurrency
1
2
3

Complete list of extractable fields for Dining & Restaurants objects from raffles.com. All fields typed and schema-versioned.

hotel_idvenue_idnamecuisinedress_codeoperating_hoursmenu_urlreservation_requireddescription
dining_& restaurants
● 200 OK
"venue_id": "DIN-TIF",
"name": "Tiffin Room",
"cuisine": "North Indian",
"dress_code": "Smart Casual",
"reservation_required": true,
"operating_hours": "12:00 PM to 2:00 PM, 6:30 PM to 9:30 PM"
# hotel_idvenue_idnamecuisinedress_codeoperating_hours
1
2
3

Complete list of extractable fields for Offers & Packages objects from raffles.com. All fields typed and schema-versioned.

hotel_idoffer_idtitledescriptionvalid_fromvalid_tomin_staydiscount_pctinclusions_listterms_conditions
offers_& packages
● 200 OK
"offer_id": "OFF-JNY",
"title": "Join The Journey",
"min_stay": 2,
"discount_pct": 15,
"valid_from": "2024-01-01",
"valid_to": "2024-12-31",
"inclusions_list": "['Breakfast for two', 'Late check-out']"
# hotel_idoffer_idtitledescriptionvalid_fromvalid_to
1
2
3

Capabilities

Everything you need from Raffles

Our Raffles scraper handles the booking engine layer: dynamic pricing calendars, suite availability, tax breakdowns, and package inclusions. Built with session management and bot circumvention.

Property & Location Data

Extract global hotel directories, coordinate data, star ratings, and contact information for all Raffles properties.

Suite Specifications

Capture square meterage, bed configurations, maximum occupancy, and view types for every room and suite category.

Dynamic Rate Extraction

Track base rates, tax components, and total pricing across multiple dates and lengths of stay.

Availability Calendars

Monitor sold-out dates and inventory depth signals across specific room categories.

Dining & Spa Menus

Extract restaurant details, cuisine types, dress codes, operating hours, and spa service catalogues.

Package Deals

Capture advance purchase rates, bed and breakfast offers, and specific inclusion lists.

Multi-Currency Output

Normalise pricing data across local currencies or convert to a standard base currency during extraction.

Policy Extraction

Parse cancellation windows, deposit requirements, and guarantee rules for each rate type.

Scheduled Cadence

Run availability checks at hourly, daily, or weekly intervals with change-detection diffing.

// engagement pipeline

From hotel list to warehouse record

Brief in. Clean data out.

Define Scope
d 0

Provide target properties, date ranges, lengths of stay, and currency preferences. We design the schema.

Pipeline Build
d 2–4

We configure Scrapy crawlers, session management, and API request replication for the Raffles booking engine.

Validation & QA
d 4–6

Schema validation, null-rate checks, and price anomaly detection before full launch.

Delivery
ongoing

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

Under the hood

How our pipeline handles hotel booking engines

Hotel chains use complex session states and bot mitigation. Here is how we maintain reliable extraction.

pipeline-monitor · raffles.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
Session handling
Stateful booking flow replication

Booking engines require valid session tokens and sequential request patterns. Our crawlers maintain complete cookie jars and replicate the exact XHR request sequence a human user generates when searching for dates.

Bot mitigation
Residential proxies and header rotation

Hotel sites rely on Akamai and Cloudflare to block automated traffic. We use residential proxies and rotate TLS fingerprints to ensure high success rates on availability searches.

Rate limits
Controlled concurrency

Aggressive scraping triggers IP bans. We queue date searches across distributed workers with randomised delays, keeping request volumes within safe thresholds.

Data normalisation
Consistent tax and fee structures

Pricing displays vary by region. Some include taxes, others exclude them. We normalise all extracted rates to provide explicit base rate, tax component, and total rate fields.

Change detection
Only re-scrape what changes

We maintain a hash index of last-seen prices. Subsequent runs only push diffs, reducing compute cost and downstream processing load.

Applications

Who uses Raffles data

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

01
Competitor Rate Monitoring

Luxury hotel groups track Raffles pricing and availability to optimise their own daily rates and promotional offers.

02
Revenue Management

Revenue teams analyse length-of-stay pricing curves and advance purchase discounts to adjust inventory allocation.

03
OTA Parity Checks

Distribution managers monitor direct booking rates against OTA channels to ensure rate parity compliance.

04
Travel Aggregation

Luxury travel platforms ingest real-time availability to power their own booking interfaces.

05
Market Intelligence

Analysts track new property openings, suite configurations, and amenity trends in the ultra-luxury segment.

06
Demand Forecasting

Data teams correlate sell-out dates and price surges with local events to predict future market demand.

Why DataFlirt

"Hotel pricing is highly dynamic and location-dependent. You need a pipeline that handles session state and currency normalisation perfectly."

Extracting data from luxury hotel booking engines requires more than simple HTTP requests. It demands stateful session management, residential proxy rotation to bypass Akamai, and careful parsing of complex tax structures. DataFlirt handles this infrastructure so you receive clean pricing data.

Technical Spec

Raffles scraper technical capabilities

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

Booking API replication
Direct extraction from internal availability endpoints
Supported
Multi-date search
Iterative calendar scraping for 30, 60, or 90 day windows
Supported
Currency conversion
Extraction in local currency or requested base currency
Supported
Tax breakdown
Separation of base rate, local taxes, and service charges
Supported
Rate type classification
Identification of flexible, non-refundable, and package rates
Supported
Suite availability
Inventory checks for specific high-tier room categories
Supported
Residential proxies
ISP-grade IPs to bypass booking engine firewalls
Supported
Accor Live Limitless gated rates
Members-only pricing requires authenticated sessions
Partial
Guest booking history
Private user account data and past reservations
Partial
Infrastructure

Infrastructure powering the 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 orchestration and retry logic. Playwright manages JavaScript execution and complex booking session states.

Residential Proxy Infrastructure

Pools of residential IPs prevent Akamai blocks. Rotation happens per session to maintain booking flow integrity.

Cloud-Native Orchestration

Pipelines run on AWS ECS. Airflow handles scheduling and dependency management. Postgres stores pipeline state.

Output & Delivery

Your data, your destination

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

JSON
Newline-delimited or nested arrays
CSV
Flat file with typed columns
XLS
Excel compatible format for analysts
Parquet
Columnar format for data warehouses
AWS S3
Direct bucket delivery
Webhook
HTTP POST per record
API
REST endpoints for on-demand queries
BigQuery
Streamed directly into your dataset
S3
Direct bucket delivery — compatible with any data lake
// faq

Common questions.

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

Ask us directly →
Can you extract prices for specific lengths of stay?

Yes. We configure the crawler to check combinations of check-in dates and lengths of stay based on your exact requirements.

How do you handle taxes and fees?

We parse the booking summary to separate the base rate from local taxes, city taxes, and service charges, delivering a clean breakdown.

Do you bypass Akamai bot protection?

We use residential proxies, realistic browser headers, and controlled request rates to maintain high success rates against standard mitigation.

Can you extract Accor Live Limitless member rates?

No. We only extract publicly available rates. Member pricing requires authenticated user sessions, which we do not support.

How frequently can you check availability?

We support daily, hourly, or custom scheduled runs. High-frequency checks are distributed across larger proxy pools to avoid rate limits.

Do you capture cancellation policies?

Yes. The pipeline extracts the specific text regarding cancellation windows and deposit requirements for every rate type.

$ dataflirt scope --new-project --source=raffles.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 daily rate monitor or a complete property catalogue extraction, 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 →