Airbnb API

Airbnb Search API

Search Airbnb listings by location and dates with optional price, beds/bedrooms/bathrooms, and guest-party filters and get results (name, total-stay price label, rating, host) as normalized JSON.

$1.58/1k results, pay per request, no subscription.

What the API returneditems[0]
{
"id": "50934821",
"url": "https://www.airbnb.com/rooms/50934821",
"title": "Sunny 3BR bungalow steps from Pacific Beach",
"propertyType": "Entire home",
"roomType": "Entire home/apt",
"personCapacity": 6,
"rating": 4.92,
"reviewsCount": 187,
... 21 more fields
}
Uptime
100.00%
30d · 2,673 calls
Requests
2,673
30d · weekly, last 12 wks
Response
13.3s
median · 30d

Pricing

Airbnb Search API pricing

You pay
$15.76
$1.58/1k results, only for what you use. No monthly plan.
One request costs at most $0.0331 (21 results).
The $0.10 starting balance covers at least 3 requests.

Try it

Get Airbnb search in one request

Open in
Get a free key
Sample response
Free runs return only the first 3 results. Fund a key to get the full response.

This sample shows 34 of 35 fields. See every field

{
  "found": true,
  "data": {
    "items": [
      {
        "id": "50934821",
        "url": "https://www.airbnb.com/rooms/50934821",
        "title": "Sunny 3BR bungalow steps from Pacific Beach",
        "propertyType": "Entire home",
        "roomType": "Entire home/apt",
        "personCapacity": 6,
        "rating": 4.92,
        "reviewsCount": 187,
        "price": "$1,284 total",
        "latitude": 32.7987,
        "longitude": -117.2545,
        "location": "Pacific Beach, San Diego",
        "image": "https://a0.muscache.com/im/pictures/miso/Hosting-50934821/original/bungalow-front.jpg",
        "hostName": "Renata",
        "isSuperhost": true,
        "isAvailable": true,
        "description": "Bright, freshly renovated bungalow two blocks from the boardwalk with a private backyard patio and outdoor shower.",
        "hostId": "H4021983",
        "hostAvatarUrl": "https://a0.muscache.com/im/pictures/user/host-renata.jpg",
        "hostVerified": true,
        "hostRating": 4.95,
        "hostReviewsCount": 340,
        "ratingAccuracy": 4.9,
        "ratingCheckin": 5,
        "ratingCleanliness": 4.9,
        "ratingCommunication": 5,
        "ratingLocation": 4.95,
        "ratingValue": 4.8,
        "images": [
          {
            "url": "https://a0.muscache.com/im/pictures/miso/Hosting-50934821/original/bungalow-front.jpg",
            "caption": "Front exterior"
          },
          {
            "url": "https://a0.muscache.com/im/pictures/miso/Hosting-50934821/original/bungalow-living.jpg",
            "caption": "Living room"
          }
        ]
      },
      {
        "id": "41772093",
        "url": "https://www.airbnb.com/rooms/41772093",
        "title": "Modern 3BR home with pool near Mission Bay",
        "propertyType": "Entire home",
        "roomType": "Entire home/apt",
        "personCapacity": 8,
        "rating": 4.85,
        "reviewsCount": 96,
        "price": "$1,560 total",
        "latitude": 32.7757,
        "longitude": -117.2264,
        "location": "Mission Bay, San Diego",
        "image": "https://a0.muscache.com/im/pictures/miso/Hosting-41772093/original/pool-house.jpg",
        "hostName": "Damon",
        "isSuperhost": false,
        "isAvailable": true,
        "description": "Spacious single story home with a heated pool, fire pit, and a short walk to the bay.",
        "hostId": "H2091823",
        "hostVerified": true,
        "hostRating": 4.7,
        "hostReviewsCount": 112,
        "ratingAccuracy": 4.8,
        "ratingCheckin": 4.9,
        "ratingCleanliness": 4.85,
        "ratingCommunication": 4.9,
        "ratingLocation": 4.8,
        "ratingValue": 4.7
      },
      {
        "id": "38820194",
        "url": "https://www.airbnb.com/rooms/38820194",
        "title": "Downtown Gaslamp 3BR loft with rooftop deck",
        "propertyType": "Loft",
        "roomType": "Entire home/apt",
        "personCapacity": 5,
        "rating": 4.7,
        "reviewsCount": 63,
        "price": "$980 total",
        "latitude": 32.7107,
        "longitude": -117.16,
        "location": "Gaslamp Quarter, San Diego",
        "image": "https://a0.muscache.com/im/pictures/miso/Hosting-38820194/original/loft-rooftop.jpg",
        "hostName": "Willa",
        "isSuperhost": true,
        "isAvailable": false,
        "hostId": "H1120934",
        "hostVerified": false,
        "hostRating": 4.6,
        "hostReviewsCount": 51
      }
    ]
  }
}

