# Google Hotels API

> Google Hotels returns hotel prices, property details, booking offers, and guest reviews as a workflow and API.

Search hotels returns prices, ratings, amenities, and addresses for a location and stay dates; it needs a location, check-in, and check-out. Compare hotel prices returns booking-site offers and cancellation details; it needs a city, hotel name, and stay dates. Get hotel reviews returns guest feedback and ratings; it needs a hotel name and city.

- Page: https://fous.com/tools/google-hotels
- Handle: `@google-hotels`
- Category: [Travel](https://fous.com/tools/category/travel)
- Source website: https://google.com/travel/hotels
- Last verified: Sep 28, 2026

## Methods

### Compare hotel prices

Operation `compare_hotel_prices`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Compare booking-site prices for one hotel on your dates, including stay totals, cancellation and booking links. Google Hotels supports up to six adults for this search and may not show prices for every site.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `city` | string | yes | `"Paris"` | City where the hotel is located, for example Paris. |
| `adults` | integer | no |  | Number of adult guests, for example 2. |
| `check_in` | string | yes | `"2026-10-20"` | Arrival date, for example 2026-10-15. |
| `currency` | string | no | `"EUR"` | Three-letter price currency, for example USD. |
| `check_out` | string | yes | `"2026-10-22"` | Departure date, for example 2026-10-18. |
| `hotel_name` | string | yes | `"Ritz Paris"` | Hotel name, for example Hotel Lutetia. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "hotel_name",
    "city",
    "check_in",
    "check_out"
  ],
  "properties": {
    "city": {
      "type": "string",
      "description": "City where the hotel is located, for example Paris.",
      "examples": [
        "Paris"
      ]
    },
    "adults": {
      "type": "integer",
      "default": 2,
      "maximum": 10,
      "minimum": 1,
      "description": "Number of adult guests, for example 2."
    },
    "check_in": {
      "type": "string",
      "format": "date",
      "description": "Arrival date, for example 2026-10-15.",
      "examples": [
        "2026-10-20",
        "2026-10-15"
      ]
    },
    "currency": {
      "type": "string",
      "default": "USD",
      "description": "Three-letter price currency, for example USD.",
      "examples": [
        "EUR"
      ]
    },
    "check_out": {
      "type": "string",
      "format": "date",
      "description": "Departure date, for example 2026-10-18.",
      "examples": [
        "2026-10-22",
        "2026-10-18"
      ]
    },
    "hotel_name": {
      "type": "string",
      "description": "Hotel name, for example Hotel Lutetia.",
      "examples": [
        "Ritz Paris",
        "Hotel Lutetia"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "city": "Paris",
      "check_in": "2026-10-20",
      "currency": "EUR",
      "check_out": "2026-10-22",
      "hotel_name": "Ritz Paris"
    },
    {
      "city": "Paris",
      "check_in": "2026-10-15",
      "check_out": "2026-10-18",
      "hotel_name": "Hotel Lutetia"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `offers` | array |  |  |
| `offers[].total` | number | `5645` |  |
| `offers[].currency` | string | `"USD"` |  |
| `offers[].booking_link` | string |  |  |
| `offers[].price_per_night` | number | `1882` |  |
| `offers[].booking_site_name` | string | `"Super.com"` |  |
| `offers[].free_cancellation` | boolean | `false` |  |
| `address` | string | `"15 Pl. Vendôme, 75001 Paris, France"` |  |
| `currency` | string | `"EUR"` |  |
| `hotel_link` | string | `"https://www.google.com/travel/hotels/entity/ChUImcGKtLfWgL9OGgkvbS8wNTZuODEQAQ?hl=en&curr=EUR&ts=CAEaIAoCGgASGhIUCgcI6g` |  |
| `hotel_name` | string | `"Ritz Paris"` |  |
| `lowest_price_site` | string or null | `"Super.com"` |  |
| `lowest_total_price` | number or null | `5645` |  |
| `google_property_token` | string | `"ChUImcGKtLfWgL9OGgkvbS8wNTZuODEQAQ"` |  |

**Example input**

```json
{
  "city": "Paris",
  "check_in": "2026-10-20",
  "currency": "EUR",
  "check_out": "2026-10-22",
  "hotel_name": "Ritz Paris"
}
```

**Example output**

```json
{
  "offers": [],
  "address": "15 Pl. Vendôme, 75001 Paris, France",
  "currency": "EUR",
  "hotel_link": "https://www.google.com/travel/hotels/entity/ChUImcGKtLfWgL9OGgkvbS8wNTZuODEQAQ?hl=en&curr=EUR&ts=CAEaIAoCGgASGhIUCgcI6g8QChgUEgcI6g8QChgWGAIyAggBKgkKBToDRVVSGgA&ap=MAE",
  "hotel_name": "Ritz Paris",
  "lowest_price_site": null,
  "lowest_total_price": null,
  "google_property_token": "ChUImcGKtLfWgL9OGgkvbS8wNTZuODEQAQ"
}
```

### Get hotel reviews

Operation `get_hotel_reviews`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Find a hotel by name and city and return its guest reviews, Google rating, and available topic ratings. Topic ratings are averages from the returned reviews when guests supplied them.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `city` | string | yes | `"New York"` | City where the hotel is located, for example New York. |
| `sort` | string | no | `"newest"` | Review order, for example newest. |
| `hotel_name` | string | yes | `"The Plaza"` | Hotel name, for example The Plaza. |
| `max_reviews` | integer | no | `25` | Maximum reviews to return, for example 20. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "hotel_name",
    "city"
  ],
  "properties": {
    "city": {
      "type": "string",
      "description": "City where the hotel is located, for example New York.",
      "examples": [
        "New York"
      ]
    },
    "sort": {
      "enum": [
        "most_relevant",
        "newest"
      ],
      "type": "string",
      "default": "most_relevant",
      "description": "Review order, for example newest.",
      "examples": [
        "newest"
      ]
    },
    "hotel_name": {
      "type": "string",
      "description": "Hotel name, for example The Plaza.",
      "examples": [
        "The Plaza",
        "The Hotel Chelsea"
      ]
    },
    "max_reviews": {
      "type": "integer",
      "default": 20,
      "maximum": 100,
      "minimum": 1,
      "description": "Maximum reviews to return, for example 20.",
      "x-fous-developer": true,
      "examples": [
        25,
        5
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "city": "New York",
      "hotel_name": "The Plaza"
    },
    {
      "city": "New York",
      "sort": "newest",
      "hotel_name": "The Plaza",
      "max_reviews": 25
    },
    {
      "city": "New York",
      "hotel_name": "The Hotel Chelsea",
      "max_reviews": 5
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `address` | string or null | `"768 5th Ave, New York, NY 10019"` | Street address of the matched hotel. |
| `reviews` | array |  | Guest reviews in the chosen order. |
| `reviews[].site` | string or null | `"TrustYou"` |  |
| `reviews[].stars` | integer or null | `4` |  |
| `reviews[].page_link` | string | `"https://go.trustyou.com/book/5a449bb1-9b2e-4e7b-a904-779c0675673e?review_id=1b2c03a7-e5d0-46cc-9811-3df63ccec9df&checki` |  |
| `reviews[].review_date` | string or null | `"2026-09-14"` | Estimated date for relative dates, YYYY-MM-DD. |
| `reviews[].review_text` | string or null | `"Everyone was very nice at the hotel. Because I made it to the front door. They had staff offering help with our luggage` |  |
| `reviews[].reviewer_name` | string or null | `"Michael K."` |  |
| `page_link` | string | `"https://www.google.com/travel/hotels/entity/ChUIneeg3YDGqvthGgkvbS8wNDJ5N2oQAQ?hl=en&gl=us"` | Hotel page on Google Hotels. |
| `hotel_name` | string | `"The Plaza"` | Matched hotel name. |
| `total_reviews` | integer or null | `6759` | Number of Google reviews shown for this hotel. |
| `overall_rating` | number or null | `4.5` | Google review rating out of 5. |
| `ratings_by_topic` | array |  | Ratings out of 5 averaged only from the returned reviews that rate each topic; not the whole-hotel rating. |
| `ratings_by_topic[].topic` | string | `"Location"` |  |
| `ratings_by_topic[].rating` | number | `5` |  |
| `ratings_by_topic[].review_count` | integer | `5` |  |
| `google_property_token` | string | `"ChUIneeg3YDGqvthGgkvbS8wNDJ5N2oQAQ"` | Google Hotels property token. |

**Example input**

```json
{
  "city": "New York",
  "hotel_name": "The Plaza"
}
```

**Example output**

```json
{
  "address": "768 5th Ave, New York, NY 10019",
  "reviews": [
    {
      "site": "TrustYou",
      "stars": 4,
      "page_link": "https://go.trustyou.com/book/5a449bb1-9b2e-4e7b-a904-779c0675673e?review_id=1b2c03a7-e5d0-46cc-9811-3df63ccec9df&checkin_day=11&checkin_month=10&checkin_year=2026&checkout_day=12&checkout_month=10&che…",
      "review_date": "2026-09-14",
      "review_text": "We had a lovely stay overall, Patrick at front desk and Hatsumi at concierge were particularly helpful durning our stay. We loved the Lacoste activation in the lobby but felt that otherwise the lobby …",
      "reviewer_name": "Michael K."
    },
    {
      "site": "Tripadvisor",
      "stars": 5,
      "page_link": "https://www.tripadvisor.com/ShowUserReviews-g60763-d675616-r1076843119?m=68573&staydates=2026_10_11_2026_10_12&uguests=1_2_0&supdv=unknown&supuc=US&supul=en",
      "review_date": "2026-09-14",
      "review_text": "Everyone was very nice at the hotel. Because I made it to the front door. They had staff offering help with our luggage. Check in was easy. The room was lovely with character. Favorite thing was the b…",
      "reviewer_name": "kevinvJ7150NG"
    }
  ],
  "page_link": "https://www.google.com/travel/hotels/entity/ChUIneeg3YDGqvthGgkvbS8wNDJ5N2oQAQ?hl=en&gl=us",
  "hotel_name": "The Plaza",
  "total_reviews": 6759,
  "overall_rating": 4.5,
  "ratings_by_topic": [
    {
      "topic": "Location",
      "rating": 5,
      "review_count": 5
    },
    {
      "topic": "Service",
      "rating": 4,
      "review_count": 5
    }
  ],
  "google_property_token": "ChUIneeg3YDGqvthGgkvbS8wNDJ5N2oQAQ"
}
```

### Search hotels

Operation `search_hotels`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Find places to stay in a city or area for your dates, with Google Hotels prices and guest details. Prices and availability can change.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `adults` | integer | no | `3` | Adults, for example 2. |
| `check_in` | string | yes | `"2026-12-02"` | Check-in, for example 2026-11-12. |
| `currency` | string | no |  | Three-letter currency code, for example USD. |
| `location` | string | yes | `"Tokyo"` | City or area, for example Paris. |
| `check_out` | string | yes | `"2026-12-04"` | Check-out, for example 2026-11-15. |
| `min_stars` | integer | no | `3` | Minimum hotel class, for example 4. |
| `max_results` | integer | no | `10` | Maximum hotels, for example 20. |
| `min_guest_rating` | number | no | `4` | Minimum rating out of five, for example 4.2. |
| `max_price_per_night` | number | no | `300` | Maximum nightly price, for example 250. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "location",
    "check_in",
    "check_out"
  ],
  "properties": {
    "adults": {
      "type": "integer",
      "default": 2,
      "maximum": 10,
      "minimum": 1,
      "description": "Adults, for example 2.",
      "examples": [
        3
      ]
    },
    "check_in": {
      "type": "string",
      "format": "date",
      "description": "Check-in, for example 2026-11-12.",
      "examples": [
        "2026-12-02",
        "2026-11-12"
      ]
    },
    "currency": {
      "type": "string",
      "default": "USD",
      "description": "Three-letter currency code, for example USD."
    },
    "location": {
      "type": "string",
      "description": "City or area, for example Paris.",
      "examples": [
        "Tokyo",
        "Paris"
      ]
    },
    "check_out": {
      "type": "string",
      "format": "date",
      "description": "Check-out, for example 2026-11-15.",
      "examples": [
        "2026-12-04",
        "2026-11-15"
      ]
    },
    "min_stars": {
      "type": "integer",
      "maximum": 5,
      "minimum": 1,
      "description": "Minimum hotel class, for example 4.",
      "examples": [
        3
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 20,
      "maximum": 50,
      "minimum": 1,
      "description": "Maximum hotels, for example 20.",
      "x-fous-developer": true,
      "examples": [
        10
      ]
    },
    "min_guest_rating": {
      "type": "number",
      "maximum": 5,
      "minimum": 1,
      "description": "Minimum rating out of five, for example 4.2.",
      "examples": [
        4
      ]
    },
    "max_price_per_night": {
      "type": "number",
      "minimum": 0,
      "description": "Maximum nightly price, for example 250.",
      "examples": [
        300
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "adults": 3,
      "check_in": "2026-12-02",
      "location": "Tokyo",
      "check_out": "2026-12-04",
      "min_stars": 3,
      "max_results": 10,
      "min_guest_rating": 4,
      "max_price_per_night": 300
    },
    {
      "check_in": "2026-11-12",
      "location": "Paris",
      "check_out": "2026-11-15"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `hotels` | array |  | Hotels in Google order. |
| `hotels[].name` | string | `"Hotel Keihan Tsukiji Ginza Grande"` | Hotel name. |
| `hotels[].stars` | integer or null | `4` | Hotel class. |
| `hotels[].currency` | string | `"USD"` | Currency of prices. |
| `hotels[].latitude` | number or null | `35.6684358` | Latitude. |
| `hotels[].amenities` | array |  | Main amenities. |
| `hotels[].longitude` | number or null | `139.7740277` | Longitude. |
| `hotels[].total_price` | number or null | `477` | Stay total with taxes and fees. |
| `hotels[].guest_rating` | number or null | `4.4` | Guest rating out of five. |
| `hotels[].review_count` | integer or null | `1107` | Number of reviews. |
| `hotels[].price_per_night` | number or null | `217` | Nightly price. |
| `hotels[].google_hotels_link` | string | `"https://www.google.com/travel/hotels/entity/ChoI5cqc0dfqtoPDARoNL2cvMTFnMTh4c3NfcRAB?q=hotels+in+Tokyo&hl=en&curr=USD&t` | Property link on Google Hotels. |
| `hotels[].cheapest_booking_site` | string or null | `"HOTEL KEIHAN TSUKIJI GINZA GRANDE"` | Booking site with lowest quoted price. |
| `hotels[].google_property_token` | string or null | `"ChoI5cqc0dfqtoPDARoNL2cvMTFnMTh4c3NfcRAB"` | Google property token. |
| `hotels[].neighborhood_or_address` | string or null | `"3 Chome-5-4 Tsukiji, Chuo City, Tokyo 104-0045, Japan"` | Address or neighborhood. |
| `search_link` | string | `"https://www.google.com/travel/search?q=hotels+in+Tokyo&hl=en&curr=USD&ts=CAESDgoCCAMKAggDCgIIAxABGlAKMhIuMiUweDYwNWQxYj` | Google Hotels search link. |

**Example input**

```json
{
  "adults": 3,
  "check_in": "2026-12-02",
  "location": "Tokyo",
  "check_out": "2026-12-04",
  "min_stars": 3,
  "max_results": 10,
  "min_guest_rating": 4,
  "max_price_per_night": 300
}
```

**Example output**

```json
{
  "hotels": [
    {
      "name": "Hotel Keihan Tsukiji Ginza Grande",
      "stars": 4,
      "currency": "USD",
      "latitude": 35.6684358,
      "amenities": [
        "Free Wi-Fi",
        "Parking ($)"
      ],
      "longitude": 139.7740277,
      "total_price": 477,
      "guest_rating": 4.4,
      "review_count": 1107,
      "price_per_night": 217,
      "google_hotels_link": "https://www.google.com/travel/hotels/entity/ChoI5cqc0dfqtoPDARoNL2cvMTFnMTh4c3NfcRAB?q=hotels+in+Tokyo&hl=en&curr=USD&ts=CAESDgoCCAMKAggDCgIIAxABGlAKMhIuMiUweDYwNWQxYjg3ZjAyZTU3ZTc6MHgyZTAxNjE4YjIyNTc…",
      "cheapest_booking_site": "HOTEL KEIHAN TSUKIJI GINZA GRANDE",
      "google_property_token": "ChoI5cqc0dfqtoPDARoNL2cvMTFnMTh4c3NfcRAB",
      "neighborhood_or_address": "3 Chome-5-4 Tsukiji, Chuo City, Tokyo 104-0045, Japan"
    },
    {
      "name": "Tokyo Bay Shiomi Prince Hotel",
      "stars": 4,
      "currency": "USD",
      "latitude": 35.6598924,
      "amenities": [
        "Public bath",
        "Private bath"
      ],
      "longitude": 139.8171055,
      "total_price": 422,
      "guest_rating": 4.5,
      "review_count": 1797,
      "price_per_night": 192,
      "google_hotels_link": "https://www.google.com/travel/hotels/entity/ChoI3c3l9Y_Op4PjARoNL2cvMTFoM2t0eHZkaxAB?q=hotels+in+Tokyo&hl=en&curr=USD&ts=CAESDgoCCAMKAggDCgIIAxABGlAKMhIuMiUweDYwNWQxYjg3ZjAyZTU3ZTc6MHgyZTAxNjE4YjIyNTc…",
      "cheapest_booking_site": "Booking.com",
      "google_property_token": "ChoI3c3l9Y_Op4PjARoNL2cvMTFoM2t0eHZkaxAB",
      "neighborhood_or_address": "2 Chome-8-16 Shiomi, Koto City, Tokyo 135-0052, Japan"
    }
  ],
  "search_link": "https://www.google.com/travel/search?q=hotels+in+Tokyo&hl=en&curr=USD&ts=CAESDgoCCAMKAggDCgIIAxABGlAKMhIuMiUweDYwNWQxYjg3ZjAyZTU3ZTc6MHgyZTAxNjE4YjIyNTcxYjg5OgVUb2t5bxoAEhoSFAoHCOoPEAwYAhIHCOoPEAwYBBg…"
}
```

## Quick start

Replace `YOUR_API_KEY` with a Fous API key. To create one, open Developers at the bottom of Fous Studio, turn on Developer mode, then go to API keys (https://app.fous.com/keys). Change the values in `input` to run the same tool on new data.

```bash
curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 180 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@google-hotels",
  "visibility": "public",
  "operation": "compare_hotel_prices",
  "version": 1,
  "input": {
    "city": "Paris",
    "check_in": "2026-10-20",
    "currency": "EUR",
    "check_out": "2026-10-22",
    "hotel_name": "Ritz Paris"
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
import json
import urllib.error
import urllib.request

api_key = "YOUR_API_KEY"

body = json.loads("{\n  \"api\": \"@google-hotels\",\n  \"visibility\": \"public\",\n  \"operation\": \"compare_hotel_prices\",\n  \"version\": 1,\n  \"input\": {\n    \"city\": \"Paris\",\n    \"check_in\": \"2026-10-20\",\n    \"currency\": \"EUR\",\n    \"check_out\": \"2026-10-22\",\n    \"hotel_name\": \"Ritz Paris\"\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=180) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
const apiKey = "YOUR_API_KEY";

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(180_000),
  body: JSON.stringify({
  "api": "@google-hotels",
  "visibility": "public",
  "operation": "compare_hotel_prices",
  "version": 1,
  "input": {
    "city": "Paris",
    "check_in": "2026-10-20",
    "currency": "EUR",
    "check_out": "2026-10-22",
    "hotel_name": "Ritz Paris"
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

## Use from an AI assistant

Connect this tool to Claude Code, Claude Desktop, Cursor, VS Code, Codex and any MCP client as its own MCP server. Each method is a typed tool whose arguments are the method’s input.

- Server URL: `https://api.fous.com/mcp/tools/google-hotels`
- Authorization: `Authorization: Bearer <Fous API key>`

**Tools**

- `compare_hotel_prices`: Compare hotel prices. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `get_hotel_reviews`: Get hotel reviews. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `search_hotels`: Search hotels. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `fous_get_run`: the result of a run that was still going, by its `request_id`. Free.

Claude Code:

```bash
claude mcp add --scope user --transport http fous-google-hotels https://api.fous.com/mcp/tools/google-hotels --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"
```

To give the assistant every tool, connect `https://api.fous.com/mcp`: it finds one with `fous_search_tools` and runs it with `fous_run_tool`. Setup for other clients: https://fous.com/llms-full.txt.

## Use cases

- Find hotels within a nightly budget
- Compare booking offers for a hotel stay
- Check guest ratings before choosing a property
- Review guest feedback by topic
- Shortlist hotels by location and dates

## FAQ

### Can I run it with my own inputs?

Yes. Change the inputs in Studio and press Run, or send new inputs from your code, or ask a connected AI assistant.

### Can I call this Google Hotels tool as an API?

Yes. Send a POST request to /v1/query with your Fous API key and the inputs, and get JSON back.

### How much does it cost?

Each completed run costs 1 credit. Failed runs without a completed receipt are free; completed work can remain charged if delivery is interrupted. With pay as you go, a credit costs 1¢. Monthly plans cost less per credit.

### Do I need a Google Hotels account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from google.com when you run it. Some results are reused for up to 24 hours, and results that use your account or key are never reused. It was last verified on Sep 28, 2026.

### What hotels are available in a city for my dates?

Search hotels returns hotel names, prices, ratings, and details for a location and stay dates.

### Which booking site has the lowest price for a hotel?

Compare hotel prices returns booking offers and identifies the site with the lowest quoted total.

### What do guests say about a hotel?

Get hotel reviews returns guest review text, review dates, overall rating, and available topic ratings.

## Related

- [Kayak API](https://fous.com/tools/kayak.md): Kayak compares flight and hotel prices across booking sites and current rental car offers; hotel rates assume two adults per room and cover public location pages, while prices and availability can change at booking.
- [Expedia API](https://fous.com/tools/expedia.md): Expedia helps travelers find hotels, vacation stays, and travel deals, with hotel prices and flight options for selected destinations and dates; flight listings may be limited.
- [Agoda API](https://fous.com/tools/agoda.md): Agoda finds stays and room prices for selected dates; displayed prices exclude taxes and fees, and availability, prices, and cancellation terms may change before booking.
- [Booking.com API](https://fous.com/tools/booking-com.md): Booking.com helps find stays, property details and public guest reviews; prices and cancellation terms depend on selected dates, and displayed prices may exclude taxes and fees.
- [Google Flights API](https://fous.com/tools/google-flights.md): Google Flights returns route schedules, public fares, monthly lowest prices, and flight or destination options with times, stops, emissions, and fares that may change.
- [Trip.com API](https://fous.com/tools/trip-com.md): Trip.com offers hotel and flight bookings, with hotel listings limited to initial public results and prices and fares subject to change.
- [Priceline API](https://fous.com/tools/priceline.md): Priceline finds travel deals and returns publicly priced hotel options with ratings, USD prices and cancellation details, plus rental-car offers whose prices may change at checkout.
- [Tripadvisor API](https://fous.com/tools/tripadvisor.md): Tripadvisor provides traveler-ranked first-page city listings of attractions, restaurants and hotels, plus latest reviews; hotel prices and booking sites depend on supplied stay dates and availability.
- [All Travel tools](https://fous.com/tools/category/travel)
