GET
Radisson Hotel Room Rates API
Return dated room-level inventory instead of the hotel's single minimum rate.
Overview
Compare dated Radisson cash alternatives and reward quotes alongside original public and member offers.
Endpoint URL
GET https://api.stayapi.com/v1/radisson/hotel/room-rates
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| hotel_id | string | Required | Radisson hotel code from Search or URL to ID, for example ISREKAIR. |
| check_in | date | Required | Check-in date (YYYY-MM-DD). Cannot be in the past. |
| check_out | date | Required | Check-out date (YYYY-MM-DD), after check-in. Maximum stay: 30 nights. |
| adults | integer | Optional | Adults per room, 1 to 8. Default: 2. |
| rooms | integer | Optional | Number of rooms, 1 to 9. Default: 1. |
| children_ages | integer[] | Optional | Child ages per room, 0 to 17. Repeat the query parameter for multiple children. |
| currency | string | Optional | Three-letter currency code. Default: USD. |
Response schema
| Field | Type | Description |
|---|---|---|
| normalized_rates | array | One entry per full identifier and source (public/member), with room_code, rate_plan_code, meal_plan_code, and nullable members_only. Duplicate identities are marked ambiguous rather than merged. |
| normalized_rates[].cash_rate | object / null | Full-stay cash alternative: currency, total, includes_tax. Returned only for a complete consistent tax-inclusive quote; never a redemption copay. |
| normalized_rates[].reward_rate | object / null | points is the first dated night; points_total sums all dated quotes; points_total_source is sum_of_nightly_quotes. cash_payable_status is unverified. A positive complete stay-points sum is required; a zero-point night can occur within it. |
| normalized_rates[].nightly_rates | array | Dated cash (currency, amount, includes_tax) and nullable points from check-in through the night before check-out. |
| normalized_rates[].cash_status | string | available, incomplete, inconsistent_total, or ambiguous_identity. Only available has cash_rate. |
| normalized_rates[].reward_status | string | available, not_redeemable, incomplete, unverified, unsupported_mixed_payment, or ambiguous_identity. Only available has reward_rate. |
| normalization_status | string | complete, partial, or unsupported_multi_room. Partial preserves supported offers and raw data. Empty availability is complete with an empty list. Multiple rooms return an empty normalized list and unchanged raw inventory. |
| room_rates | object | Map keyed by room code. Each room contains groups with staysPublic and staysMember rate arrays. |
| available / returned | boolean / integer | Whether room groups exist and how many room codes were returned. |
| search_type / search_applicable / matches_search | mixed | Radisson search-result metadata. |
| minimum_nights / max_upsell_difference / max_discount | mixed | Stay constraints and offer metadata. |
| active_crs / free_upgrade_bb / pay_upon_arrival | mixed | CRS and booking-condition flags. |
Errors
Errors use RFC 7807 Problem Details with provider: "radisson", a product name, and a correlation id.
- 400: invalid URL, hotel code, dates, range, occupancy, child age, or currency.
- 404: no Radisson property matched the supplied id or URL.
- 502: Radisson returned an upstream failure.
- 503: the bounded scraper queue is temporarily saturated.