A live API for integration partners
Best Guest is building an API so PMSs, channel managers, and booking engines can offer guest-registration compliance across European countries directly inside their own product.
Why integrate with Best Guest
Your customers operating across Europe need guest registration, local authority reporting, and local accommodation fee compliance — and the rules differ by country. Best Guest handles it — your platform can offer it as a built-in feature instead of sending customers elsewhere.
Capabilities
What the API supports today. A couple of pieces below are still on the roadmap, marked as such.
Reservation API
Push bookings into Best Guest so guest registration starts automatically.
Check-in API
Trigger and track online guest check-in without leaving your product.
Compliance API
Read back registration status, house book entries, and fee calculations.
Local Authority Reporting
Guest reports filed with local authorities on your customers' behalf — automated where an official system exists (UbyPort in Czechia is live in production today), with ready-to-file documents in countries where no public API exists yet.
Webhooks (planned)
Real-time events for registration completion, fee reports, and reservation changes — on our near-term roadmap; today, poll a reservation's status instead.
Sandbox
We'll set your integration up with a demo workspace to build and validate against before you go live with real guest data.
SDKs
Client libraries planned to speed up integration for common partner stacks.
Security & Data Residency
GDPR-aligned handling of guest data, hosted in the EU.
How to get access
Two paths, depending on what you're building.
Your own API key
Already a Best Guest customer? Generate a scoped, revocable key yourself in Settings → API Access — no approval needed.
Platform integration
Building this into a channel manager, PMS, or booking engine used by many customers? Tell us about your platform below and we'll set you up as an integration partner.
Live example
POST /v1/upsertReservation
Authorization: {partner_api_key}
Content-Type: application/json
{
"externalId": "your-own-booking-id",
"accommodationId": 4821,
"listingIds": [10432],
"fromDate": "2026-08-14",
"toDate": "2026-08-18",
"personsCount": 2,
"countryOfResidence": "Germany",
"recipientLanguage": "en",
"email": "guest@example.com"
}
→ HTTP 200
{
"result": true,
"data": {
"reservationId": 9310,
"externalId": "your-own-booking-id",
"created": true,
"status": "NOT_COMPLETED",
"checkinUrl": "https://bestguest.app/..."
}
} This is the real request/response shape from the live API — not a mockup.
Request API access
Tell us about your platform and we'll get back to you about a partnership.
Request received
Thanks — our team will review your request and get back to you shortly.