GET
# Otelpuan Rooms & Prices API

Check rooms and prices for your dates and guests.

## Overview

Get Otelpuan rooms and prices for a hotel URL, stay dates, and guests. Read board plans, stay totals, daily prices, cancellation terms, and occupancy with StayAPI.

#### Scope

The response is an illustrative one-room excerpt. Use the canonical hotel URL from Search, with check-in and check-out dates. Prices apply to the requested stay and occupancy. Keep the source total\_price as the stay total; daily amounts may not sum to the provider stay total; both are preserved as supplied. No currency selector, pagination, or booking action. A valid stay with no offers returns rooms: [] and total: 0. Reviews still use hotel\_id.

#### Authentication

Send your StayAPI key in the X-API-Key header. Successful requests return JSON; failures use RFC 7807 Problem Details.

### Endpoint URL

GET https://api.stayapi.com/v1/otelpuan/hotel/rooms 

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| url | string | Required | Canonical Otelpuan hotel URL, for example https://www.otelpuan.com/Turkler-Otel. Use the url returned by Search. Maximum 2,048 characters. |
| check\_in | date | Required | YYYY-MM-DD, today or later in Turkey local time. |
| check\_out | date | Required | YYYY-MM-DD, strictly after check\_in. |
| adults | integer | Optional | 1–10 adults. Default: 2. |
| child\_ages | string | Optional | Comma-separated ages, for example 5,12. Up to 4 children, each aged 0–16. Omit or leave empty for no children. |

## Response schema

| Field | Type | Description |
| --- | --- | --- |
| success / url | boolean / string | Success flag and canonical hotel URL. |
| check\_in / check\_out / nights | string / integer | Requested stay window and number of nights. |
| adults / child\_ages | integer / array | Requested adult count and normalized child ages. |
| rooms | array | Room name, night\_count, and offers for the requested stay. |
| rooms[].offers[].board | object | Board plan code and source name. |
| rooms[].offers[].total\_price / base\_price / currency | number / nullable number / string | Source stay totals and currency. Preserve total\_price; do not replace it with a sum of daily amounts. |
| rooms[].offers[].daily\_prices | array | Dated price, total\_payment\_amount, tax\_amount, and currency. |
| rooms[].offers[].non\_refundable / cancellation\_policies | nullable boolean / array | Refundability and dated cancellation charges, currency, and nullable free\_cancellation flag. Unavailable policy fields are null; timestamps retain source precision without an inferred timezone. |
| rooms[].offers[].occupancy | object or null | Published max\_occupancy, max\_adults, and max\_children when available. |
| total | integer | Number of room types returned; zero is a successful empty result. |

## Errors and limitations

Errors use RFC 7807 Problem Details with `provider: "otelpuan"`, an instance and correlation id.

- 400: invalid hotel URL, stay dates, adults (1–10), or child ages. Dates must use YYYY-MM-DD, check-in cannot be in the past, and check-out must follow check-in.
- 422: a required parameter is missing, or adults is not an integer.
- 404 NOT\_FOUND: the hotel is not found.
- 502 UPSTREAM\_ERROR or 504 UPSTREAM\_TIMEOUT: the source request could not complete.
- 503: service temporarily unavailable.
- 500 CONTENT\_EXTRACTION\_FAILED: the source response could not be interpreted.

## Related resources

[Check rooms and prices for a stay](/docs/endpoints/otelpuan/rooms)[Search for hotel IDs by name](/docs/endpoints/otelpuan/search)[Resolve a URL to a hotel ID](/docs/endpoints/otelpuan/url-to-id)[Read reviews by hotel ID](/docs/endpoints/otelpuan/hotel-reviews)[Otelpuan API overview](/apis/otelpuan)[Use Otelpuan tools through MCP](/docs/mcp)

Request

```curl
curl -X GET "https://api.stayapi.com/v1/otelpuan/hotel/rooms?url=https%3A%2F%2Fwww.otelpuan.com%2FTurkler-Otel&check_in=2026-10-10&check_out=2026-10-12&adults=2" \
  -H "X-API-Key: YOUR_API_KEY"
```

Response

```json
{
  "success": true,
  "url": "https://www.otelpuan.com/Turkler-Otel",
  "check_in": "2026-10-10",
  "check_out": "2026-10-12",
  "nights": 2,
  "adults": 2,
  "child_ages": [],
  "rooms": [
    {
      "name": "Standart Oda, Şehir Manzaralı, Klimalı",
      "night_count": 2,
      "offers": [
        {
          "board": {
            "code": "BB",
            "name": "Oda Kahvaltı"
          },
          "total_price": 5993.0,
          "base_price": 6659.0,
          "currency": "TRY",
          "daily_prices": [
            {
              "date": "2026-10-10",
              "price": 2996.71,
              "total_payment_amount": 2996.71,
              "tax_amount": 0.0,
              "currency": "TRY"
            },
            {
              "date": "2026-10-11",
              "price": 2996.7,
              "total_payment_amount": 2996.7,
              "tax_amount": 0.0,
              "currency": "TRY"
            }
          ],
          "non_refundable": false,
          "cancellation_policies": [
            {
              "from_date": "2026-09-28T17:44:34.699911305",
              "to_date": "2026-10-08T17:59:00",
              "amount": 0.0,
              "currency": "TRY",
              "free_cancellation": true
            },
            {
              "from_date": "2026-10-08T18:00:00",
              "to_date": "2026-10-10T14:00:00",
              "amount": 2547.2,
              "currency": "TRY",
              "free_cancellation": false
            }
          ],
          "occupancy": {
            "max_occupancy": 2,
            "max_adults": 2,
            "max_children": 0
          }
        }
      ]
    }
  ],
  "total": 1
}
```
