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
Live API Demo
🔒 Sign in to try it live
Log in to call this API with your own API key. New accounts get 100 free credits — no card required.
Log in / Sign upNo active API key found. Create one in your Dashboard, then reload this page. Dashboard →
/api/project/airbnb-search/stays-search 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¤cyCode=USD&languageCode=en-US&limit=3&typeOfPlace=Any'
Query Result
Use Cases
- Build a destination-and-date accommodation finder with guest composition and a consistent comparison currency.
- Implement a load-more stay shortlist and deduplicate cards by listing.id across cursor responses.
- Narrow remote-work accommodation choices using amenity values returned in the stay search filters.
- Carry shortlisted stay IDs into detailed profiles, dated price requests and guest-review research.
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.