Irmu
Travel & Places

Booking.com API

Hotel rates, availability, taxes and cancellation terms by market.

Start freePOST https://app.irmu.com/api/extract20 credits
Why

Why teams scrape Booking.com

Booking.com holds some of the most commercially useful public data on the web, and almost none of it is available through a stable official feed at the volume real products need. Rate limits, partner-only access and shifting page structures mean teams either give up on the source or maintain a fragile scraper that breaks every few weeks.

Hotel rates differ by point of sale, currency, device and loyalty status. Collecting them correctly requires reproducing the exact search context — not just fetching a URL.

Irmu removes the infrastructure question entirely. One authenticated request handles proxy selection, browser rendering, anti-bot challenges and retries, and AI Extract turns the resulting page into validated JSON against a schema you define. You get hotel_name, price_total, price_per_night, currency, taxes_fees, rating, free_cancellation, rooms_left, location without writing or maintaining a single selector, and the same endpoint, quota and observability model you already use for every other source.

Use cases

What it powers

  • Rate parity monitoring

    Detect where OTAs undercut your direct rate.

  • Compset benchmarking

    Track competitor pricing by date and occupancy.

  • Demand forecasting

    Use rate and scarcity movement as a demand proxy.

  • Channel audits

    Verify inventory and content across markets.

Data

Fields available

Everything below comes back typed and validated against your schema.

hotel_name

Property name

price_total

Total stay price

price_per_night

Nightly rate

currency

Point-of-sale currency

taxes_fees

Disclosed taxes and fees

rating

Guest review score

free_cancellation

Cancellation policy flag

rooms_left

Scarcity indicator

location

District and coordinates

Request

One call, no selectors

request.sh
curl -X POST https://app.irmu.com/api/extract \
  -H "Authorization: Bearer irmu_sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://www.booking.com/searchresults.html?ss=Lisbon&checkin=2026-10-02&checkout=2026-10-05",
    "schema": {
      "hotel_name": "string",
      "price_total": "string",
      "price_per_night": "string",
      "currency": "string",
      "taxes_fees": "string",
      "rating": "string"
    }
  }'
Response

Validated JSON

response.json
{
  "data": {
    "hotel_name": "Hotel Baixa",
    "price_total": 486,
    "currency": "EUR",
    "rating": 8.7,
    "free_cancellation": true
  },
  "credits_used": 20,
  "status": 200
}
SDKs

Copy, paste, ship

import requests

res = requests.post(
    "https://app.irmu.com/api/extract",
    headers={"Authorization": "Bearer irmu_sk_live_..."},
    json={
        "url": "https://www.booking.com/searchresults.html?ss=Lisbon&checkin=2026-10-02&checkout=2026-10-05",
        "schema": {
            "hotel_name": "string",
            "price_total": "string",
            "price_per_night": "string",
            "currency": "string"
        },
    },
)

data = res.json()["data"]
print(data)
Pricing

Simple credits

Per search result page

20 credits

Failed requests are retried automatically and never billed.

See full pricing →
FAQ

Booking.com API questions

Start extracting Booking.com data today

1,000 free credits every month. No card, no sales call.