Discover/Airbnb API
live

Airbnb APIairbnb.com

Search Airbnb listings by location and dates, retrieve full listing details, guest reviews, and availability calendars via 4 structured endpoints.

Endpoint health
verified 15h ago
search_listings
get_listing_detail
get_listing_reviews
get_availability_calendar
4/4 passing latest checkself-healing
Endpoints
4
Updated
22d ago

What is the Airbnb 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.

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 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 '{
  "limit": "2",
  "query": "Paris, France",
  "adults": "2",
  "cursor": "eyJzZWN0aW9uX29mZnNldCI6MCwiaXRlbXNfb2Zmc2V0Ijo1LCJ2ZXJzaW9uIjoxfQ==",
  "checkin": "2026-08-07",
  "checkout": "2026-08-12",
  "items_per_page": "18"
}'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace airbnb-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: Airbnb SDK — search listings, drill into details, read reviews & calendar."""
from parse_apis.airbnb_listings_api import Airbnb, PropertyType, ReviewSort, ListingNotFound

client = Airbnb()

# Search apartments in Paris — limit= caps total items fetched across pages.
for listing in client.listingsummaries.search(query="Paris, France", property_type=PropertyType.APARTMENT, adults=2, limit=5):
    print(listing.title, listing.rating, listing.price.total if listing.price else "N/A")

# Drill into the first result for full detail.
summary = client.listingsummaries.search(query="Tokyo", limit=1).first()
if summary:
    detail = summary.details()
    print(detail.listing_id, detail.description[:80] if detail.description else "")
    if detail.capacity:
        print(detail.capacity.guests, "guests,", detail.capacity.bedrooms, "bedrooms")
    if detail.host:
        print(detail.host.name, "superhost:", detail.host.is_superhost)

# Read recent reviews for a listing, sorted by relevance.
if summary:
    for review in client.listings.get(listing_id=summary.listing_id).reviews(sort=ReviewSort.MOST_RELEVANT, limit=3):
        print(review.localized_date, review.rating, review.comments[:80] if review.comments else "")

# Check availability calendar for the next 3 months.
if summary:
    for month in client.listings.get(listing_id=summary.listing_id).calendar(months_count=3, limit=3):
        available = sum(1 for d in month.days if d.available)
        print(f"{month.month}/{month.year}: {available} available days")

# Typed error handling — catch a not-found listing.
try:
    client.listings.get(listing_id="9999999999999")
except ListingNotFound as exc:
    print(f"Listing not found: {exc.listing_id}")

print("exercised: listingsummaries.search / summary.details / listing.reviews / listing.calendar / listings.get")
All endpoints · 4 totalmissing one? ·

Full-text location search across Airbnb stay listings. Returns paginated summaries with pricing, ratings, images, coordinates, and host info. Filters narrow by dates, guest count, price range, beds/bedrooms/bathrooms, and property type. Pagination uses an opaque cursor; each page returns up to items_per_page results. Server-side ordering is fixed (Airbnb relevance); client-side sorting over the returned list is the only option for custom order.

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_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",
    "filters": "object echoing the applied filters",
    "listings": "array of listing summary objects",
    "next_cursor": "string or null - opaque cursor for next page",
    "has_next_page": "boolean - whether more pages exist"
  }
}

About the Airbnb API

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.

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
15h 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 that searches multiple locations via search_listings and 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 language and comments fields in get_listing_reviews.
  • Generate an availability heatmap for a listing using the per-day available and price fields from get_availability_calendar.
  • Filter listings by min_nights constraints before recommending them for short or extended stays.
  • Track superhost status and years_hosting across a portfolio of managed Airbnb properties.
  • Build a travel planning tool that checks availability windows across several listings simultaneously.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does Airbnb have an official developer API?+
Airbnb closed its public API to new applicants in 2016. It maintains a limited partner program for property management software, but there is no generally available developer API for listing search or detail data.
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`?+
Each response includes a 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?+
Per-day prices appear in 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.
Are experiences or long-term rentals covered?+
The API currently covers short-stay property listings accessible through standard Airbnb search — homes, apartments, and similar accommodations. Airbnb Experiences and monthly or long-term rental listings are not covered. You can fork this API on Parse and revise it to add endpoints for those listing types.
Page content last updated . Spec covers 4 endpoints from airbnb.com.
Related APIs in TravelSee all →
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.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.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.
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.
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.
expedia.com API
Search for hotels and flights across Expedia while viewing detailed property information to compare prices and amenities for your travel plans. Get comprehensive travel options all from one integration without manually browsing the website.