Search Airbnb Properties by City or Destination

View all Airbnb Search, Prices & Reviews endpoints →

Find properties with a destination query such as Paris, France. Optional checkin and checkout dates use YYYY-MM-DD; adults, currency, locale, page, budget and returned filter IDs refine the request. The observed positive body had status:true, a Paris-specific message, currentPage, resultsPerPage, totalPages, totalResultCount and data with filters and a nonempty homes array. Live homes included title, nameLocalized, photos, demandStayListing identifiers and coordinates, and structuredDisplayPrice. This shape differs from stays-search: the current sample did not expose homes[].listing.id. An impossible destination returned HTTP 200 with status:false, message Query is not available, zero counts and data:null. Treat that as a failed query, not a measured empty market.

API Features

Destination-text property discovery Start from a human-readable city or destination rather than a prior place-ID lookup.
Homes-specific response parsing Read the observed data.homes collection instead of assuming the separate searchResults schema.
Property filter catalog in context Use destination-specific filter IDs for amenities, privacy type, host language and other supported selections.
Explicit unavailable-query detection Distinguish status:false and data:null from a successful property response using the business message and counts.

Live API Demo

GET /api/project/airbnb-search/properties-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/properties-search?key=<API_KEY>&query=Paris%2C+France&adults=2&currency=USD&locale=en-US&page=1'
📢
Need Help?
If you encounter API issues or need other API requirements, please contact us.
Contact Us

Use Cases

Frequently asked questions

Does HTTP 200 mean the destination search succeeded?

Not necessarily. The observed nonexistent destination returned HTTP 200 with status:false, data:null, Query is not available and zero result counts. Check the business status before processing homes or interpreting counts.

Can I assume every home contains listing.id?

No. Older documented examples refer to homes[].listing.id, while the current live homes used demandStayListing.id and had no listing object. Inspect the actual response and do not pass an encoded demandStayListing identifier as a decimal property ID without resolving the correct ID.

Related operations

Guides

View Subscription Plans →