Skip to content

Get a hotel's official-site rates

Read rooms and rate plans straight from the hotel's own booking engine.

Overview

POST/v1/official takes a hotel's website, finds its booking link, detects which of 31 official booking engines it runs, and returns the rooms and rate plans the hotel sells directly — including member rates where the engine shows them. You never pick the vendor.

Cost
4 credits per successful call
Latency
From a fraction of a second to several seconds for engines that need a browser
Input
The hotel's homepage or property page (a direct booking URL also works) and the stay dates

Make the request

curl -X POST "https://api.scrapercompany.com/v1/official" \
  -H "x-api-key: $SCRAPERCOMPANY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.marriott.com/en-us/hotels/yyzrz-the-ritz-carlton-toronto/overview/", "check_in": "2026-11-30", "nights": 1, "currency": "CAD"}'

Read the rooms

Response (shortened)
{
  "engine": "marriott",
  "detected_by": "url",
  "check_in": "2026-11-30",
  "check_out": "2026-12-01",
  "nights": 1,
  "currency": "CAD",
  "sold_out": false,
  "cheapest_rate": 690,
  "cheapest_member_rate": 655.5,
  "member_rates_returned": 1,
  "rooms_returned": 1,
  "used_browser": false,
  "elapsed_s": 0.71,
  "rooms": [
    {
      "name": "Deluxe King",
      "code": "GENR",
      "max_occupancy": 2,
      "available": true,
      "cheapest_rate": 690,
      "rates": [
        {
          "price": 690,
          "price_total": 779.7,
          "currency": "CAD",
          "rate_plan": "Flexible",
          "tax_inclusive": true,
          "access_type": "public",
          "is_discounted": false
        }
      ]
    }
  ]
}
FieldMeaning
engine
The booking engine that was detected.
cheapest_rate
Lowest public rate for the stay; cheapest_member_rate is the lowest member rate, when shown.
rooms[].rates[]
Every rate plan per room: price, price_total, tax, fees, rate_plan, currency.
access_type
public, member, points_and_cash or points.
tax_inclusive
Whether price includes tax. null means the engine did not say, not that tax is excluded.
used_browser
Whether this engine needed a browser session (slower).

Supported engines

GET/v1/official/engines (free) lists every engine and its typical cost in seconds, so you can plan large sweeps. Today's list:

EngineBrowser neededTypical time
Accor
never
0.5 s
Roiback BookCore
never
1 s
Choice Hotels
every query
9 s
Hilton
every query
8 s
IHG
never
1 s
Wyndham
every query
7 s
Channex
never
0.5 s
Cloudbeds
never
1.5 s
D-EDGE / Availpro
every query
8 s
DerbySoft
every query
7 s
EVT Hotels
every query
8 s
Guestline
never
0.5 s
Amadeus iHotelier
once per token (hours)
0.3 s
innRoad
once per session
1.5 s
IRE Hotels
never
1 s
Langham Brilliant
never
1 s
Marriott
once per session
0.5 s
Mews
never
1.5 s
Minor Hotels
never
1 s
Mirai
never
1 s
NewBook
never
5 s
Point A Hotels
never
1 s
Profitroom
never
2.5 s
ResNexus
every query
7 s
RMS Cloud
never
1 s
Seekda
never
1 s
Simple Booking
never
1 s
SiteMinder BookingButton
never
0.2 s
Sabre SynXis
once per session
0.7 s
ThinkReservations
never
0.5 s
WebRezPro
once per session
1 s

When it fails

StatusMeaningWhat to do
422
The site's booking engine couldn't be identified or isn't supported (detail says which).
Try a direct booking URL, or ask support to add the engine.
502
The engine failed or blocked the request.
Retry later with backoff. Not charged.

Parity monitoring

Pair this with OTA rates for the same night to see whether any channel undercuts the hotel's own price.