Accor Rooms API
Get bookable room offers and rate plans for a single Accor property.
Overview
Returns the bookable offers for a property and stay window, grouped by accommodation code into room types. Each rate plan carries its price (per-night and total), meal plan, cancellation and guarantee policy, an optional member/loyalty alternative price, and reward points when present. Take the id from a Search result and pass it as hotel_id.
Endpoint URL
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| hotel_id | string | Required | Accor hotel id from the Search endpoint (e.g., "C5U9" or "2185") |
| check_in | date | Optional | Check-in date (YYYY-MM-DD). Default: today |
| check_out | date | Optional | Check-out date (YYYY-MM-DD). Default: check-in + 1 night |
| adults | integer | Optional | Number of adults (1-8). Default: 2 |
| currency | string | Optional | ISO-4217 currency code. Default: USD |
| country_market | string | Optional | ISO-3166 alpha-2 market country. Default: US |
Response Format
Response Structure
- success: Boolean indicating request success
- hotel_id: The property id you requested
- currency: Currency of the returned prices
- availability_status: "AVAILABLE" or "UNAVAILABLE" for the dates
- room_types: Array of room types, each with an
accommodation_codeand aratesarray - total_offers: Total number of rate plans across all room types
Rate Fields
| Field | Type | Description |
|---|---|---|
| rate_code | string | Rate plan code (also rate_label for the human name) |
| per_night / total | float | Per-night and whole-stay price. aggregation_type tells you which the upstream amount is. |
| reference_formatted | string | Strikethrough "was" price when the rate is discounted |
| meal_plan | string | Meal plan code (e.g., "EUROPEAN_PLAN") |
| cancellation_code / label | string | Cancellation policy (e.g., "FREE_CANCELLATION", "NO_CANCELLATION") |
| guarantee_code / label | string | Payment/guarantee policy (e.g., "PREPAID", "NO_PREPAY") |
| points | integer | Loyalty reward points for the stay, when offered |
| alternative | object | Second price variant (member/loyalty or special offer): amount, formatted, label, bookable |
Room codes, not names
Accor exposes only the accommodation code on this surface (e.g., "KGD"), not a human-readable room name. Use the code to group and compare rates; a friendly room name is not available from this endpoint.
Error Responses
Errors follow the RFC 7807 Problem Details format with provider: "accor" and product: "rooms".
404 Not Found
No Accor property matches that hotel_id.
{
"type": "https://api.stayapi.com/errors/hotel-not-found",
"title": "Hotel Not Found",
"status": 404,
"detail": "No Accor property matches that hotel id",
"provider": "accor",
"product": "rooms",
"error_code": "HOTEL_NOT_FOUND"
}
400 / 502
Invalid or past dates (400), or an upstream service error from Accor (502).