Search Airbnb Stays by Destination and Dates

View all Airbnb Search, Prices & Reviews endpoints →

Search stays with the placeId returned by destination autocomplete; pass explore_search_params.place_id unchanged rather than substituting a city name. Optional checkinDate and checkoutDate use YYYY-MM-DD; keep adults, currencyCode and languageCode consistent when comparing results. The live Paris response returned status, message, meta and data containing filters, paginationInfo, searchInput and searchResults. Each result included listing.id, title, photos, demandStayListing.location.coordinate and structuredDisplayPrice. Follow paginationInfo.nextPageCursor through pageCursor; meta.currentPage is response metadata, not a page request parameter. Undated searches may show suggested-date prices, not a quote for your trip.

API Features

Autocomplete-to-stay handoff Reuse the exact destination placeId from the destination picker to identify the search area.
Stay cards with joinable IDs Live searchResults contained decimal listing.id values alongside titles, photos and geographic coordinates.
Display-price context Inspect structuredDisplayPrice and the returned date context instead of assuming an undated headline is your trip total.
Cursor-driven stay discovery Use returned nextPageCursor or previousPageCursor values for subsequent search requests.

Live API Demo

GET /api/project/airbnb-search/stays-search

Request cost is temporarily unavailable. No price is assumed.

View pricing

API Response (JSON)

{}
curl -X GET 'https://api.opendata-api.com/api/project/airbnb-search/stays-search?key=<API_KEY>&placeId=eyJwIjoiQ2hJSkQ3ZmlCaDl1NWtjUllKU01hTU9DQ3dRIiwicSI6IlBhcmlzLCBGcmFuY2UifQ%3D%3D&adults=2&currencyCode=USD&languageCode=en-US&limit=3&typeOfPlace=Any'
📢
Need Help?
If you encounter API issues or need other API requirements, please contact us.
Contact Us

Use Cases

Frequently asked questions

Where do I get the placeId for a stay search?

Use common-auto-complete and copy the selected suggestion's explore_search_params.place_id exactly. The observed value was encoded; do not rebuild it from location.google_place_id or replace it with destination text.

Can I request the next stays page with page=2?

No page input is documented here. Pass data.paginationInfo.nextPageCursor as pageCursor with the same search context. meta.currentPage only describes the response, and displayed totals are not an exhaustive inventory count.

Related operations

Guides

View Subscription Plans →