Airbnb Search, Prices & Reviews — Try the interactive demo
A guided live test. Prefer the raw endpoints? See the API reference & playground →
Enter an API key from your Dashboard to enable the examples below. Requests send it to this platform for authentication.
Log in / Sign up · Dashboard →
Please paste your API key first.
Endpoints
Your API key is attached automatically to each call.
/api/project/airbnb-search/stays-search Search Airbnb Stays by Destination and Dates
Details
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.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/airbnb-search/properties-search Search Airbnb Properties by City or Destination
Details
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.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/airbnb-search/properties-search-by-geo Search Airbnb Properties in a Map Bounding Box
Details
Submit all four required numeric map corners: neLat, neLng, swLat and swLng. Optional checkin, checkout, guest composition, currency, locale, page and property filters scope the query. The documented example uses currentPage and data containing filters and homes, including destination-specific amenity and accessibility choices. This geographic route was not part of the live verification set, so confirm its current home identifier and price fields with your own request instead of borrowing the stays-search schema. Returned map locations should not be treated as verified exact street addresses or complete neighborhood inventory.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/airbnb-search/common-auto-complete Find Destinations and Reusable Place IDs
Details
Enter a partial destination in query, optionally languageCode and limit from 1 to 5. The live Paris lookup returned status:true, message:Successful and a data array of suggestions. Each suggestion included display_name, explore_search_params.place_id and location with countryCode and bounding_box coordinates. The selected Paris place_id was reused successfully in both stay and experience searches. Preserve that value exactly; it is not interchangeable with the separate location.google_place_id. Destination suggestions are a read-only starting point and do not reserve accommodation or activities.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/airbnb-search/properties-auto-complete Suggest Destination Text for Property Searches
Details
Provide the required query, currency and locale to suggest location text for the query-based property workflow. Use currency identifiers from get-currency and locale identifiers from get-languages. The documented response has status, message and data containing country_code and display_name suggestions, such as city labels for stays or experiences. Unlike common-auto-complete, this example does not expose the reusable placeId required by stays-search and experiences-search. This text-suggestion endpoint was not included in the live verification set.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/airbnb-search/stays-detail Get Airbnb Stay Details by Listing ID
Details
Pass a listingId obtained from stays-search; optional checkinDate, checkoutDate, guest counts, currencyCode and languageCode provide trip context. The live response returned status:true, message:Successful and data of type StayPDPSections with sectionContainer, metadata and other section collections. sectionContainer entries identified their sections and contained title, description, amenities, location and reviews. Metadata matched the selected Paris listing, capacity and original room link. Parse sections by their identifiers rather than assuming a flat property object or fixed section order; an undated detail response is not a dated price quote.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/airbnb-search/stays-price-detail Get a Date-Specific Airbnb Stay Price Breakdown
Details
Supply listingId, checkinDate and checkoutDate; use future YYYY-MM-DD dates with checkout after check-in. Keep guest composition and currencyCode aligned with the search being compared. The live selected-listing response returned status:true, message:Successful and data of type StayPDPSections with three sectionContainer entries containing booking-price and cancellation-policy information. structuredDisplayPrice included a rounded stay headline and explanationData price items with more precise priceString amounts. Do not multiply a rounded nightly label or treat the headline as a guaranteed final booking total. displayTotalPrice is documented as including fees before taxes; this GET request does not book a stay.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/airbnb-search/stays-price-checkout Read an Airbnb Checkout-Style Price Itemization
Details
Request a checkout-style quote using listingId, required checkinDate and checkoutDate, plus optional guests, currencyCode, languageCode and displayTotalPrice. The documented example has data of type StayCheckoutSections and priceCheckout containing priceItems and total. Items expose type, localizedTitle and total with amountFormatted, amountMicros and currency; examples include accommodation, discount, cleaning-fee and service-fee lines. Tax coverage must be checked from the actual quote, not assumed. This endpoint was not live-verified in the current set. It reads a quote only and does not submit, confirm or pay for a reservation.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/airbnb-search/stays-availability-calendar Get an Airbnb Stay Calendar and Night Restrictions
Details
Provide a listingId from stays-search. Optional year and month select the starting calendar month, and count requests 1 to 12 months; documented defaults use the current year/month and 12 months. The documented body contains data.calendar_months with condition_ranges, start_date, end_date and conditions including min_nights, max_nights, closed_to_arrival and closed_to_departure. Inspect returned calendar content to identify candidate stay windows. This endpoint was not live-verified in the current set. Unavailable dates can reflect blocked calendars or restrictions and do not prove confirmed bookings, actual occupancy or earned revenue.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/airbnb-search/properties-detail Get Property Details for the Query-Based Workflow
Details
Provide the required decimal property id with optional currency and locale. Historical property-search examples identify it at homes[].listing.id; the current live property search instead used demandStayListing identifiers, so do not assume that older extraction path is still present or pass an encoded identifier as a decimal ID. The documented detail response has data of type StayPDPSections, metadata, bookingPrefetchData and seoFeatures with canonicalUrl and descriptive listing text. Undated price-related metadata can be null. This specific detail route was not live-tested; it should not be confused with the verified stays-detail endpoint.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/airbnb-search/properties-get-price Get a Dated Property Quote with Query-Family Inputs
Details
Supply required id, checkin and checkout values; dates use YYYY-MM-DD and should describe a future stay with checkout after check-in. Optional adults, children, infants, pets, currency and locale define comparison context. The documented response has data of type StayPDPSections and metadata.bookingPrefetchData with cancellationPolicies and canInstantBook; some price-related fields in that example are null, so inspect the returned pricing sections rather than requiring one flat numeric amount. This route was not live-verified. It retrieves observed property quote information and does not make a reservation or guarantee a final charge.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/airbnb-search/stays-reviews Search and Sort Airbnb Stay Reviews
Details
Pass listingId from a stay search, with optional query, page, limit, sortBy, currencyCode and languageCode. limit supports up to 40 reviews and page defaults to 1; sortBy supports MOST_RECENT, RATING_DESC and RATING_ASC. The live response returned status:true, message:Successful, pagination meta and data with pdpReviews and metadata. Observed reviews contained id, comments, rating, createdAt, language and localized date information; metadata included reviewsCount and reviewSortSelect. The tested request used MOST_RECENT without a keyword, so keyword matching and other sorts remain documented options rather than separately verified behavior.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/airbnb-search/properties-rating Get Overall and Category Ratings for a Property
Details
Provide a decimal property id and optional currency and locale. The documented response has data with overallRating, overallCount, a heading and a ratings array. Category items include label, localizedRating, percentage and accessibilityLabel, covering cleanliness, accuracy, communication, location, check-in and value in the example. Read the count together with the aggregate score and do not treat a rating as a certification or performance guarantee. This aggregate-rating route was not included in the live verification set and does not return the individual review collection used by review endpoints.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/airbnb-search/properties-reviews Read Paginated Reviews for a Query-Discovered Property
Details
Supply the decimal property id with optional page, currency and locale; the documented default page is 1. The documented response includes currentPage and a data array of reviews with id, comments, createdAt, rating, language and localizedDate. Response entries may contain additional reviewer or host fields; retain only what your application needs. This route does not document a keyword query, sortBy or limit input, so do not borrow those controls from stays-reviews. It was not live-verified in the current set.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/airbnb-search/experiences-search Search Airbnb Experiences Around a Destination
Details
Use placeId exactly as returned by common-auto-complete. Optional fromDate and toDate use future YYYY-MM-DD dates; guests, currencyCode, languageCode, activityType, languageOffered, priceRange, timeOfDay and map bounds refine discovery. The live Paris body returned status:true, message, pagination meta and data with filters, paginationInfo and searchResults. Observed activity records included id, title, coordinates, host information, photos and ratings; their shape differed from stay search cards. Follow nextPageCursor through pageCursor. Filter IDs should come from this experience response, not the separate query-based property filter catalog.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/airbnb-search/experiences-detail Get an Airbnb Experience Profile by Activity ID
Details
Provide an experience listingId selected from experiences-search, with optional fromDate, toDate, guest composition, currencyCode and languageCode. The documented response has data of type ExperiencePDPSections, metadata with sharingConfig and activity context, and section collections for descriptive content. The example includes a title, location, image and original experience link; duration and inclusions belong to the returned activity sections where present. This detail endpoint was not part of the live verification set. Do not assume an experience ID is a stay ID or that a profile proves availability for your dates.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/airbnb-search/experiences-reviews Read and Search Reviews for an Airbnb Experience
Details
Pass the selected experience listingId with optional page, limit, query, currencyCode and languageCode. The documented defaults are page 1 and limit 20. The documented response places reviews in a data array with id, comments, createdAt, language, localizedDate and rating; comments can contain highlighted markup for a keyword match. No sortBy parameter is documented here. This experience-review endpoint was not included in the live verification set, and keyword behavior should be confirmed for the chosen activity and query.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/airbnb-search/experiences-available-dates Read Reported Dates for an Airbnb Experience
Details
Submit an experience listingId, optionally a future fromDate/toDate range, adults, children, infants, currencyCode and languageCode. The documented response has data.availableDates with calendarItems containing startDateLocal and nullable remainingGuestCount, plus areChildrenAllowed and areInfantsAllowed. Endpoint documentation also points to availableDates.items for date options, so inspect the current returned section rather than assuming one collection is always present. This route was not live-verified. Reported dates and null capacity values are not guaranteed available seats, and this GET request does not reserve an activity.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/airbnb-search/get-amenities-filters List Destination-Specific Property Amenity Filters
Details
Provide a destination query and optional language_code to retrieve the amenity catalog for query-based property searches. The documented response has status, message and a data array of id/title pairs, including WiFi, dedicated workspace, kitchen, pool, EV charger and crib. Pass returned IDs as comma-separated values in the property-search amenities input. This catalog was not live-verified; refresh it for the destination rather than treating historical IDs or labels as permanent. A listed amenity choice describes a filter, not confirmation that any selected property provides that amenity.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/airbnb-search/get-type-of-place-filters List Entire-Place, Private-Room and Shared-Room Filters
Details
Use a destination query and optional language_code to obtain query-family privacy and occupancy-type choices. The documented body includes status, message and data items with id and title, such as Entire home/apt, Private room and Shared room. Apply returned IDs through properties-search.type_of_place, whose documented format permits comma-separated choices. This catalog is not the structural property-type list and does not describe bedrooms or guest capacity. It was not part of the live verification set.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/airbnb-search/get-property-type-filters List House, Apartment and Other Property-Type IDs
Details
Provide query for a destination and optional language_code. The documented response returns status, message and data with id/title pairs for House, Apartment, Guesthouse and Hotel. Use the returned IDs in the query-based property_type input, with comma-separated values when selecting multiple structures. The list describes structural property classifications, not room privacy, bedroom count or verified hotel accreditation. This metadata endpoint was not live-tested in the current verification set.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/airbnb-search/get-accessibility-filters List Accessibility Attribute Filters for Properties
Details
Submit a destination query and optional language_code. The documented response includes status, message and a data array of id/title pairs for individual accessibility attributes, including step-free guest entrance, accessible parking, step-free bathroom access, grab bars and shower features. Pass selected IDs in properties-search.accessibilities as comma-separated values. This catalog was not live-verified and does not certify a property as accessible or establish suitability for an individual traveler. Check the selected listing's details and actual requirements separately.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/airbnb-search/get-host-language-filters List Host-Language Filter IDs for Property Search
Details
Provide a destination query and optional language_code to request host-language choices. The documented response contains status, message and id/title pairs including English, French, Japanese, Chinese (Simplified) and other languages. Pass the returned IDs as comma-separated values in the query-family host_language input. These IDs describe a host-language search preference; language_code localizes the catalog, and locale localizes the property response. They are not interchangeable language codes or a guarantee of a particular host's fluency. This catalog was not live-verified.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/airbnb-search/get-category List Themed Airbnb Property Categories
Details
Request a category catalog for a destination query, optionally language_code. The documented body includes status, message and data items with id, title and image. Examples cover themes such as beach, cabins, tiny homes, amazing views and lakefront. Use an actual returned category id in properties-search.category rather than inventing a label or assuming category availability is permanent. This metadata route was not live-tested. Category themes are discovery groupings, not structural property types or guarantees about listing quality.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/airbnb-search/get-top-tier-stays-filter Read Returned Premium-Stay Filter Choices
Details
Provide a destination query and optional language_code to obtain the documented premium-stay catalog. The example response includes status, message and data items with id, title and subtitle describing named tiers. These historical labels are not a promise that the same tiers remain available; inspect the current returned choices before using IDs in properties-search.top_tier_stays. This endpoint was not live-verified. A returned premium category is a search grouping, not an independent quality guarantee, a service entitlement or evidence of special booking access.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/airbnb-search/common-currencies List Currency Codes for Stay and Experience Requests
Details
Optionally provide languageCode to localize the currency catalog for the stay and experience endpoint family. The documented response data array contains code, id, name, localized_full_name, symbol and unicode_symbol, with guest and listing eligibility indicators in the example. Use returned code values for currencyCode inputs. This catalog was not live-verified and provides currency metadata, not exchange rates, conversion guarantees or a promise that every currency is eligible for every guest use.
| Parameter | In | Value |
|---|---|---|
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/airbnb-search/common-languages List Language Codes for Stay and Experience Data
Details
This parameter-free read returns the documented language metadata used by stay and experience requests. The example data array contains languageCode, language, country, countryCode and locale. Some language variants share a language but differ in country or locale, so use the returned languageCode for languageCode inputs instead of assuming it equals locale. This metadata route was not live-verified. It concerns response localization and does not filter host communication language or the language in which an experience is offered.
Request cost is temporarily unavailable. No price is assumed.
/api/project/airbnb-search/get-currency List Currency Identifiers for Query-Based Property Data
Details
Optionally send language_code to retrieve the documented currency catalog used by property endpoints. The data array contains id, code, name, localized_full_name, symbol and unicode_symbol. Use the returned identifier for property currency inputs, including the required currency in properties-auto-complete. Labels and symbols are metadata only: they do not provide conversion rates or establish a currency solely from a shared symbol. This property-family catalog was not included in the live verification set.
| Parameter | In | Value |
|---|---|---|
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/airbnb-search/get-languages List Locale Identifiers for Query-Based Property Requests
Details
This parameter-free endpoint provides the documented locale metadata for the property endpoint family. The example response has status, message and data items with id, language, country and domain. Use returned id values for property locale and catalog language_code inputs. The domain field is the corresponding original Airbnb site domain, not an API base URL. This language catalog was not live-verified and does not describe host-language filter IDs or the separate common-languages languageCode mapping.
Request cost is temporarily unavailable. No price is assumed.