Airbnb Search URL Parameters
An Airbnb search page reads its filters straight out of the URL's query string — amenities, property type, room type, bedroom/bed/bathroom minimums, price range, Superhost, dates. This is a structured reference for those parameters: the key, what kind of value it takes, a real example, and the known value sets where Airbnb uses a closed list.
The parameters CustomBNB's own search tool uses, not an exhaustive reverse-engineering of Airbnb's full API. CustomBNB only implements 4 of Airbnb's property types and 3 room types — Airbnb's own UI exposes roughly 50 property types in total, most undocumented. Where this table says a value set is “known,” it means known to us, not exhaustive.
This is documentation of URL syntax, not the search tool itself — for filtering by any of Airbnb's 500+ hidden amenity codes, use the search tool. For what each amenity code means, see the amenity code dataset.
Worked example
Combining an apartment-only filter (l2_property_type_ids[]=2), one amenity code for Hot Tub (amenities[]=25 — see the amenity dataset for the full list) and a €50–€200 nightly price range:
https://www.airbnb.com/s/Europe/homes?place_id=ChIJhdqtz4aI7UYRefD8s-aZ73I&l2_property_type_ids%5B%5D=2&amenities%5B%5D=25&price_min=50&price_max=200
License & attribution
Free to use and redistribute, for any purpose, no restrictions. A link back to custombnb.app is appreciated, not required. Suggested citation:
Source: CustomBNB (custombnb.app/data/airbnb-search-url-parameters)
Parameter reference
| Parameter | Type | Example | Known values | Notes |
|---|---|---|---|---|
| place_id | single value (string) | place_id=ChIJhdqtz4aI7UYRefD8s-aZ73I | any Google Places ID | The search region as a Google Places ID. CustomBNB always searches within Europe. |
| checkin | single value (date, YYYY-MM-DD) | checkin=2026-09-01 | — | Omitted entirely for a dateless (flexible) search, along with checkout. |
| checkout | single value (date, YYYY-MM-DD) | checkout=2026-09-08 | — | Paired with checkin; both or neither. |
| room_types[] | repeatable array (string) | room_types[]=Entire home/apt | Entire home/apt, Private room, Shared room | Repeat the parameter once per value to select more than one. |
| l2_property_type_ids[] | repeatable array (integer) | l2_property_type_ids[]=2 | 1=House, 2=Apartment, 8=Guest House, 4=Hotel | Airbnb's internal property-type IDs. CustomBNB's search tool only offers these 4 — Airbnb's own UI exposes roughly 50 property types in total, most of them undocumented. |
| min_bedrooms | single value (integer) | min_bedrooms=2 | 0 and up | |
| min_beds | single value (integer) | min_beds=3 | 0 and up | |
| min_bathrooms | single value (integer) | min_bathrooms=1 | 0 and up | |
| amenities[] | repeatable array (integer) | amenities[]=25 | see the full 500+ code dataset | One of Airbnb’s numeric amenity codes. Repeat the parameter once per code to stack filters. |
| price_min | single value (integer) | price_min=50 | 0 and up | Per-night price floor, in the currency Airbnb has resolved for the visitor. |
| price_max | single value (integer) | price_max=200 | 0 and up | Per-night price ceiling. |
| superhost | boolean | superhost=true | true | Present and set to true to restrict to Superhost listings; omitted otherwise. |
12 parameters — download the full reference above.