Discover/Airbnb API
live

Airbnb APIairbnb.com

Search Airbnb stays, fetch listing details, retrieve availability calendars, and pull guest reviews via a structured JSON API. 5 endpoints.

Endpoint health
verified 2d ago
get_listing_detail
get_wishlist
get_listing_reviews
get_availability_calendar
4/4 passing latest checkself-healing
Endpoints
5
Updated
6d ago

What is the Airbnb API?

This API covers 5 endpoints for querying Airbnb stay data: search listings by destination with date and guest filters via search_listings, retrieve full listing details including amenities, host profile, and cancellation policy via get_listing_detail, and pull per-day availability across up to 12 months via get_availability_calendar. Responses include coordinates, structured pricing, review summaries, and host metadata.

This call costs3 credits / call— charged only on success
Try it
Number of pets
Search location (e.g. 'Paris, France', 'New York', 'Tokyo')
Number of adults
Pagination cursor from next_cursor of a previous response
Check-in date in YYYY-MM-DD format
Number of infants
Check-out date in YYYY-MM-DD format
Number of children
Currency code for pricing (e.g. USD, EUR, GBP)
Minimum number of beds
Maximum price filter
Minimum price filter
Minimum average guest rating, 0-5 (e.g. 4.9). Passed to Airbnb's own minimum-review-score filter; values outside 0-5 are rejected.
Minimum number of bedrooms
Minimum number of bathrooms
Property type filter
Number of results per page
api.parse.bot/scraper/ebfc2570-a5db-4d9b-9105-c3439a6586fb/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
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 '{
  "query": "Paris, France",
  "adults": "2",
  "checkin": "2026-10-16",
  "checkout": "2026-10-21",
  "currency": "EUR",
  "property_type": "hotel",
  "items_per_page": "18"
}'
All endpoints · 5 totalmissing one? ·

