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
}
]
}
]
}| Field | Meaning |
|---|---|
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:
| Engine | Browser needed | Typical 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
| Status | Meaning | What 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. |