Full parameter and response reference - every field, type, and example for this endpoint.

Reference

One request, one response shape.

Every field you send and every field you get back, each with a real example.

Last verified 2026-10-31 · uptime and latency measured over 30d

Request body

JSON, posted to this endpoint.

  • locationstring

    San Diego

    Location to search listings in (e.g. London).

  • adultsinteger

    2

    Number of adult guests (e.g. 2).

  • checkInstring

    Check-in date in YYYY-MM-DD format (e.g. 2026-07-01).

  • checkOutstring

    Check-out date in YYYY-MM-DD format (e.g. 2026-07-05).

  • childreninteger

    Number of child guests (e.g. 1).

  • currencyenum

    Currency code for prices (e.g. EUR).

  • infantsinteger

    Number of infant guests (e.g. 1).

  • limitinteger

    3

    Maximum number of results to return (1-20, default 20). You are billed per result returned, so a lower limit costs less.

  • minBathroomsinteger

    Minimum number of bathrooms (e.g. 2).

  • minBedroomsinteger

    3

    Minimum number of bedrooms (e.g. 2).

  • minBedsinteger

    Minimum number of beds (e.g. 2).

  • petsinteger

    Number of pets; only pet-friendly listings are returned when set (e.g. 1).

  • priceMaxinteger

    Maximum search price in the selected currency (e.g. 300).

  • priceMininteger

    Minimum search price in the selected currency (e.g. 50).

You send. A small JSON body. The values shown are examples to replace with your own.

Response

JSON, one example value per field.

each itemdata.items[]

Listing records: name, total-stay price label, rating, location, host info, and availability details. Populated whenever the provider has data for the entity.

  • descriptionstring

    Bright, freshly renovated bungalow two blocks from the boardwalk with a private backyard patio and outdoor shower.

    Listing description written by the host.

  • hostAvatarUrlstring

    https://a0.muscache.com/im/pictures/user/host-renata.jpg

    Host profile photo URL.

  • hostIdstring

    H4021983

    Airbnb host identifier.

  • hostNamestring

    Renata

  • hostRatingnumber

    4.95

    Average rating across the host other listings (0-5).

  • hostReviewsCountinteger

    340

    Number of reviews across the host other listings.

  • hostVerifiedboolean

    true

    Whether Airbnb has verified the host identity.

  • idstring

    50934821

    Airbnb listing identifier. Populated whenever the provider has data for the entity.

  • imagestring

    https://a0.muscache.com/im/pictures/miso/Hosting-50934821/original/bungalow-front.jpg

    Primary listing image URL. Populated whenever the provider has data for the entity.

  • isAvailableboolean

    true

  • isSuperhostboolean

    true

  • latitudenumber

    32.7987

  • locationstring

    Pacific Beach, San Diego

    Location subtitle.

  • longitudenumber

    -117.2545

  • personCapacityinteger

    6

  • pricestring

    $1,284 total

    Total-stay price label returned by Airbnb (e.g. $3,149 total).

  • propertyTypestring

    Entire home

  • ratingnumber

    4.92

    Guest satisfaction rating (0-5).

  • ratingAccuracynumber

    4.9

    Accuracy sub-rating (0-5).

  • ratingCheckinnumber

    5

    Check-in sub-rating (0-5).

  • ratingCleanlinessnumber

    4.9

    Cleanliness sub-rating (0-5).

  • ratingCommunicationnumber

    5

    Communication sub-rating (0-5).

  • ratingLocationnumber

    4.95

    Location sub-rating (0-5).

  • ratingValuenumber

    4.8

    Value sub-rating (0-5).

  • reviewsCountinteger

    187

  • roomTypestring

    Entire home/apt

  • titlestring

    Sunny 3BR bungalow steps from Pacific Beach

    Populated whenever the provider has data for the entity.

  • urlstring

    https://www.airbnb.com/rooms/50934821

    Populated whenever the provider has data for the entity.

