GET

IHG Search API

Find IHG hotels near a set of coordinates, sorted by distance, with full property metadata.

Overview

Metadata only — no pricing or availability

This endpoint returns property metadata (name, brand, address, coordinates, photos, ratings) sorted by distance. It does not return rates or availability, so there are no date parameters. Take the hotel_code from each result and call the IHG Rooms endpoint to get rates and availability.

The IHG Search endpoint covers all IHG-branded properties (InterContinental, Holiday Inn, Crowne Plaza, Kimpton, voco, Hotel Indigo, Staybridge Suites, Candlewood Suites, and more). It returns hotels near a geographic location with brand information, structured address, coordinates, photos, a guest-review summary, and distance from the search center.

Endpoint URL

GET https://api.stayapi.com/v1/ihg/search

Parameters

Parameter Type Required Description
latitude float Required Latitude of search center (-90 to 90)
longitude float Required Longitude of search center (-180 to 180)
radius_miles integer Optional Search radius in miles (1-100). Default: 50
limit integer Optional Maximum properties to return (1-120). Default: 50

Coordinates only

This endpoint searches by latitude/longitude — it does not accept a city or country name. Use Google Maps or a geocoding service to convert a place name to coordinates first. For example, Manhattan is approximately 40.7231, -73.9309.

Response Format

The response includes a list of IHG hotels with brand details, structured address, coordinates, photos, a guest-review summary, and distance from the search coordinates, nearest first.

Response Structure

  • success: Boolean indicating request success
  • hotels: Array of hotel objects (sorted by distance)
  • total: Number of hotels returned

An empty hotels array with success: true means no IHG properties fall within the radius — it is not an error.

Hotel Object Fields

Field Type Description
hotel_code string IHG hotel mnemonic (e.g., "NYCEX", "USMKM"). Use with the Rooms endpoint to get rates.
name string Hotel name
brand object Brand details (code, name, chain_code) e.g., "Holiday Inn Express"
location object GPS coordinates (latitude, longitude)
address object Structured address (street, city, state, postal_code, country, country_code)
distance_miles float Straight-line distance from the search center, in miles
distance_km float Straight-line distance from the search center, in kilometers
image string Primary hotel image URL
photos array Additional photos, each with url and caption
rating float Average guest review (IHG's own 1-5 scale)
review_count integer Total number of guest reviews
status string Property status (e.g., "OPEN")
url string Deeplink to the property page on ihg.com

Error Responses

The API returns standard HTTP error codes with detailed error messages following the RFC 7807 Problem Details format.

422 Unprocessable Entity

Invalid request parameters (e.g., out-of-range coordinates, missing latitude/longitude)

{
  "detail": [
    {
      "loc": ["query", "latitude"],
      "msg": "Input should be less than or equal to 90",
      "type": "less_than_equal"
    }
  ]
}

502 Bad Gateway

Upstream service error from IHG

{
  "type": "https://api.stayapi.com/errors/upstream-error",
  "title": "Upstream Error",
  "status": 502,
  "detail": "Failed to fetch search results",
  "provider": "ihg",
  "product": "search"
}

Usage Tips

Best Practices

  • Use precise coordinates for best results (e.g., city center or airport location)
  • This endpoint is metadata only — pass the hotel_code to the Rooms endpoint to get rates and availability for specific dates
  • Results are sorted by distance (nearest first); use radius_miles to bound the search area
  • Geocode city/country names to coordinates before calling this endpoint
  • The distance_miles field helps rank results by proximity

Rate Limiting

This endpoint is subject to your plan's rate limits. Each search counts as one API call regardless of the number of results returned.

Related Endpoints

IHG Rooms

Get room types and rates for a specific IHG property

View Documentation →

IHG URL to Hotel ID

Extract an IHG hotel mnemonic from an ihg.com URL

View Documentation →
Request
curl -X GET "https://api.stayapi.com/v1/ihg/search?latitude=40.7231&longitude=-73.9309&radius_miles=25&limit=10" \
  -H "X-API-Key: YOUR_API_KEY"
Response
{
  "success": true,
  "total": 70,
  "hotels": [
    {
      "hotel_code": "NYCEX",
      "name": "Long Island City E - New York",
      "brand": {
        "code": "HIEX",
        "name": "Holiday Inn Express",
        "chain_code": "EX"
      },
      "location": {
        "latitude": 40.73748,
        "longitude": -73.93607
      },
      "address": {
        "street": "52-09 31st Place",
        "city": "Long Island City",
        "state": "NY",
        "postal_code": "11101",
        "country": "United States",
        "country_code": "US"
      },
      "distance_miles": 1.03,
      "distance_km": 1.65,
      "image": "https://digital.ihg.com/is/image/ihg/holiday-inn-express-long-island-city-original",
      "photos": [
        {
          "url": "https://digital.ihg.com/is/image/ihg/holiday-inn-express-long-island-city-1",
          "caption": "Lobby"
        }
      ],
      "rating": 3.91,
      "review_count": 270,
      "status": "OPEN",
      "url": "https://www.ihg.com/hotels/us/en/find-hotels/hotel/rooms?qDest=&qHotelCode=NYCEX"
    }
  ]
}