Live demo

Hotel API suppliers

Hotels API for agencies and OTAs: where hotel rates come from

A hotels API lets your website show live room availability and prices and turn them into confirmed bookings. This page takes a hotel result apart field by field, compares the four kinds of hotel API you can sign, and shows what happens when several suppliers sell the same hotel.

  • Bedbanks, OTAs, GDS and direct
  • One hotel, many supplier IDs
  • Static and dynamic rates
  • Ready connectors

Anatomy of a hotel result

Every line of a hotel result comes from the API

One room offer on your results page is built from several pieces of supplier data. Some of it is imported once and stored, some of it is fetched live on every search.

Hotel photo

Galata Corner Rooms

Galata, Istanbul

  • Deluxe double room
  • Bed and breakfast
  • Free cancellation until 12 Nov, 23:59
  • Refundable
Net
USD 368.00
Markup 12%
+ 44.16
You sell atUSD 412.163 nights · 2 adults
  1. 1Static contentName, address, stars, photos and amenities. Imported from the supplier's content API on a schedule and served from your own database, not fetched on every search.
  2. 2Room typeThe room name and occupancy the supplier returns for your dates. The same physical room can carry different names at different suppliers.
  3. 3Board basisWhat meals are included: room only, bed and breakfast, half board, full board or all inclusive. Each board is a separate rate with its own price.
  4. 4RateThe total price for the stay and occupancy, returned live from the availability call. It is only valid for a short time.
  5. 5Cancellation policyThe deadline for free cancellation and the penalty after it. Suppliers send it with the rate and confirm it again before booking.
  6. 6Rate typeRefundable or non-refundable. Non-refundable rates are usually cheaper but cannot be cancelled without paying the full amount.
  7. 7Net and sell priceMost hotel APIs for agencies return a net rate. Your markup turns it into the sell price; with commissionable rates the supplier sets the price and pays you a commission.

The engine that assembles these pieces into search, checkout and vouchers is explained on the Hotel booking system API page.

Types of hotel API

Four kinds of hotel API

Hotel APIs differ in where the inventory comes from, who can sign and what the rates look like. Most agencies combine two or more.

Rooms from many hotel suppliers merged into one hotel list on a booking platform
  • 01

    Bedbank and wholesaler APIs

    On PHPTRAVELS: Hotelbeds, RateHawk, Hotelston, Stuba, Wanderbeds, TBO Holidays

    What you get

    Net rates for large hotel portfolios worldwide, contracted by the wholesaler and resold to the trade.

    Who signs

    Travel agencies, OTAs and tour operators, after the wholesaler approves the account.

    Best for

    B2B sales and packages where you set your own margin on every room.

  • 02

    OTA affiliate and partner APIs

    On PHPTRAVELS: Agoda, Booking

    What you get

    The OTA's own hotel inventory, usually at retail prices with a commission per stay.

    Who signs

    Affiliates and partners the OTA accepts into its partner programme.

    Best for

    B2C sites that want wide consumer inventory without managing net rates.

  • 03

    GDS hotel content

    On PHPTRAVELS: Amadeus, Travelport

    What you get

    Hotel chains and properties distributed through the GDS, often with corporate and negotiated rates.

    Who signs

    Agencies with a GDS contract, usually the same one used for flights.

    Best for

    Corporate travel and agencies already booking flights on a GDS.

  • 04

    Direct connect via channel managers

    On PHPTRAVELS: Channel manager connections and your own extranet

    What you get

    Rates and availability straight from the hotel, pushed through the channel manager it already uses.

    Who signs

    You and each hotel, under your own contract with it.

    Best for

    Agencies with direct hotel contracts, allotments or a regional speciality.

Wholesaler connectors are covered one by one in the Hotelbeds API integration, RateHawk API integration and Hotelston API integration guides; the OTA side in Agoda API integration; direct hotels in Channel manager integration.

The mapping problem

Three suppliers, one hotel

When you connect more than one hotel API, the same property arrives several times, each under its supplier's own name and ID. Without mapping, travellers see duplicates and you cannot compare rates.

  • Bedbank AGalata Corner RoomsHTL-48213
  • Bedbank BGalata Corner Hotel Rooms88417
  • OTA APIGALATA CORNER RMS - ISTANBUList_gal_0192