Full-text location search across Airbnb stay listings. Returns one page of listing summaries (up to items_per_page) with pricing, ratings, images, coordinates and derived attributes. Each listing carries the original display strings (rating, price.total, features) plus typed fields: rating_value (number, null when the listing has no rating yet), review_count (integer), lat/lng, room_type ('entire home', 'private room', 'shared room' or 'hotel room', derived from Airbnb's '<type> in <place>' card label), location_label (the place named in that label - a city, or a neighbourhood when Airbnb shows one; null when the card has no such label), bedrooms/beds/bathrooms parsed from the feature line (null when the feature line omits them, e.g. hotel cards), badges (list of card badges such as 'Guest favorite', 'Superhost', 'Featured hotel'), host_is_superhost (true only when the card shows the Superhost badge; Airbnb shows at most one badge per card, so a superhost whose card shows 'Guest favorite' reads false), total_price and nightly_price as numbers in the requested currency, nights, and image_url (first photo). Guest capacity (max_guests) is not part of Airbnb's search result and is not returned; use get_listing_detail. The envelope also carries currency (the requested currency code), nights (checkout minus checkin when both are given, otherwise the stay length Airbnb priced the page with, or null) and price_context with min/median/max nightly_price and sample_size across the returned page only. min_rating is applied by Airbnb server-side (its minimum review score filter); ratings are displayed rounded so a listing shown as 4.89 can pass a 4.9 threshold. Pagination uses an opaque cursor: pass next_cursor back as cursor; has_next_page is false on the last page. Server-side ordering is fixed (Airbnb relevance).

Input
ParamTypeDescription
petsintegerNumber of pets
queryrequiredstringSearch location (e.g. 'Paris, France', 'New York', 'Tokyo')
adultsintegerNumber of adults
cursorstringPagination cursor from next_cursor of a previous response
checkinstringCheck-in date in YYYY-MM-DD format
infantsintegerNumber of infants
checkoutstringCheck-out date in YYYY-MM-DD format
childrenintegerNumber of children
currencystringCurrency code for pricing (e.g. USD, EUR, GBP)
min_bedsintegerMinimum number of beds
max_priceintegerMaximum price filter
min_priceintegerMinimum price filter
min_ratingnumberMinimum average guest rating, 0-5 (e.g. 4.9). Passed to Airbnb's own minimum-review-score filter; values outside 0-5 are rejected.
min_bedroomsintegerMinimum number of bedrooms
min_bathroomsintegerMinimum number of bathrooms
property_typestringProperty type filter
items_per_pageintegerNumber of results per page
Response
{
  "type": "object",
  "fields": {
    "count": "integer - number of listings returned in this page",
    "query": "string - the search location used",
    "nights": "integer or null - stay length the prices cover: checkout minus checkin when both were given, otherwise the length Airbnb priced the page with",
    "filters": "object echoing the applied filters (checkin, checkout, adults, currency, min_rating)",
    "currency": "string - ISO currency code all numeric prices in this response are expressed in (the requested currency)",
    "listings": "array of listing summary objects: listing_id, url, title, subtitle, name, rating (display string), rating_value (number or null), review_count (integer or null), room_type, location_label, coordinates, lat, lng, price (display strings), price_details, currency, total_price (number), nightly_price (number), nights, images, image_url, features, bedrooms, beds, bathrooms (numbers or null), dates, badges (list of strings), host_is_superhost (boolean), payment_messages, host (when present), param_overrides",
    "next_cursor": "string or null - opaque cursor for next page",
    "has_next_page": "boolean - whether more pages exist",
    "price_context": "object with min, median, max (numbers, nightly_price across the returned page, null when no listing had a nightly price) and sample_size (integer, listings that contributed)"
  },
  "sample": {
    "data": {
      "count": 18,
      "query": "Lisbon, Portugal",
      "nights": 5,
      "filters": {
        "adults": null,
        "checkin": null,
        "checkout": null,
        "currency": "EUR",
        "min_rating": null
      },
      "currency": "EUR",
      "listings": [
        {
          "lat": 38.7102,
          "lng": -9.1312,
          "url": "https://www.airbnb.com/rooms/1373174229965723254",
          "beds": 4,
          "name": "Historical Center - Tagus View",
          "dates": [
            "Jan 16 – 21"
          ],
          "price": {
            "total": "€1,320",
            "original": null,
            "qualifier": "for 5 nights",
            "accessibility_label": "€1,320 for 5 nights"
          },
          "title": "Apartment in Lisbon",
          "badges": [
            "Guest favorite"
          ],
          "images": [
            {
              "id": "2122172763",
              "url": "https://a0.muscache.com/im/pictures/hosting/Hosting-U3RheVN1cHBseUxpc3Rpbmc6MTM3MzE3NDIyOTk2NTcyMzI1NA==/original/cca54fef-0ad9-4755-919c-f213290ec3af.jpeg",
              "caption": null
            }
          ],
          "nights": 5,
          "rating": "4.89 (99)",
          "bedrooms": 3,
          "currency": "EUR",
          "features": [
            "3 bedrooms",
            "4 beds"
          ],
          "subtitle": "Historical Center - Tagus View",
          "bathrooms": null,
          "image_url": "https://a0.muscache.com/im/pictures/hosting/Hosting-U3RheVN1cHBseUxpc3Rpbmc6MTM3MzE3NDIyOTk2NTcyMzI1NA==/original/cca54fef-0ad9-4755-919c-f213290ec3af.jpeg",
          "room_type": "entire home",
          "listing_id": "1373174229965723254",
          "coordinates": {
            "latitude": 38.7102,
            "longitude": -9.1312
          },
          "total_price": 1320,
          "rating_label": "4.89 out of 5 average rating,  99 reviews",
          "rating_value": 4.89,
          "review_count": 99,
          "nightly_price": 264,
          "price_details": [
            {
              "price": "€1,320.00",
              "description": "5 nights x €264.00",
              "original_price": null
            }
          ],
          "location_label": "Lisbon",
          "param_overrides": {
            "adults": 1,
            "checkin": "2027-01-16",
            "checkout": "2027-01-21"
          },
          "payment_messages": [
            "Free cancellation"
          ],
          "host_is_superhost": false
        }
      ],
      "next_cursor": "eyJzZWN0aW9uX29mZnNldCI6MCwiaXRlbXNfb2Zmc2V0IjoxOCwidmVyc2lvbiI6MX0=",
      "has_next_page": true,
      "price_context": {
        "max": 504,
        "min": 78.74,
        "median": 235.4,
        "sample_size": 18
      }
    },
    "status": "success"
  }
}

About the Airbnb API

Search and Listing Detail

search_listings accepts a free-text query (e.g. "Paris, France") plus optional checkin/checkout dates, guest counts broken down by adults, children, infants, and pets, and returns an array of listing summaries with pricing, ratings, images, and coordinates. Pagination is cursor-based: consume next_cursor from one response and pass it as cursor on the next call; has_next_page tells you whether to continue. get_listing_detail deepens any result: given a listing_id, it returns the full listing name, description, a structured capacity object (guests, bedrooms, beds, bathrooms), a location object with latitude/longitude, a flat amenities array with available flags and optional category, and a policies object covering house_rules, safety_and_property, and cancellation_policy.

Reviews and Availability

get_listing_reviews uses offset-based pagination (offset + limit) against a specific listing_id. Each review object carries rating, comments, language, created_at, a reviewer sub-object, and an optional host_response. A has_more boolean drives continuation. get_availability_calendar maps out day-level availability for 1–12 months starting from a given month/year. Each day entry exposes available, min_nights, max_nights, and a formatted price, letting you scan for bookable windows without hitting the listing detail endpoint repeatedly.

Wishlists

get_wishlist takes a wishlist_id and share_token (both found in an Airbnb wishlist invite URL) and returns the wishlist name, total_count, and an array of listing summaries with the same coordinate, rating, and capacity fields as search results. Date and currency parameters can be passed to include context-specific pricing in the response.

Reliability & maintenanceVerified

The Airbnb API is a managed, monitored endpoint for airbnb.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when airbnb.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official airbnb.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
2d ago
Latest check
4/4 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a price-comparison tool for short-term rentals using search_listings price and rating fields across multiple destinations.
  • Generate a listing intelligence report by combining get_listing_detail amenities and cancellation policy with get_listing_reviews sentiment.
  • Track nightly price fluctuations over time using get_availability_calendar day-level price fields.
  • Find available weekend windows for a listing without checking each date manually via get_availability_calendar available flags.
  • Sync a shared trip wishlist to an internal planner app using get_wishlist listing coordinates and capacity data.
  • Analyze host quality signals by aggregating superhost status, years_hosting, and rating fields from get_listing_detail.
  • Filter family-friendly listings by passing children and infants guest counts into search_listings and checking capacity.bedrooms.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Airbnb have an official developer API?+
Airbnb does not offer a public developer API for general listing search or detail access. They have historically provided limited partner integrations, but there is no self-serve API portal open to the public as of mid-2025.
What does `get_listing_detail` return beyond what `search_listings` provides?+
search_listings returns summary-level data: price, rating, a few images, and coordinates. get_listing_detail adds the full amenities array with per-amenity available flags and categories, the policies object (house rules, safety info, cancellation policy), a complete host profile with years_hosting and reviews_count, and a highlights array. It requires a listing_id from a prior search or wishlist call.
How does pagination work across endpoints?+
search_listings uses cursor-based pagination: the response includes a next_cursor string and a has_next_page boolean. Pass next_cursor as the cursor parameter on the next call. get_listing_reviews uses offset-based pagination: increment offset by your limit value and check has_more to continue. The two schemes are not interchangeable.
Does the API return host contact details or message-thread data?+
No contact details or messaging data are exposed. The API covers publicly visible listing data: amenities, policies, images, availability, and reviews. You can fork this API on Parse and revise it to add an endpoint targeting any additional public listing metadata not currently returned.
Can I get pricing broken down by fees (cleaning fee, service fee) rather than a nightly total?+
Not currently. Pricing is returned as a formatted nightly or per-day figure in search results and the availability calendar, without a fee breakdown. You can fork the API on Parse and revise it to add a dedicated pricing-breakdown endpoint that targets the detailed price display for a listing and date range.
Page content last updated . Spec covers 5 endpoints from airbnb.com.
Related APIs in TravelSee all →
airbnb.pt API
Search for rental listings in any location, view detailed information about properties including availability and guest reviews. Browse hundreds of accommodations to find the perfect place that fits your travel needs and budget.
airbnb.co.uk API
Search Airbnb UK listings and access detailed information including pricing, availability calendars, and guest reviews. Plan your trips by comparing properties and experiences across locations with real-time data on rates and booking availability.
airbnb.es API
Search Airbnb listings across multiple cities and retrieve detailed information about properties and hosts, including availability, pricing, and reviews. Access comprehensive rental data to compare accommodations and make informed booking decisions.
zh.airbnb.com API
Search for Airbnb accommodations and retrieve detailed information including property descriptions, guest reviews, availability calendars, and experience listings from the Chinese Airbnb platform. View comprehensive stay options with real-time availability data and verified guest feedback to help plan your next booking.
vrbo.com API
Search and browse vacation rental listings on Vrbo by location, date range, and guest count. Retrieve detailed information about specific properties including descriptions, amenities, photos, pricing, guest reviews, and availability — everything needed to compare rental options in one place.
tripadvisor.com API
Search for travel destinations and discover hotels with detailed information like ratings, reviews, and amenities. Get comprehensive place details to help plan your perfect trip and compare accommodation options.
hotels.com API
Search for hotels across millions of properties, view room availability and pricing, and get detailed information about accommodations at specific destinations. Get location suggestions and discover popular travel spots to help plan your next getaway.
booking.com API
Search for accommodations across Booking.com and instantly access detailed property information including pricing, amenities, and guest reviews to compare your options. Find the perfect stay by filtering thousands of listings and retrieving comprehensive details like room descriptions, availability, and booking terms all in one place.