Docs/Channels/Booking.com

Connect Booking.com

Let your users link their Booking.com account through a hosted, white-label connect page — the same model as connecting Airbnb. Your server mints a session, you send the user to a single URL, and they finish the link inside their own Booking.com Extranet.

How it works

From your server, you create a connect session. We give you a one-time URL on connect.repull.dev. Send your user there. The hosted page walks them through linking the connectivity provider in their Booking.com Extranet, then redirects them back to your app when they're done.

  1. Your server calls POST /v1/connect/booking with a redirectUrl.
  2. We return a url — a hosted page on connect.repull.dev.
  3. Redirect your user to url.
  4. On the hosted page, they open the Booking.com Extranet, enable the connectivity provider, and paste their Hotel ID (steps below).
  5. On success, the user lands back on your redirectUrl.

Same model as connecting Airbnb

Your server only mints a session and reads the result. The hosted connect page is rendered with your branding, and the user completes the link inside their own Booking.com account — you never handle their Booking.com credentials. See Connect Airbnb for the equivalent OAuth flow.

Start a connect session

Server-to-server. Authenticate with your live API key. Unlike Airbnb, there is no accessType for Booking.com — the connection is full property management.

curl -X POST 'https://api.repull.dev/v1/connect/booking' \
  -H 'Authorization: Bearer sk_live_...' \
  -H 'Content-Type: application/json' \
  -d '{
    "redirectUrl": "https://yourapp.com/connected"
  }'

Body parameters

redirectUrlstringRequired

Where we send the user after they finish (or abandon) the connect flow. We preserve your existing query params and append our own.

Response

{
  "url": "https://connect.repull.dev/cs_8gQrT2v9k3M4nLp7wJxYzAbCdEfGhIj",
  "sessionId": "cs_8gQrT2v9k3M4nLp7wJxYzAbCdEfGhIj",
  "expiresAt": "2026-06-25T18:25:14.000Z"
}
  • url — the one-time hosted connect page. Redirect your user here.
  • sessionId — the session identifier, in case you want to reference it later.
  • expiresAt — when the link stops working if the user hasn't finished. Mint a new session after this.

What the user does on the hosted page

The hosted page guides the user through enabling the connectivity provider in their Booking.com Extranet. The steps they follow:

  1. Sign in to the Booking.com Extranet.
  2. Open Connectivity Providers.
  3. Search for FantasticStay in the provider list.
  4. Click Connect next to FantasticStay.
  5. Paste their Hotel ID when prompted on the hosted page.

The provider is called FantasticStay

In their Booking.com Extranet, your users connect to a provider named FantasticStay— that is the connectivity provider name they will see and search for. Tell your users to look for FantasticStay so they don't go hunting for another name.

They need their Booking.com Hotel ID

The user must paste the Hotel ID from their Booking.com account to finish the link. It's the numeric property ID shown in their Extranet. If they don't have it handy, point them to their Extranet's property settings before they start.

Handle the redirect back

When the user finishes the connect flow, we redirect them to your redirectUrl. From there, confirm the connection from your server with GET /v1/connect/booking and start managing the property.

curl 'https://api.repull.dev/v1/connect/booking' \
  -H 'Authorization: Bearer sk_live_...'

# {
#   "connected": true,
#   "provider": "booking",
#   "status": "active"
# }

Once connected, you can manage properties, content, pricing, availability, messaging, and reservations on Booking.com. See the Booking.com channel guides for everything you can do next.

AI