Discover/Airbnb API
live

Airbnb APIzh.airbnb.com

Search Airbnb listings, retrieve property details, guest reviews, and 12-month availability calendars via a structured JSON API for zh.airbnb.com.

Endpoint health
verified 3d ago
get_listing_details
get_listing_availability
search_listings
get_listing_reviews
4/4 passing latest checkself-healing
Endpoints
4
Updated
3d ago

What is the Airbnb API?

This API provides 4 endpoints for querying Airbnb property data from zh.airbnb.com, covering listing search, full property details, guest reviews, and availability calendars. The search_listings endpoint accepts location queries, date ranges, guest counts, and price filters, returning paginated summaries with ratings, photos, and per-night pricing. Listing IDs returned from search feed directly into the detail, review, and calendar endpoints.

Try it
Search location query (city, region, or address).
Pagination cursor from a previous search response's paginationInfo.nextPageCursor.
Number of adult guests.
Check-in date in YYYY-MM-DD format.
Check-out date in YYYY-MM-DD format.
Maximum total price filter.
Minimum total price filter.
api.parse.bot/scraper/0f1e45d6-7dca-47bf-8b26-40248647d7b7/<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 GET 'https://api.parse.bot/scraper/0f1e45d6-7dca-47bf-8b26-40248647d7b7/search_listings?query=Tokyo&guests=2&checkin=2026-07-25&checkout=2026-07-30&price_max=500&price_min=50' \
  -H 'X-API-Key: $PARSE_API_KEY'
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 zh-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.

"""Airbnb API — search listings, inspect details, read reviews, check availability."""
from parse_apis.Airbnb_API import Airbnb, ListingNotFound

client = Airbnb()

# Search for listings in Tokyo with budget constraints
for listing in client.search_("Tokyo").listings(guests=2, price_max=500, limit=3):
    print(listing.title, listing.subtitle, listing.avg_rating_localized)

# Fetch full details for a specific listing by ID
listing = client.listings.get(listing_id="1471663668741757022")
for section in listing.sections[:3]:
    print(section.section_component_type, section.section_id)

# Read reviews for the listing
for review in listing.reviews.list(limit=3):
    print(review.localized_date, review.rating, review.comments[:60])

# Check availability calendar
for month in listing.availability.list(month=7, year=2026, limit=2):
    print(month.month, month.year, len(month.days))

# Handle a listing that doesn't exist
try:
    client.listings.get(listing_id="9999999999999999999")
except ListingNotFound as exc:
    print(f"Not found: {exc.listing_id}")

print("exercised: search_.listings / listings.get / reviews.list / availability.list")
All endpoints · 4 totalmissing one? ·

Search for Airbnb property listings by location, dates, guests, and price filters. Returns paginated results with listing summaries including pricing, ratings, and photos. Paginates via an opaque cursor returned in paginationInfo.nextPageCursor. Without checkin/checkout dates, the server picks nearby available date ranges automatically.

Input
ParamTypeDescription
querystringSearch location query (city, region, or address).
cursorstringPagination cursor from a previous search response's paginationInfo.nextPageCursor.
guestsintegerNumber of adult guests.
checkinstringCheck-in date in YYYY-MM-DD format.
checkoutstringCheck-out date in YYYY-MM-DD format.
price_maxintegerMaximum total price filter.
price_minintegerMinimum total price filter.
Response
{
  "type": "object",
  "fields": {
    "searchResults": "array of listing summary objects with title, subtitle, pricing, ratings, photos, and location data",
    "paginationInfo": "object with nextPageCursor for fetching the next page of results"
  },
  "sample": {
    "data": {
      "searchResults": [
        {
          "title": "Apartment in Sumida City",
          "subtitle": "Japandi Studio",
          "avgRatingLocalized": "4.96 (314)",
          "contextualPictures": [
            {
              "picture": "https://a0.muscache.com/im/pictures/hosting/example.jpeg"
            }
          ],
          "structuredDisplayPrice": {
            "primaryLine": {
              "price": "$290 USD",
              "qualifier": "/ 5 nights"
            }
          }
        }
      ],
      "paginationInfo": {
        "nextPageCursor": "eyJzZWN0aW9uX29mZnNldCI6MCwiaXRlbXNfb2Zmc2V0IjoxNiwidmVyc2lvbiI6MX0="
      }
    },
    "status": "success"
  }
}

