image

Hotel search is still one of the few SteadyAPI products without a how-to. The recent guides cover markets, Amazon, Reddit, Instagram, and real estate. Booking.com is live in the docs, and the public blog never walks through a hotel search.

This guide uses two documented endpoints. First, turn a place name into coordinates. Then search hotels around that point and read back name, rating, and price.

👉 To access these endpoints, you must obtain an API key: https://steadyapi.com/register


Authentication

Every call uses a Bearer token from your SteadyAPI dashboard.

Documentation:
https://docs.steadyapi.com/#authenticating-requests

headers = {
  'Authorization': 'Bearer YOUR_API_KEY'
}

1. Resolve a destination

Users type city names, not latitude and longitude. Autocomplete returns matching cities, regions, airports, and landmarks, including coordinates you can pass into search.

Endpoint: GET /v1/booking/hotels/autocomplete

Documentation:
https://docs.steadyapi.com/#bookingcom-GETapi-v1-booking-hotels-autocomplete

Request

GET https://api.steadyapi.com/v1/booking/hotels/autocomplete?search=oklah
Authorization: Bearer YOUR_API_KEY

Parameters

  • search — required search term (example: oklah)
  • language — optional language code (default en-us)

Python

import requests

url = "https://api.steadyapi.com/v1/booking/hotels/autocomplete"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
params = {"search": "oklah", "language": "en-us"}

response = requests.get(url, headers=headers, params=params)
response.raise_for_status()
matches = response.json().get("body", [])

place = matches[0]
print(place["name"], place["type"], place["coordinates"])

Response fields

Each item in body includes:

  • name — short place name
  • full_name — display label
  • type — destination type, such as CITY, REGION, AIRPORT, DISTRICT, or LANDMARK
  • destination_id — Booking destination id
  • country_code — country code
  • coordinates.latitude and coordinates.longitude — point used by the next call

2. Search hotels around that point

Pass the coordinates from autocomplete into the coordinate search. Check-in defaults to tomorrow and check-out to three days later when you omit the dates.

Endpoint: GET /v1/booking/hotels/search-by-coordinates

Documentation:
https://docs.steadyapi.com/#bookingcom-GETapi-v1-booking-hotels-search-by-coordinates

Request

GET https://api.steadyapi.com/v1/booking/hotels/search-by-coordinates?latitude=35.4676&longitude=-97.5164&radius=10&adults=2&rooms=1
Authorization: Bearer YOUR_API_KEY

Parameters

  • latitude — required, -90 to 90
  • longitude — required, -180 to 180
  • radius — optional radius in kilometers (default 10, max 100)
  • checkin — optional check-in date, YYYY-MM-DD
  • checkout — optional check-out date, YYYY-MM-DD, after check-in
  • adults — optional, default 2
  • children — optional count, default 0
  • rooms — optional, default 1
  • children_ages — optional comma-separated ages when children is greater than 0
  • language — optional, default en-us
  • min_price and max_price — optional integer price bounds
  • stars — optional comma-separated star values from 1 to 5, for example 3,4
  • limit — optional results per page (default 20, max 50)
  • page — optional page number (default 1)

Python

from datetime import date, timedelta

coords = place["coordinates"]
checkin = (date.today() + timedelta(days=14)).isoformat()
checkout = (date.today() + timedelta(days=17)).isoformat()

search_url = "https://api.steadyapi.com/v1/booking/hotels/search-by-coordinates"
search_params = {
    "latitude": coords["latitude"],
    "longitude": coords["longitude"],
    "radius": 10,
    "checkin": checkin,
    "checkout": checkout,
    "adults": 2,
    "rooms": 1,
    "language": "en-us",
}

search = requests.get(search_url, headers=headers, params=search_params)
search.raise_for_status()
hotels = search.json().get("body", [])

for hotel in hotels[:5]:
    price = hotel.get("price_info", {}).get("average_price_per_night", {}).get("amount")
    score = hotel.get("ratings", {}).get("internal", {}).get("score")
    print(hotel.get("hotel_id"), hotel.get("name"), score, price)

Response fields

body is a list of properties. Useful fields:

  • hotel_id — property id for a later details call
  • name — property name
  • location.formatted_address — short address
  • location.coordinates — property latitude and longitude
  • ratings.internal.score and ratings.internal.count — review score and review count
  • ratings.star_rating.value — star rating
  • price_info.average_price_per_night.amount — nightly price string
  • price_info.display_price.amount_per_stay.amount — stay total
  • photos.high_res — main photo URL
  • availability.is_sold_out — whether the property is sold out for those dates

Practical use

Resolve the place once, cache the coordinates, then page through search-by-coordinates with page and limit. Filter with stars or min_price / max_price before you call hotel details.

Hotel details are a separate call: GET /v1/booking/hotels/details with the hotel_id from search.

Documentation:
https://docs.steadyapi.com/#bookingcom-GETapi-v1-booking-hotels-details

👉 Get your API key and search hotels: https://steadyapi.com/register

How to Get the MLB Schedule Using SteadyAPI Sep 25, 2026

How to Get the MLB Schedule Using SteadyAPI

Learn how to get the MLB schedule with SteadyAPI. Pull a day's games, clubs, status, and scores.

How to Search Hotels Using SteadyAPI Sep 25, 2026

How to Search Hotels Using SteadyAPI

Learn how to find hotels by destination using SteadyAPI. Resolve a place name to coordinates, then pull property names, ratings, and prices with the Booking.com hotel search endpoints.

The Developer’s Guide to Integrating Real-Time MLS Property Data Jul 19, 2026

The Developer’s Guide to Integrating Real-Time MLS Property Data

This guide walks developers through building a modern real estate data pipeline with SteadyAPI. You'll learn how to search MLS property listings, retrieve tax and transaction histories, analyze local housing...

How to Build a Custom Real Estate Website Using a Realtor API Jun 28, 2026

How to Build a Custom Real Estate Website Using a Realtor API

A step-by-step developer's guide to building a custom real estate website. Learn how to implement address autocomplete, search filters, and property details with SteadyAPI.