GET

Hotel Details API

v2

Get hotel information with a compact response shape. Returns top-level hotel_id, flat data object, and retrieval timestamp.

v1 deprecated

/v1/booking/hotel/details is still available for existing integrations but deprecated. Use /v2/booking/hotel/details for all new development.

Overview

The Hotel Details v2 endpoint accepts a hotel_id and returns a compact response with 11 data fields plus page_name. No description, check-in/out times, or nested metadata compared to v1.

Endpoint URL

GET https://api.stayapi.com/v2/booking/hotel/details

Parameters

Parameter Type Required Description
hotel_id string Required Booking.com hotel ID (e.g., 1331780).

Error handling and status codes

Status codes: 200 on success; errors use non-2xx (400, 404, 500, 502, 503, 504) with Problem Details.

  • 400 MISSING_PARAMETER: hotel_id is required.
  • 400 INVALID_HOTEL_ID: hotel_id must be numeric.
  • 400 INVALID_PARAMETERS: url param is not accepted (use v1 for URL lookups).
  • 404 Not Found: Upstream indicates the hotel is missing.
  • 502 UPSTREAM_ERROR: Upstream non-2xx or GraphQL errors.
  • 503 Service Unavailable: Upstream rate-limited/maintenance (may include Retry-After).
  • 504 Upstream Timeout: The provider timed out.
  • 500 CONTENT_EXTRACTION_FAILED or INTERNAL_ERROR: Unexpected parsing/processing errors.

Error responses (Problem Details)

All Booking.com hotel endpoints return errors using RFC 7807 Problem Details.

{
  "type": "https://api.stayapi.com/errors/invalid-url",
  "title": "Invalid URL",
  "status": 400,
  "detail": "Parameter 'url' must be a full Booking.com hotel URL of the form https://www.booking.com/hotel/{cc}/{slug}.html.",
  "error_code": "INVALID_URL",
  "provided": "baan-coconut"
}

Media type: application/problem+json

Standard fields: type, title, status, detail

Extensions: error_code and any endpoint-specific fields

2xx policy: 2xx is returned only when data extraction succeeds.

Request
curl -X GET "https://api.stayapi.com/v2/booking/hotel/details?hotel_id=1331780" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json"
Response
{
  "success": true,
  "hotel_id": "1331780",
  "data": {
    "hotel_name": "Le Grand Hotel InterContinental",
    "address": "2 Rue Scribe, 75009 Paris, France",
    "city": "Paris",
    "country": "France",
    "postal_code": "75009",
    "latitude": 48.871586,
    "longitude": 2.330359,
    "star_rating": 5,
    "review_score": 8.9,
    "review_count": 2847,
    "main_photo_url": "https://cf.bstatic.com/xdata/images/hotel/max1024x768/hotel_123_main.jpg",
    "page_name": "Le Grand Hotel InterContinental"
  },
  "message": "Success",
  "retrieved_at": "2026-04-01T12:00:00Z"
}