# Hotel Search via Google Hotels

> Hotel Search via Google Hotels is a paid API for AI agents from ZeroClick x402 Service Registry at hotels.withzero.ai, paid per call via MPP, $0.05/call, status unknown (last checked 2026-10-10, last successful call 2026-07-22).

Searches for hotels and accommodations worldwide using Google Hotels, returning prices, ratings, amenities, coordinates, and booking links for a given location and date range.

## Facts

- Endpoint: POST https://hotels.withzero.ai/run?utm_source=zero.xyz
- Price: $0.05/call
- Payment: MPP
- Status: unknown
- Last checked: 2026-10-10
- Last successful call: 2026-07-22
- Success rate: 76% of calls made through Zero
- Rating: 3.4 / 5 from 3 reviews
- Activations on Zero: 30
- Provider: ZeroClick x402 Service Registry
- Website: https://withzero.ai
- Tags: travel, hotels, booking, accommodation, search
- Canonical page: https://www.zero.xyz/c/zeroclick-x402-service-registry-hotel-search-cd30bd54
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_DuhgEyaUjrN1S5Zd-Nb1x

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability zeroclick-x402-service-registry-hotel-search-cd30bd54 -d '<json body>'
```

Example prompt: Find me hotels in Austin, TX checking in June 20 and checking out June 23 for 2 adults — sort by lowest price and show up to 15 results.

## When to prefer this

Use this endpoint when you need real-time hotel availability, current pricing, ratings, and amenities for a specific location and date range. Prefer this over generic web search when you need structured, machine-readable accommodation data including coordinates, price breakdowns, and direct booking links. Ideal for travel planning agents that need to compare accommodations programmatically.

## Known failure modes

- No hotels found for the requested location or dates — returns empty results array
- Invalid date format (not YYYY-MM-DD) causes validation error
- Check-out date before check-in date returns error
- Location string too vague or unrecognizable returns empty results
- maxResults exceeding 20 or adults exceeding 10 causes schema validation failure
- Payment failure (insufficient USDC balance) blocks the request

## How this service works

Search for hotels and accommodations worldwide via Google Hotels. Input: location, check-in/check-out dates, optional guest count and sort order. Output: hotels with prices, ratings, amenities, links, and coordinates. Useful for travel planning, price comparison, and accommodation research.

## Output

An array of hotel listings each containing: hotel name, property type, star class, price per night and total stay price in USD, overall rating out of 5, review count, list of amenities, a booking/listing URL, a thumbnail image URL, and GPS latitude/longitude coordinates. Also returns the echoed location, check-in/check-out dates, and total result count.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "location",
  "checkIn",
  "checkOut"
 ],
 "properties": {
  "adults": {
   "type": "integer",
   "default": 2,
   "maximum": 10,
   "minimum": 1,
   "description": "Number of adults (default: 2)"
  },
  "sortBy": {
   "enum": [
    "relevance",
    "lowest_price",
    "highest_rating",
    "most_reviewed"
   ],
   "type": "string",
   "description": "Sort order for results"
  },
  "checkIn": {
   "type": "string",
   "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
   "description": "Check-in date in YYYY-MM-DD format"
  },
  "checkOut": {
   "type": "string",
   "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
   "description": "Check-out date in YYYY-MM-DD format"
  },
  "location": {
   "type": "string",
   "maxLength": 200,
   "minLength": 1,
   "description": "Hotel location query (e.g. \"Austin, TX\" or \"hotels near Times Square\")"
  },
  "maxResults": {
   "type": "integer",
   "default": 10,
   "maximum": 20,
   "minimum": 1,
   "description": "Maximum results to return (default: 10, max: 20)"
  }
 },
 "additionalProperties": false
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "location",
  "checkIn",
  "checkOut",
  "resultCount",
  "results"
 ],
 "properties": {
  "checkIn": {
   "type": "string",
   "description": "Check-in date"
  },
  "results": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "name",
     "type",
     "rating",
     "reviews",
     "pricePerNight",
     "priceTotal",
     "hotelClass",
     "amenities",
     "link",
     "thumbnail",
     "coordinates"
    ],
    "properties": {
     "link": {
      "type": "string",
      "nullable": true,
      "description": "Hotel listing URL"
     },
     "name": {
      "type": "string",
      "description": "Hotel name"
     },
     "type": {
      "type": "string",
      "description": "Property type (e.g. \"Hotel\", \"Vacation rental\")"
     },
     "rating": {
      "type": "number",
      "nullable": true,
      "description": "Overall rating out of 5 (null if unrated)"
     },
     "reviews": {
      "type": "number",
      "nullable": true,
      "description": "Number of reviews (null if unavailable)"
     },
     "amenities": {
      "type": "array",
      "items": {
       "type": "string"
      },
      "description": "List of amenities"
     },
     "thumbnail": {
      "type": "string",
      "nullable": true,
      "description": "Hotel image URL"
     },
     "hotelClass": {
      "type": "string",
      "nullable": true,
      "description": "Hotel class (e.g. \"4-star hotel\")"
     },
     "priceTotal": {
      "type": "number",
      "nullable": true,
      "description": "Total price in USD (null if unavailable)"
     },
     "coordinates": {
      "type": "object",
      "nullable": true,
      "required": [
       "latitude",
       "longitude"
      ],
      "properties": {
       "latitude": {
        "type": "number"
       },
       "longitude": {
        "type": "number"
       }
      },
      "description": "GPS coordinates (null if unavailable)",
      "additionalProperties": false
     },
     "pricePerNight": {
      "type": "number",
      "nullable": true,
      "description": "Price per night in USD (null if unavailable)"
     }
    },
    "additionalProperties": false
   },
   "description": "Hotel results"
  },
  "checkOut": {
   "type": "string",
   "description": "Check-out date"
  },
  "location": {
   "type": "string",
   "description": "The search location"
  },
  "resultCount": {
   "type": "number",
   "description": "Number of results returned"
  }
 },

… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/zeroclick-x402-service-registry-hotel-search-cd30bd54/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from hotels.withzero.ai](https://www.zero.xyz/host/hotels.withzero.ai/llms.txt)
