Hilton API: How to Check Availability and Get Room Rates Programmatically

Denis Gramm, StayAPI
By Denis Gramm, StayAPI · · 11 min read

I hope you enjoy reading this blog post. If you want our team to help you with hotel data integration, click here.

Quick summary

This guide covers what Hilton's developer portal actually grants, and the working route to availability, starting rates, and property status for any of Hilton's 28 brands, with live London and Manchester examples.

Hilton API: How to Check Availability and Get Room Rates Programmatically — StayAPI

Hilton has a developer portal, which puts it ahead of most hotel chains, and it's for partners.
The Hilton API catalog is unlocked one endpoint at a time under an agreement with Hilton, and the front door is a "Request API Access" form rather than a signup button.
If you've been searching for a Hilton API to check availability, pull room rates, or track a property over time, that portal wasn't built for you.
The data route exists anyway: three endpoints that read hilton.com's public search and booking display for any of the group's 9,400-plus properties across 28 brands, documented on the Hilton API page from StayAPI.
This guide covers what Hilton offers officially and to whom, what data you can actually get, and two worked examples with real responses: every Hilton hotel in a city, and the starting rates for one property.

Key Takeaways

  • Hilton's developer portal is partner-only. It documents distribution endpoints for shopping and reserving rooms, and access is granted per endpoint under an agreement with Hilton.
  • Three endpoints cover the practical jobs. Search by place name or coordinates, rooms and starting rates by property, and URL-to-ID conversion.
  • One integration spans all 28 brands. A London search returned Waldorf Astoria, Curio, NoMad, Hilton, and Conrad properties in one schema; Manchester added Hampton, DoubleTree, and Hilton Garden Inn.
  • Property status is data. Search results carry open, opening-date, and reservations-enabled flags, so a hotel opening in December is visible now.
  • Starting rates only. The rooms endpoint returns one cash offer per room type with taxes flagged, and no points inventory; review text isn't in the Hilton set.

What Hilton Officially Offers Developers

What Hilton Officially Offers Developers — StayAPI

The Hilton developer portal is real, public, and worth understanding before you apply to it.

Route Who It's For What It Covers
Direct Connect (Distribution domain) Distribution partners that sell Hilton rooms Shop single and multiple properties, create and manage reservations
GDS and switch connectivity Global distribution systems and connectivity providers Rates, availability, and bookings for agencies and corporate travel
Hilton Honors partnerships Loyalty program partners Points earning and redemption offers
Property systems Hotels in the Hilton system and their vendors Running your own property

The catalog's stated purpose for the distribution domain is to "get Hilton rooms into the marketplace, so guests can shop for and make reservations using our sales channels," and the access model is explicit: partners are granted access to each endpoint individually, depending on the application and the agreement with Hilton.
The "Hilton API login" people search for is that portal's login, and it works once you're a granted partner.
The connectivity route is the one you read about in press releases.
Amadeus announced a direct integration of Hilton's API in 2022 so the chain could distribute content faster to the GDS, which is the shape every Hilton API story takes: a strategic partnership, negotiated, covering the whole estate.
The pattern matches Marriott and every other chain we've documented.
Selling and operating have official channels; reading availability or rates for properties you don't operate isn't a product Hilton offers developers, and an application for the distribution route is a business conversation about volume.

What Hilton Data You Can Actually Get

What Hilton Data You Can Actually Get — StayAPI

Third-party hotel data APIs read hilton.com's public surfaces as documented REST endpoints.
For Hilton that means three StayAPI endpoints against one hotel code.

Endpoint What It Returns
Search Every Hilton property matching a place name or a coordinate pair, with brand code, address, coordinates, phone, photos, amenity IDs, guest rating with review count, and property status
Rooms Available room types for a property and dates, each with one starting cash rate: nightly average, exact stay total, currency, and whether taxes and service charges are included
URL-to-ID Any hilton.com hotel or reservation URL converted to the 7-character hotel code

