Skip to main content

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 590 hidden amenity codes, use the search tool. For what each amenity code means, see the amenity code dataset. For why Airbnb hides these filters in the first place, see this guide.

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

ParameterTypeExampleKnown valuesNotes
place_idsingle value (string)place_id=ChIJhdqtz4aI7UYRefD8s-aZ73Iany Google Places IDThe search region as a Google Places ID. CustomBNB always searches within Europe.
checkinsingle value (date, YYYY-MM-DD)checkin=2026-09-01—Omitted entirely for a dateless (flexible) search, along with checkout.
checkoutsingle value (date, YYYY-MM-DD)checkout=2026-09-08—Paired with checkin; both or neither.
room_types[]repeatable array (string)room_types[]=Entire home/aptEntire home/apt, Private room, Shared roomRepeat the parameter once per value to select more than one.
l2_property_type_ids[]repeatable array (integer)l2_property_type_ids[]=21=House, 2=Apartment, 8=Guest House, 4=HotelAirbnb'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_bedroomssingle value (integer)min_bedrooms=20 and up
min_bedssingle value (integer)min_beds=30 and up
min_bathroomssingle value (integer)min_bathrooms=10 and up
amenities[]repeatable array (integer)amenities[]=25see the full 500+ code datasetOne of Airbnb’s numeric amenity codes. Repeat the parameter once per code to stack filters.
price_minsingle value (integer)price_min=500 and upPer-night price floor, in the currency Airbnb has resolved for the visitor.
price_maxsingle value (integer)price_max=2000 and upPer-night price ceiling.
superhostbooleansuperhost=truetruePresent and set to true to restrict to Superhost listings; omitted otherwise.

12 parameters — download the full reference above.