each imagedata.items[].images[]

Listing photos.

  • captionstring

    Front exterior

    Photo caption.

  • urlstring

    https://a0.muscache.com/im/pictures/miso/Hosting-50934821/original/bungalow-front.jpg

    Photo URL.

top level
  • foundboolean

    true

  • reason"not_found"

    Present only when `found` is false, and says why there is no result. `not_found`: the source states the target does not exist, or returned nothing for it. A `found: false` answer is a successful call, not an error, and `costUsd` is what it actually cost.

You get back. Named, typed fields in the same shape whichever source answers.

FAQ

About the Airbnb Search API

The AnyAPI Airbnb Search API returns Airbnb search data as normalized JSON from one POST call to /v1/run/airbnb.search. Search Airbnb listings by location and dates with optional price, beds/bedrooms/bathrooms, and guest-party filters and get results (name, total-stay price label, rating, host) as normalized JSON. AnyAPI returns one normalized schema whichever source serves it. It costs $1.58 per 1,000 results, and never more than $0.0331 for a single request, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 100.0% of Airbnb search calls through AnyAPI succeeded, with a median response time of 13.3 seconds across 2,673 measured calls.

It costs $1.58 per 1,000 results, and never more than $0.0331 for a single request, in US dollars with no subscription and no monthly minimum. You fund one USD wallet and each call draws it down. Some failed wallet-funded requests incur processing charges that we pass through at cost, with no markup; the error response shows the amount charged.

Search Airbnb listings by location and dates with optional price, beds/bedrooms/bathrooms, and guest-party filters and get results (name, total-stay price label, rating, host) as normalized JSON. The response is normalized JSON with the same envelope every AnyAPI endpoint returns, so parsing a second endpoint is a change of URL and nothing else.

Over the last 30 days, 100.0% of Airbnb search calls through AnyAPI succeeded, with a median response time of 13.3 seconds across 2,673 measured calls. These are AnyAPI's own measurements of traffic through the gateway, recomputed continuously, not a published service-level target.

Yes. A new AnyAPI account starts with $0.10 of free balance and no card required, which covers at least 3 Airbnb Search calls at up to $0.0331 each.

Send a POST request to https://api.getanyapi.com/v1/run/airbnb.search with your AnyAPI key in an "Authorization: Bearer" header and the input as a JSON body. The same key and the same wallet work on every AnyAPI endpoint.

No. You add US dollars to one prepaid AnyAPI balance and each request draws it down. There is no monthly plan and no minimum, and the same balance pays for every AnyAPI endpoint.

Yes. Install @getanyapi/sdk from npm for TypeScript or getanyapi from pip for Python. Both call every AnyAPI endpoint with the same key, and any HTTP client works too.

Yes. An agent can connect to the AnyAPI MCP server at https://api.getanyapi.com/mcp, or create its own free-trial key with one unauthenticated POST to https://api.getanyapi.com/agent/signup and call this endpoint over HTTP.