Scope, stated plainly.
The rooms endpoint's pricing_scope is starting_rates: one cash offer per room type, not the full rate-plan list, and no Hilton Honors points inventory.
Display currency is USD or GBP, occupancy is 1 to 4 adults in one room, and there's no review text (search carries the aggregate rating and count; the reviews themselves resolve on the OTA endpoints under the same key).
Next to IHG's rooms endpoint, which returns member flags and points pricing, Hilton's is leaner on rate detail and richer on property metadata: opening dates, seasonal closures, and reservation status come back with every search result.
Hotel codes are Hilton's own 7-character mnemonics (LONHITW for the London Hilton on Park Lane, MANESGI for the Hilton Garden Inn at Old Trafford), and they're the key for the rooms endpoint.

Worked Example 1: Every Hilton Hotel in a City

Worked Example 1: Every Hilton Hotel in a City — StayAPI

StayAPI's search endpoint takes a query or a coordinate pair.
Here's London by name:

curl -X GET "https://api.stayapi.com/v1/hilton/search?query=London&limit=20" \
  -H "x-api-key: YOUR_API_KEY"

The response (truncated to two properties):

{
  "success": true,
  "total": 20,
  "location_match": { "name": "London, UK", "type": "locality", "location": { "latitude": 51.507408, "longitude": -0.1274197 } },
  "hotels": [
    {
      "hotel_code": "LONENWA",
      "name": "Waldorf Astoria London - Admiralty Arch",
      "brand_code": "WA",
      "address": { "street": "The Mall", "city": "London", "country_code": "GB" },
      "status": { "open": false, "open_date": "2026-12-01", "reservations_enabled": true, "reservations_enabled_date": "2027-02-01", "seasonally_closed": false },
      "rating": null,
      "review_count": null,
      "url": "https://www.hilton.com/en/hotels/lonenwa-waldorf-astoria-london-admiralty-arch/"
    },
    {
      "hotel_code": "LONTSQQ",
      "name": "The Trafalgar St. James London, Curio Collection by Hilton",
      "brand_code": "QQ",
      "status": { "open": true, "open_date": "2017-08-19", "reservations_enabled": true },
      "rating": 4.8,
      "review_count": 2334,
      ...
    }
  ]
}
Field Description
hotel_code Hilton's 7-character property code, the key for the rooms endpoint
brand_code Which of the 28 brands the property belongs to (WA, QQ, HI, CH, DT, HP, GI...)
status.open / open_date Whether the hotel is trading, and when it opens if not
status.reservations_enabled_date When bookings open for a property that isn't taking them yet
rating / review_count hilton.com's aggregate guest score and its sample size

The first result is the interesting one.
The Waldorf Astoria at Admiralty Arch isn't open yet, opens on December 1, and starts taking reservations in February 2027, and all of that is in the payload today.
An openings pipeline for a market is a weekly search with a filter on status.open.
The same call for Manchester returned 12 properties across DoubleTree, Hampton by Hilton, Hilton Garden Inn, Hilton, and an affiliated independent, each with its brand code, which is the brand-family claim made concrete.
Full parameters are in the Hilton search endpoint documentation.

Worked Example 2: Starting Rates for One Property

Worked Example 2: Starting Rates for One Property — StayAPI

curl -X GET "https://api.stayapi.com/v1/hilton/rooms?hotel_code=LONHITW&check_in=2026-10-06&check_out=2026-10-08&adults=2&currency=GBP" \
  -H "x-api-key: YOUR_API_KEY"

The response (truncated to two room types):

{
  "success": true,
  "hotel_code": "LONHITW",
  "check_in": "2026-10-06",
  "check_out": "2026-10-08",
  "adults": 2,
  "currency": "GBP",
  "native_currency": "GBP",
  "pricing_scope": "starting_rates",
  "total": 18,
  "room_types": [
    {
      "code": "K1",
      "name": "King Guest Room",
      "occupancy": 2,
      "beds": 1,
      "accessible": false,
      "suite": false,
      "rates": [
        { "rate_plan_code": "HPPAP4", "per_night": 430.8, "total": 861.6, "total_formatted": "£861.60", "currency": "GBP", "includes_taxes_and_service_charges": true, "rate_changes_during_stay": true }
      ]
    },
    {
      "code": "D2RRF2",
      "name": "Family Room",
      "occupancy": 3,
      "beds": 2,
      "rates": [
        { "rate_plan_code": "HPPAP4", "per_night": 455.03, "total": 910.05, "total_formatted": "£910.05", "currency": "GBP", "includes_taxes_and_service_charges": true, "rate_changes_during_stay": true }
      ]
    },
    ...
  ]
}
Field Description
total Number of available room types for the dates (18 here)
rates[].per_night Average nightly display amount for the stay
rates[].total The exact published stay total; don't multiply the rounded nightly figure
rates[].includes_taxes_and_service_charges Whether the number is all-in
rates[].rate_changes_during_stay Whether the nightly rate differs across the nights
pricing_scope Always starting_rates: one starting cash offer per room type

