Airbnb URL Parser — Resolve a Listing or Search Link
Documentation menu
FetchLayer FetchLayer API

Read an Airbnb link

Read any Airbnb link and say what it names — a listing or a search — along with the listing 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 saying so rather than as an error you have to catch. **Free.** It makes no request to Airbnb at all, answered in ~0.10s across the calls measured on 17 September 2026, and reports `pagesFetched: 0`.

POST /resolve-url Utilities
https://api.fetchlayer.dev/airbnb/resolve-url
OpenAPI JSON

Headers

Authorization string required

Bearer token — your FetchLayer API key.

Parameters

url string required

Any Airbnb link — a listing or a search.

format string optional

Envelope format: json or markdown. (default: json)

Response Fields

resolve-url

Read an Airbnb link

transport string

The source. "airbnb".

notes string[]

Caveats and completeness statements you can act on, in plain words. On /listing-reviews this is where the "10 of the 52" line lives; on the priced routes it is where the stay window used for pricing is stated; on /listing-availability it is where the booking-window warning lives — read it before reading a run of closed nights as a closure.

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

"listing" when the link names one, "search" for a search link, or "unknown" when it names neither — the last with a note reading "This link does not name a listing this service recognizes." rather than an error.

canonicalUrl string

The listing's canonical `airbnb.com/rooms/…` address, with tracking and date parameters stripped. Null on a search or an unknown link.

listingId string

The listing id the link encodes, ready to pass to /listing-detail or /listing-reviews as `listing`. Null on a search or an unknown link.

Request

curl -X POST "https://api.fetchlayer.dev/airbnb/resolve-url" \
  -H "Authorization: Bearer ss-your-key" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://www.airbnb.com/rooms/7743405?check_in=2026-11-10&check_out=2026-11-14"}'

Response

{
  "transport": "airbnb",
  "notes": [],
  "pagesFetched": 0,
  "kind": "listing",
  "canonicalUrl": "https://www.airbnb.com/rooms/7743405",
  "listingId": "7743405"
}