Booking.com

HealthyRead-only

Search Booking.com accommodations by location and stay dates, view property details, pricing and review scores. Generated from www.booking.com.

Base URL
https://api.maviapi.com/v1/sites/booking
3
Endpoints
4050ms
p50 latency
26
Calls / 30d
GET/search

Search accommodations

Search accommodations by location and optional stay dates; returns properties with price, star class, review score and distance.

Bearer auth. Pass your key as Authorization: Bearer <key> on every request.
stringRequiredin query

Destination free-text (city, region, landmark). Alias: ss, q.

stringOptionalin query

Check-in date YYYY-MM-DD (pair with checkout; pricing only appears with dates)

stringOptionalin query

Check-out date YYYY-MM-DD

integerOptionalin query

Number of adults

integerOptionalin query

Number of children (default age 10 each)

integerOptionalin query

Number of rooms

integerOptionalin query

Source result page (1-based; each page ~25 properties, maps to Booking offset (page-1)*25)

integerOptionalin query

Max items to return from the page

integerOptionalin query

Offset within the returned page

booleanOptionalin query

Bypass and repopulate the cache

dataobject
cachedboolean
sourcestring
paginationobject
Try itLive
GET
https://api.maviapi.com/v1/sites/booking/search?location=Amsterdam&checkin=2026-09-10&checkout=2026-09-12&adults=2&children=0&rooms=1&page=1&limit=5&offset=0&refresh=false
Request
curl "https://api.maviapi.com/v1/sites/booking/search?location=Amsterdam&checkin=2026-09-10&checkout=2026-09-12&adults=2&children=0&rooms=1&page=1&limit=5&offset=0&refresh=false" \
-H "Authorization: Bearer $MAVI_KEY"
Example1.0 KB
{
  "data": {
    "location": "Amsterdam",
    "checkin": "2026-09-10",
    "checkout": "2026-09-12",
    "adults": 2,
    "children": 0,
    "rooms": 1,
    "page": 1,
    "total": 349,
    "count": 5,
    "results": [
      {
        "name": "MAX Hotel Amsterdam",
        "hotel_id": "nl/hotelmaxadam",
        "country": "nl",
        "hotel_slug": "hotelmaxadam",
        "url": "https://www.booking.com/hotel/nl/hotelmaxadam.html",
        "price": "€ 219",
        "price_amount": 219,
        "currency": "€",
        "stars": 2,
        "review_score": 6.6,
        "review_label": "Very Good",
        "review_count": 1606,
        "distance": "1.8 km from downtown",
        "image": "https://cf.bstatic.com/xdata/images/hotel/square240/864090609.webp"
      }
    ]
  },
  "cached": false,
  "source": "https://www.booking.com/searchresults.html?ss=Amsterdam&checkin=2026-09-10&checkout=2026-09-12",
  "pagination": {
    "total": 25,
    "limit": 5,
    "offset": 0,
    "count": 5,
    "has_more": true
  }
}

Get all the data, no code

Collect every page of GET /search into a dataset, then download it as CSV or JSON. One credit per page; the download is free.