airbnb.com APIairbnb.com ↗
Search Airbnb listings by location and dates, retrieve full listing details, guest reviews, and availability calendars via 4 structured endpoints.
curl -X POST 'https://api.parse.bot/scraper/ebfc2570-a5db-4d9b-9105-c3439a6586fb/search_listings' \
-H 'X-API-Key: $PARSE_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"limit": "2",
"query": "Paris, France",
"adults": "2",
"cursor": "eyJzZWN0aW9uX29mZnNldCI6MCwiaXRlbXNfb2Zmc2V0Ijo1LCJ2ZXJzaW9uIjoxfQ==",
"checkin": "2025-09-15",
"checkout": "2025-09-17",
"items_per_page": "2"
}'Search for Airbnb listings by location with optional filters for dates, guests, price, and property type. Returns paginated results with listing summaries including pricing, ratings, images, and host information.
| Param | Type | Description |
|---|---|---|
| pets | integer | Number of pets |
| queryrequired | string | Search location (e.g. 'Paris, France', 'New York') |
| adults | integer | Number of adults |
| cursor | string | Pagination cursor from pagination.next_cursor of a previous response |
| checkin | string | Check-in date in YYYY-MM-DD format |
| infants | integer | Number of infants |
| checkout | string | Check-out date in YYYY-MM-DD format |
| children | integer | Number of children |
| currency | string | Currency code for pricing |
| min_beds | integer | Minimum number of beds |
| max_price | integer | Maximum price filter |
| min_price | integer | Minimum price filter |
| min_bedrooms | integer | Minimum number of bedrooms |
| min_bathrooms | integer | Minimum number of bathrooms |
| property_type | string | Property type filter. Accepted values: house, apartment, guesthouse, hotel, villa |
| items_per_page | integer | Number of results per page |
{
"type": "object",
"fields": {
"count": "integer - number of listings returned in this page",
"query": "string - the search location used",
"filters": "object echoing the applied filters",
"listings": "array of listing summaries with id, title, price, rating, images, coordinates, and features",
"pagination": "object with has_next_page, next_cursor, previous_cursor, page_cursors"
},
"sample": {
"data": {
"count": 18,
"query": "Paris, France",
"filters": {
"adults": null,
"checkin": null,
"checkout": null,
"currency": "USD"
},
"listings": [
{
"url": "https://www.airbnb.com/rooms/1536119775792438782",
"name": "Balcony Eiffel Tower View : Newly Refurbished Apt",
"price": {
"total": "$2,684",
"original": "$2,933",
"qualifier": "for 5 nights",
"accessibility_label": "$2,684 for 5 nights, originally $2,933"
},
"title": "Apartment in Paris",
"badges": [
"Guest favorite"
],
"images": [
{
"id": "2394567908",
"url": "https://a0.muscache.com/im/pictures/hosting/Hosting-1536119775792438782/original/6c596c23-00c3-4b81-a07b-5fd9b0aedcdf.jpeg",
"caption": null
}
],
"rating": "5.0 (33)",
"features": [
"1 bedroom",
"2 beds",
"1 bath"
],
"subtitle": "Balcony Eiffel Tower View : Newly Refurbished Apt",
"listing_id": "1536119775792438782",
"coordinates": {
"latitude": 48.84328,
"longitude": 2.29114
}
}
],
"pagination": {
"next_cursor": "eyJzZWN0aW9uX29mZnNldCI6MCwiaXRlbXNfb2Zmc2V0IjoxOCwidmVyc2lvbiI6MX0=",
"page_cursors": [],
"has_next_page": true,
"previous_cursor": null
}
},
"status": "success"
}
}About the airbnb.com API
The Airbnb API gives developers access to 4 endpoints covering listing search, detailed property data, guest reviews, and availability calendars. search_listings accepts a free-text location query plus optional date, guest count, and pet filters, returning paginated summaries with pricing, coordinates, ratings, and images. From there, a listing ID unlocks full amenity lists, cancellation policies, host profiles, and per-day availability with minimum and maximum night constraints.
Search and Listing Data
The search_listings endpoint accepts a query string (e.g. 'Lisbon, Portugal') alongside optional checkin and checkout dates in YYYY-MM-DD format, guest breakdown (adults, children, infants, pets), and a cursor string for paginating through large result sets. Each listing summary in the response includes id, title, price, rating, images, coordinates, and features. The pagination object returns has_next_page, next_cursor, and page_cursors so you can walk through all matching results.
Listing Detail and Policies
get_listing_detail takes a listing_id from search results and optionally checkin, checkout, adults, and a currency code. The response exposes a full amenities array (each item has title, available, and optional category), a policies object with house_rules, safety_and_property, and cancellation_policy, a capacity object with guests, bedrooms, beds, and bathrooms counts, and a host object including is_superhost, years_hosting, reviews_count, and rating.
Reviews
get_listing_reviews returns paginated individual reviews for a listing. Each review object includes id, rating, comments, language, created_at, localized_date, a reviewer sub-object, and an optional host_response field when the host has replied. Sort by MOST_RECENT or MOST_RELEVANT using the sort parameter. Use limit and offset together with the has_more boolean to page through the full review history.
Availability Calendar
get_availability_calendar returns day-level availability for one or more calendar months. Supply year, month, and months_count to define the window. The calendar_months array nests a days array where each entry carries date, available (boolean), min_nights, max_nights, and price. Summary integers total_days, available_days, and unavailable_days are included at the top level for quick range queries.
- Build a price-comparison tool that searches multiple locations via
search_listingsand surfaces the cheapest available dates. - Populate a property detail page with amenities, host profile, and cancellation policy from
get_listing_detail. - Analyze guest sentiment trends by language using the
languageandcommentsfields inget_listing_reviews. - Generate an availability heatmap for a listing using the per-day
availableandpricefields fromget_availability_calendar. - Filter listings by
min_nightsconstraints before recommending them for short or extended stays. - Track superhost status and
years_hostingacross a portfolio of managed Airbnb properties. - Build a travel planning tool that checks availability windows across several listings simultaneously.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Airbnb have an official developer API?+
What does `get_listing_detail` return beyond what search results include?+
search_listings returns brief summaries: title, price, rating, coordinates, and images. get_listing_detail adds the full amenities array with availability flags and categories, a policies object covering house rules and cancellation terms, capacity counts for bedrooms, beds and bathrooms, highlights, and an enriched host object including is_superhost, years_hosting, and reviews_count.How does pagination work in `search_listings`?+
pagination object. When has_next_page is true, pass the next_cursor value as the cursor parameter in your next request. The page_cursors array lets you jump to arbitrary pages rather than stepping through them sequentially.Does the API return per-listing pricing for a specific date range?+
get_availability_calendar within each days entry alongside min_nights and max_nights. For search results, search_listings returns a summary price per listing but not a full per-night breakdown. Detailed checkout pricing (taxes, cleaning fees, service fees) is not currently included in the response. You can fork this API on Parse and revise it to add an endpoint targeting that pricing detail.