A live API for integration partners
Best Guest's API lets PMSs, channel managers, and booking engines offer Czech guest-registration compliance directly inside their own product.
Why integrate with Best Guest
Your Czech customers need guest registration, UbyPort reporting, e-Turista readiness, and local accommodation fee compliance. 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.
UbyPort Reporting
Foreign-guest reports filed with Czech authorities on your customers' behalf.
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.