# Booking.com Hotel Search Scraper

> Booking.com Hotel Search Scraper is a paid API for AI agents from api.scrapeforagents.tech, paid per call via x402, $0.025/call, status unknown (last checked 2026-10-02).

Scrapes structured hotel and property listing data from Booking.com search results for a given destination, dates, and occupancy.

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/v1/booking?utm_source=zero.xyz
- Price: $0.025/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/booking-com-hotel-search-scraper-d6da1b7b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_DSKIwiSEGbXiE4bxnn655

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 booking-com-hotel-search-scraper-d6da1b7b -d '<json body>'
```

Example prompt: Search Booking.com for hotels in Amsterdam for 2 adults, 1 room, checking in on June 20 and checking out June 25 — give me up to 50 results in USD.

## When to prefer this

Choose this endpoint when you need structured, machine-readable hotel and property listing data from Booking.com without managing a browser or scraping infrastructure yourself. It is well-suited for travel agents, price comparison tools, or any workflow that needs to enumerate available accommodation options for a destination and date range. Prefer this over generic web scrapers when Booking.com is explicitly the target source and you want normalized property-level fields like stars, type, and property ID.

## Known failure modes

- Destination search triggers a CAPTCHA or verification challenge on Booking.com, resulting in an empty or failed run (not charged)
- Invalid or past check-in/check-out dates return no results
- Unsupported currency or language code may fall back to defaults or return an error
- Booking.com URL changes or anti-scraping measures may cause empty result sets
- maxItems set to a very high number may result in slow or incomplete responses

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

Returns a JSON object with a count of results and an array of property items, each containing the property name, URL, type, star rating, property ID, order/rank, description, and property type ID scraped from Booking.com search results.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "rooms": {
   "type": "integer",
   "default": 1,
   "maximum": 50,
   "minimum": 1,
   "description": "Number of rooms for search-result availability and pricing."
  },
  "adults": {
   "type": "integer",
   "default": 2,
   "maximum": 50,
   "minimum": 1,
   "description": "Number of adults for search-result availability and pricing."
  },
  "search": {
   "type": "string",
   "description": "Destination name for a Booking.com search. For example, Amsterdam. Search pages may present a verification challenge."
  },
  "checkIn": {
   "type": "string",
   "description": "Check-in date (YYYY-MM-DD) for search results and dated prices. Set checkOut too."
  },
  "checkOut": {
   "type": "string",
   "description": "Check-out date (YYYY-MM-DD) after checkIn."
  },
  "currency": {
   "type": "string",
   "default": "USD",
   "description": "Preferred three-letter currency code for displayed prices."
  },
  "language": {
   "type": "string",
   "default": "en-us",
   "description": "Booking.com language code for labels, such as en-us or fr."
  },
  "maxItems": {
   "type": "integer",
   "default": 100,
   "minimum": 0,
   "description": "Maximum number of unique properties across all inputs. Set 0 for all available public results."
  },
  "startUrls": {
   "type": "array",
   "description": "Public Booking.com search-results or city URLs. Search URLs can contain website filters. City URLs offer a smaller, more reliable set of listings."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "url": null,
    "name": null,
    "type": null,
    "order": null,
    "stars": null,
    "propertyId": null,
    "description": null,
    "propertyTypeId": null
   }
  ],
  "product": "booking"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/booking-com-hotel-search-scraper-d6da1b7b/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.scrapeforagents.tech](https://www.zero.xyz/host/api.scrapeforagents.tech/llms.txt)
