Wire it up. See the schema.
- 100 free requests on signup
- Every endpoint included
- No credit card required
- Same schema as paid
A quick demo might save your team weeks of engineering work.
Resources
Free Tools
Pull property search, live cash rates, IHG One Rewards points pricing, and hotel-code resolution across every IHG brand as clean JSON.
curl "https://api.stayapi.com/v1/ihg/search" \ -G \ -H "x-api-key: $STAYAPI_KEY" \ -d "latitude=40.7231" \ -d "longitude=-73.9309" \ -d "radius_miles=25" \ -d "limit=10"
curl "https://api.stayapi.com/v1/ihg/rooms" \ -G \ -H "x-api-key: $STAYAPI_KEY" \ -d "hotel_code=USMKM" \ -d "check_in=2026-12-15" \ -d "check_out=2026-12-17" \ -d "adults=2"
curl "https://api.stayapi.com/v1/ihg/hotel/url-to-id" \ -G \ -H "x-api-key: $STAYAPI_KEY" \ -d "url=https://www.ihg.com/kimptonhotels/hotels/us/en/maikhao/usmkm/hoteldetail"
{
"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,
"rating": 3.91,
"review_count": 270,
"status": "OPEN"
}
]
}
{
"success": true,
"hotel_code": "USMKM",
"currency": "THB",
"brand_code": "KIKI",
"country_code": "TH",
"total": 13,
"room_types": [
{
"code": "CPUG",
"name": "Essential Room",
"max_adults": 2,
"max_children": 1,
"available_rooms": 9,
"rates": [
{
"name": "Best Flexible Rate",
"rate_plan_code": "IGCOR",
"per_night": 15562.43,
"per_night_after_tax": 18472.61,
"total": 36945.21,
"currency": "THB",
"is_member_rate": false,
"is_advance_purchase": false
}
],
"reward_options": [
{
"points": 79500,
"cash": null,
"cash_currency": null,
"points_total": 159000,
"cash_total": null
},
{
"points": 59500,
"cash": 149.0,
"cash_currency": "USD",
"points_total": 119000,
"cash_total": 298.0
}
]
}
]
}
{
"success": true,
"url": "https://www.ihg.com/kimptonhotels/hotels/us/en/maikhao/usmkm/hoteldetail",
"hotel_code": "USMKM"
}
Trusted by hospitality teams at
IHG Hotels & Resorts runs Holiday Inn, Crowne Plaza, InterContinental, Kimpton, voco, Hotel Indigo, Staybridge Suites, Candlewood Suites, and more, but it has no public data API for the rates and availability that revenue and product teams actually need. The usual answer is a scraping stack: headless browsers, rotating proxies, and a parser that breaks every time ihg.com ships a layout change.
StayAPI is that layer, run for you. You send coordinates or an IHG hotel code and get structured JSON back: nearby properties with brand and address, live cash rates per room type with taxes and fees, and the IHG One Rewards points and points-plus-cash ladder. The same data, the same shape, on every call.
Every room returns rates (cash, in the property's local currency) and reward_options (IHG One Rewards points and points+cash) in one response. No second call to compare them.
Fetching, parsing, proxy rotation, and source uptime are ours. You pass an x-api-key and consume normalized JSON, never a headless browser.
Each call hits IHG's availability service, so rates, points levels, and inventory counts are current to the request, not a stale nightly snapshot.
Each returns normalized JSON in the same shape. Click any endpoint for parameters, an example response, and a live playground.
The same endpoints, pointed at different jobs. These are the ones we see most.
Pull IHG's own cash rates per room type and date, then compare them against the OTA prices you already track to catch where ihg.com undercuts or matches the channels.
Poll the rooms endpoint for a hotel code over a date range to watch how rates, inventory counts, and reward levels move as a stay fills up.
Surface IHG One Rewards points and points+cash options next to the cash rate so a traveler or tool can see when redeeming beats paying for an IHG property.
Benchmark a Holiday Inn or Crowne Plaza against nearby IHG brands on rate and room type using the same fields for every property in the search radius.
Flat monthly plans, every endpoint included on every plan. 1 request = 1 credit. No per-endpoint multipliers, no surprise overages.
Wire it up. See the schema.
Kick the tires in production.
Small prod workloads and growing apps.
Daily pulls in production.
Above 100k / month, annual terms, white-glove onboarding.
Every plan ships every endpoint. Same uptime, same schema, same response time.
IHG runs partner and connectivity programs for travel agencies and corporate channels, but it has no open, self-serve data API for pulling search results, room rates, or reward pricing. StayAPI gives you that data over plain REST with a key you get in 30 seconds, across Holiday Inn, Crowne Plaza, InterContinental, Kimpton, and every other IHG brand.
Yes. Call /v1/ihg/rooms with a hotel_code and your check_in / check_out dates. You get every bookable room type with cash rate plans (taxes and fees included) and the IHG One Rewards points and points+cash ladder, fetched live on each call. See the rooms endpoint docs.
Call /v1/ihg/search with a latitude and longitude. You get IHG properties within the radius, nearest first, each with brand, structured address, coordinates, photos, and a review summary. Take the hotel_code from a result and pass it to the rooms endpoint for rates. If you only have an ihg.com link, resolve it first with url-to-id.
You get 100 free requests on signup, every endpoint included, no credit card. After that it is flat monthly plans starting at $49. One request equals one credit, with no per-endpoint multipliers.
Both end with live IHG data in your stack. The fast path is on the left.
100 free requests after sign up. Fastest way to see if the schema fits.
Start free15 minutes. Volume + endpoint mix. Walk out with a quote.
Book a demo