Three things to read off this.
Availability is the list itself.
Eighteen room types came back for these dates; a sold-out room type is absent rather than flagged, and an unverifiable sold-out result returns an error rather than an empty list.
The total is authoritative.
£430.80 a night times two is £861.60 here, but rate_changes_during_stay is true, so on other stays the rounded nightly figure won't multiply to the total, and the endpoint tells you which number to trust.
Taxes are inside the number, which is the opposite of a Booking.com payload for the same kind of room, and the hotel price API guide covers how to normalize across the two.
The same call against the Hilton Garden Inn at Old Trafford (MANESGI) returned a £79.98 Twin Room and an £88.05 accessible King for the same nights, which is the brand range in one schema: a Park Lane view at £430.80 and a Manchester twin at £79.98, identical fields.
Full parameters are in the Hilton rooms endpoint documentation.

What Teams Build with Hilton Data

What Teams Build with Hilton Data — StayAPI

  • Direct-vs-OTA rate tracking. The rooms endpoint gives hilton.com's starting rate; Google Travel's prices endpoint gives the same property's partner offers. For the London Hilton on Park Lane this week, the direct rate was £536 against £603 and £604 on the two largest OTAs, and the daily delta is the rate parity conversation.
  • An openings pipeline. Weekly searches per market, filtered on status.open and open_date, surface new properties months before their reviews exist anywhere.
  • Comp sets by brand tier. One city search returns the Hampton and the Conrad with their brand codes, so a select-service comp set and a luxury one come from the same call.
  • Rate history by polling. The rooms call, scheduled daily, builds the starting-rate history that no one sells; our hotel price tracker guide covers the tracking build.

Getting Started

  1. Sign up at stayapi.com. Free tier, no credit card, no partnership application.
  2. Find your hotel codes: run a search by city or coordinates, or paste any hilton.com property URL into the URL-to-ID endpoint (the Trafalgar St. James URL comes back as LONTSQQ).
  3. Make the two calls above with your own properties and dates.
  4. Schedule the rooms call (daily or weekly) to build a rate history, and the search call weekly to catch openings, then pipe the JSON into your database, Google Sheets, Power BI, or no-code platforms like N8N and Make.com. For portfolio- or market-scale projects across Hilton and the other chains, book a demo call.

FAQ

Does Hilton have a public API?

Hilton has a developer portal, and it's for partners: distribution endpoints for shopping and reserving rooms, granted per endpoint under an agreement with Hilton.
Third-party data APIs are the route for reading availability, starting rates, and property status programmatically.

How do I get Hilton API access?

Through the "Request API Access" form on Hilton's developer portal, which starts a partner conversation about what your application sells and at what volume.
For read-only data on Hilton properties, a hotel data API key covers it without an application.

Which Hilton brands does the data cover?

The whole family resolves through the same endpoints: Waldorf Astoria, Conrad, Curio, NoMad, Hilton, DoubleTree, Hilton Garden Inn, Hampton, and the rest of the 28 brands.
Search results carry a brand_code, so filtering to one brand is a one-line operation.

Can I get Hilton Honors points prices through an API?

Not from the Hilton set, whose rooms endpoint returns starting cash rates only.
Points pricing beside cash rates is available for IHG through its rooms endpoint, which our IHG API guide walks through.

How do I find a Hilton hotel code?

Two ways: search by place and read the hotel_code field, or pass any hilton.com property URL to the URL-to-ID endpoint.
Codes are 7 characters (LONHITW, MANESGI), stable per property, and they also appear at the start of every hilton.com hotel URL.

Ship in 3 days

Ready to simplify your hotel data?

Join other developers using StayAPI to build the next generation of travel applications. Get started for free today.