About the Airbnb API

Endpoints and Data Coverage

The search_listings endpoint accepts a query string (city, region, or address), optional checkin and checkout dates in YYYY-MM-DD format, guests count, and price_min/price_max filters. Results are returned as a searchResults array inside presentation.staysSearch.results, with a paginationInfo.nextPageCursor field you pass back as the cursor parameter to walk through pages.

The get_listing_details endpoint takes a required listing_id (numeric string) plus optional date and guest parameters to include pricing context. The response returns sections under presentation.stayProductDetailPage.sections, covering amenities, property description, host information, photos, and booking details. Pricing is only included in the response when checkin, checkout, and guests are all supplied.

Reviews and Availability

The get_listing_reviews endpoint returns up to 20 guest reviews per request from presentation.stayProductDetailPage.reviews, including a reviewsCount total and reviewTags metadata. Use the offset parameter to paginate through the full review set for a listing.

The get_listing_availability endpoint returns 12 months of calendar data starting from a given month and year (defaulting to the current month if omitted). The response is structured under merlin.pdpAvailabilityCalendar.calendarMonths, with each day carrying availability status, minimum and maximum night constraints, and condition ranges — useful for programmatically identifying bookable windows without hitting the search endpoint.

Reliability & maintenanceVerified

The Airbnb API is a managed, monitored endpoint for zh.airbnb.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when zh.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 zh.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
3d 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 by running search_listings across multiple date ranges and comparing returned nightly rates.
  • Aggregate availability windows for a set of listing IDs using get_listing_availability to surface open dates automatically.
  • Pull reviewsCount and reviewTags from get_listing_reviews to analyze guest sentiment trends across a portfolio of properties.
  • Populate a property detail page by mapping get_listing_details sections to amenities, description, and host info fields.
  • Monitor minimum-night requirements per day across a 12-month horizon using calendar condition ranges from get_listing_availability.
  • Build a guest-facing search interface filtered by location, check-in/out dates, and price band using search_listings pagination.
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 offer an official developer API?+
Airbnb's official API program (airbnb.com/partner) is restricted to approved property management software partners and is not publicly available for general developer use.
What does `get_listing_details` return when no dates are provided?+
Without checkin, checkout, and guests parameters, the response includes amenities, description, host information, and photos but omits pricing details. Provide all three date/guest parameters to receive pricing data in the sections response.
How does pagination work across `search_listings` and `get_listing_reviews`?+
search_listings uses cursor-based pagination: take the paginationInfo.nextPageCursor value from one response and pass it as the cursor input on the next call. get_listing_reviews uses offset-based pagination with a fixed page size of 20 reviews — increment offset by 20 to retrieve successive pages.
Does the API return Airbnb Experience listings or only stay listings?+
The API currently covers stay (property) listings. Experiences are not exposed through any of the four endpoints. You can fork this API on Parse and revise it to add an endpoint targeting Experience listings.
Is host contact information or exact property coordinates included in listing details?+
The get_listing_details response includes host profile information surfaced on the listing page, but precise GPS coordinates and direct host contact details are not included in the returned fields. You can fork this API on Parse and revise it to attempt to expose additional location fields if they become available in the response.
Page content last updated . Spec covers 4 endpoints from zh.airbnb.com.
Related APIs in TravelSee all →
airbnb.com API
Search Airbnb stays by destination and dates, then retrieve listing details, availability calendars, and recent guest reviews for a specific listing.
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.
hotels.ctrip.com API
Search and explore hotels on Ctrip (携程), one of China's largest travel platforms. Retrieve hotel listings by city or keyword, access full property details and room options, and read paginated guest reviews — all in real-time.
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.
booking-com.p.rapidapi.com API
Search Booking.com properties and retrieve detailed information like pricing, amenities, reviews, and availability without manually browsing the site. Access structured property data instantly to compare accommodations and make informed booking decisions.