One property on your siteGalata Corner RoomsThree sources, cheapest matching rate shownHTL-4821388417ist_gal_0192
  • Name and address

    Spellings, abbreviations and transliterations are compared, not just exact text.

  • Coordinates

    Two records a few metres apart with similar names are very likely the same building.

  • Shared codes

    Chain codes, GDS property codes and supplier cross-references confirm a match when they exist.

  • Rooms and boards

    After the hotel is matched, rooms are compared on type, board and policy, so only true duplicates are merged.

PHPTRAVELS maps properties across connected suppliers and keeps the best rate for each matching room. How the mapping and deduplication run inside the engine is covered in Hotel booking system API.

Ready in PHPTRAVELS

Hotel API connectors you switch on with your own keys

These hotel suppliers are already connected to the PHPTRAVELS stays module. You sign with the supplier, enter your credentials in the admin, test and go live. This is the live list from our integrations directory.

Need a hotel supplier that is not listed? Any hotel API with documentation can be connected, and the source code is yours. See Custom API integration or the Travel XML API suppliers list.

Static versus dynamic

Static rates and dynamic rates

Hotel prices reach your site in two ways. Most platforms need both: live API rates for reach, stored rates for the hotels you contract yourself.

Static rates

Prices and allotments loaded in advance, from a contract or a rate sheet, and stored on your platform.

Dynamic rates

Prices and availability requested live from a supplier API for each search and confirmed before booking.

Where the price lives
In your own database or extranetIn the supplier's system, returned per search
Availability
An allotment you track and release yourselfWhatever the supplier has at that moment
Price changes
When you or the hotel update the contractContinuously; rechecked before the guest pays
Work for your team
Loading rates, stop sales and allotmentsSigning, certification and mapping per supplier
Typical source
Direct contracts with hotelsBedbanks, OTA APIs, GDS hotel content

In PHPTRAVELS, contracted rooms from your own extranet appear in the same results as rooms from connected hotel APIs. See the Stays features. A hotel selling its own rooms direct needs a Hotel booking engine instead.

Booking lifecycle

Five calls from search to after-sales

Whichever hotel API you use, a booking passes through the same checkpoints. Skipping one is how agencies end up selling rooms at the wrong price.

  1. 1

    Availability

    Destination, dates and occupancy in; hotels, rooms, boards and rates out.

  2. 2

    Recheck

    The chosen rate is priced again with its current cancellation policy before payment.

  3. 3

    Book

    Guest names go to the supplier, which returns a booking reference.

  4. 4

    Voucher

    A voucher with the hotel, room, board, policy and references goes to the guest.

  5. 5

    Amend or cancel

    Changes and cancellations follow the supplier's rules; many hotel APIs treat a change as cancel and rebook.

See hotel APIs working in a real booking engine

Search and book hotels in the live demo, then tell us which hotel suppliers you plan to sign.

Comparing options? Flights API and the full Travel APIs directory cover the other products.

FAQ

Hotels API: questions agencies ask

Talk to sales

A hotels API is a set of web services that lets a travel website search hotel availability and rates, confirm a price and create bookings in real time. Bedbanks, OTAs, GDSs and channel managers each offer one.

A bedbank API gives you net rates, so you add your own markup and set the sell price. An OTA affiliate API usually gives retail prices and pays you a commission. Bedbanks suit B2B and packages; OTA APIs suit consumer sites.

Many suppliers give free test access for development. Selling rooms always needs an approved account with the supplier, and its commercial terms decide what you earn per booking.

Each supplier uses its own hotel name and ID. Mapping matches them by name, address, coordinates and shared codes, so the hotel appears once with the best rate.

Search results are cached or calculated quickly, and rooms sell out. That is why the rate is rechecked with the supplier before payment and the guest sees the confirmed price and policy.

It is a rate type that cannot be cancelled without paying the full amount. It is usually cheaper than the refundable rate for the same room and board.

Yes. PHPTRAVELS searches every connected hotel supplier together, maps the same hotel across them and shows one list with your markups applied.

No. You sign with each hotel supplier and enter your own credentials in the admin. PHPTRAVELS provides the booking platform and the ready connectors.

Yes. On the Enterprise plan, the PHPTRAVELS REST API exposes search and booking from every connected supplier in one format, with webhooks for booking events.