KAYAK Hotel Reviews API
Read KAYAK hotel reviews by hotel ID and page.
Copy for your AI agent
Paste into Claude, ChatGPT, Cursor or Copilot — endpoint, parameters, response fields and a curl example in Markdown.
Overview
Read KAYAK hotel reviews by hotel ID and page. Use StayAPI REST or MCP with your API key.
Scope
Returns up to 10 reviews per page in source order. Pass hotel_id from URL to Hotel ID and follow has_more. total_review_count is this review source's total, which can differ from the Hotel Details aggregate; do not reconcile them. returned counts only this page. No sort, language, or date-range selector. date_text is a source month/year label, not an exact publication date. Each score uses a 0–100 scale. The response example is a one-review excerpt with synthetic review text.
Authentication
Send your StayAPI key in the X-API-Key header. Each successful request uses one credit and returns JSON; failures use RFC 7807 Problem Details.
Endpoint URL
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| hotel_id | string | Required | Positive ASCII decimal hotel ID from URL to Hotel ID, range 1–2147483647 with no leading zero. Example: 118305. |
| page | integer | Optional | Page number, 1–1000. Default: 1. Fixed page size: 10. |
Response schema
| Field | Type | Description |
|---|---|---|
| success | boolean | True on success. |
| hotel_id | string | KAYAK hotel identifier. |
| page / page_size | integer | Requested page and fixed page size 10. |
| total_review_count | integer | Source review total, distinct from this page count and the Details aggregate. |
| returned / has_more | integer / boolean | Number of rows returned and whether another page is available. |
| reviews | array | Review objects with required string id; nullable string author, date_text, positive_comment, negative_comment, and source. |
| reviews[].score / score_scale | number or null / integer | Score from 0–100, with score_scale always 100. |
Errors and limitations
Errors use RFC 7807 Problem Details with provider: "kayak", an instance and correlation id.
- 400: invalid hotel_id or numeric page outside 1–1000.
- 422: hotel_id is missing or page is not an integer.
- 401/402/429: authentication, credit, or rate-limit error.
- 502/503/504: source data temporarily unavailable or request could not complete.