Bulk-load and incrementally sync static Hotelbeds hotel content (descriptions, images, facilities) via the Content API, kept separate from the Booking API's live pricing/availability.
domain: developer.hotelbeds.com · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Authenticate every request with an Api-key header plus an X-Signature header — a SHA256 hex digest of (Api-Key + Secret + current Unix timestamp in seconds) — against the test endpoint https://api.test.hotelbeds.com.
Paginate through GET /hotel-content-api/1.0/hotels?fields=all&language=ENG&from=1&to=1000 in batches of up to 1000 hotels (from/to) to bootstrap your local content database.
Also pull the companion master-data operations you need to resolve coded fields returned in the Hotels response: Countries, Destinations, Rooms, Boards, Accommodations, Categories, Chains, Facilities, Facility Groups, Issues, Languages, Promotions, Segments, Images.
Repeat the whole load once per language you support, since descriptive text fields are language-dependent.
For ongoing sync, call the Hotels endpoint again (recommended daily) adding &lastUpdateTime=<date> to fetch only hotels changed since that date instead of a full re-pull.
Keep this static data in your own store and get dynamic data (prices, availability, cancellation policies, fees) only from the separate Booking API — never call the Content API in real time per booking request.
Known gotchas
Hotelbeds explicitly warns that real-time/on-demand polling of the Content API can get your credentials blocked — it's designed strictly for periodic batch sync into your own DB, not live lookups.
A full initial catalog load covers well over 150,000 hotels; at the production rate-limit cap that's a hard floor on load time, and it must be repeated per language.
RateComments content can instead be pulled live per-rate from the Booking API's CheckRate operation, trading extra Content API requests for real-time freshness — decide per your use case rather than assuming you must bulk-store it.
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?