Read a Booking.com link
Read any Booking.com link and say what it names — a property or a search — along with the compact id it encodes and its canonical URL, ready to hand to the other routes. The right first step for a pile of pasted links: it sorts them before a single page fetch is spent, and a link it does not recognise comes back as `kind: "unknown"` with a note rather than as an error you have to catch. **Free.** It makes no request to Booking.com at all, answered in 0.065-0.13s across the calls measured on 17 September 2026, and reports `pagesFetched: 0`.
/resolve-url Utilities https://api.fetchlayer.dev/booking/resolve-url Headers
Authorization string required Bearer token — your FetchLayer API key.
Parameters
url string required Any Booking.com link — a property page or a search.
format string optional Envelope format: json or markdown. (default: json)
Response Fields
resolve-url
Read a Booking.com link
transport string The source. "booking".
notes string[] Caveats and completeness statements you can act on, in plain words. On /hotel-reviews this is where the "10 of the 3854" line lives; on /search-hotels it is where a default stay window is declared when you passed no dates; on /hotel-detail it is where the "this route does not price a stay" answer lives.
pagesFetched number Pages read, and what the request is billed at: 1 credit per page. A page costs the same whether it comes back full or half empty. /resolve-url reports 0 and is free.
kind string "hotel" when the link names a property, "search" for a results link, or "unknown" when it names neither — the last with a note saying the link does not name a property this service recognizes, rather than an error.
canonicalUrl string The property's canonical booking.com address, with tracking and date parameters stripped. Null on a search or an unknown link.
hotelId string The compact `"countryCode/pageName"` id the link encodes, ready to pass to /hotel-detail or /hotel-reviews as `hotel`. Null on a search or an unknown link.
Request
curl -X POST "https://api.fetchlayer.dev/booking/resolve-url" \
-H "Authorization: Bearer ss-your-key" \
-H "Content-Type: application/json" \
-d '{"url":"https://www.booking.com/hotel/fr/du-printemps-paris.html"}'Response
{
"transport": "booking",
"notes": [],
"pagesFetched": 0,
"kind": "hotel",
"canonicalUrl": "https://www.booking.com/hotel/fr/du-printemps-paris.html",
"hotelId": "fr/du-printemps-paris"
}