Get API key

Airbnb Search API

The Airbnb Search API returns stay listings as structured JSON. Search by destination, choose a country or language edition, and optionally specify dates, guests, price bounds, room types, property types, amenities and booking preferences. Listings include IDs, titles, ratings, review counts, photos, coordinates and displayed price details when available. Use the returned page links to continue a search within the documented pagination limits. Pass a listing ID to the Airbnb Place API for individual stay details.

Endpoint: https://api.scrapingdog.com/airbnb/search

Each successful request costs 5 credits, including a valid empty search. Requests ask for 18 listings; this is not an enforced response-array cap. The default India edition is www.airbnb.co.in with INR. The supplied response below shows one of 18 returned listings, present in both array aliases; counts and pagination retain the full response values. The API key is replaced with APIKEY. Example dates match the supplied response; choose suitable dates for your request.

API Parameters

🔑

Scrapingdog Parameters

  • api_key Required
    Your Scrapingdog API key from the dashboard. Send each key once in the GET query string. Replace APIKEY only when executing requests.

    Default: None

    Type: String
🔍

Search

  • query Required
    Nonblank search text, for example jaipur, at most 1,000 submitted characters before trimming. Leading and trailing whitespace is removed; control characters are rejected.

    Default: None

    Type: String
🌐

Localization

  • domain Optional
    Choose one of the 116 supported editions. Trimmed and lowercased; an initial www. is removed for lookup. The effective hostname adds www. to country/base domains; language subdomains remain unchanged. Supply a hostname without a scheme, path, query string or trailing slash. Locale is derived from the domain; there is no language or locale override.

    Default: airbnb.co.in

    Type: String enum
  • currency Optional
    Supported three-letter code. Uppercased; whitespace is not trimmed. See the 69 supported currencies. Currency does not change locale.

    Default: Domain-associated currency

    Type: String enum
📅

Stay Dates

  • checkin Optional
    Valid calendar date in YYYY-MM-DD form. Supply together with checkout. Dates are optional, but supply both or neither. No dates are generated when omitted; the API validates calendar dates and ordering without rejecting past dates or imposing a maximum stay length.

    Default: Omitted: no fixed dates

    Type: Date string
  • checkout Optional
    Valid date strictly after checkin; must be supplied together with it.

    Default: Omitted: no fixed dates

    Type: Date string
  • flex_window Optional
    Date flexibility of plus or minus 1, 2, 3, 7 or 14 days. Requires both checkin and checkout.

    Default: Unset: exact dates if provided

    Type: Integer enum
👥

Guests

  • adults Optional
    Non-negative whole-number count; explicit zero is preserved. Digits only; no signs, spaces, decimals or exponents.

    Default: Omitted

    Type: Non-negative integer
  • children Optional
    Number of children. Explicit zero is preserved. Digits only; no signs, spaces, decimals or exponents. No child-age list is required or supported.

    Default: Omitted

    Type: Non-negative integer
  • infants Optional
    Non-negative whole-number count. Digits only; no signs, spaces, decimals or exponents.

    Default: Omitted

    Type: Non-negative integer
  • pets Optional
    Non-negative whole-number count. Digits only; no signs, spaces, decimals or exponents.

    Default: Omitted

    Type: Non-negative integer
💰

Price Filters

  • price_type Optional
    Choose trip for trip price-filter mode or nightly for nightly price-filter mode. Values are case-sensitive and whitespace is not trimmed.

    Default: trip

    Type: String enum
  • min_price Optional
    Minimum in selected currency and price mode. Use digits with an optional decimal fraction; no signs, whitespace, exponents or grouping commas.

    Default: Unset

    Type: Non-negative decimal
  • max_price Optional
    Same numeric rules; must be at least min_price when both are supplied. Use digits with an optional decimal fraction; no signs, whitespace, exponents or grouping commas.

    Default: Unset

    Type: Non-negative decimal
🏠

Property Filters

  • room_type Optional
    Choose entire_home for an entire home/apartment or private_room for a private room. Values are case-sensitive and whitespace is not trimmed.

    Default: Unset

    Type: String enum
  • property_types Optional
    Comma-separated property IDs: 1 House, 3 Flat, 2 Guest house, 4 Hotel. Item whitespace is trimmed and duplicates are removed. Maximum 512 submitted characters.

    Default: Unset

    Type: Comma-separated string
  • bedrooms Optional
    Minimum number of bedrooms. Digits only; no signs, spaces, decimals or exponents.

    Default: Unset

    Type: Non-negative integer
  • beds Optional
    Minimum number of beds. Digits only; no signs, spaces, decimals or exponents.

    Default: Unset

    Type: Non-negative integer
  • bathrooms Optional
    Minimum bathrooms. Decimal values are accepted. Use digits with an optional decimal fraction; no signs, whitespace, exponents or grouping commas.

    Default: Unset

    Type: Non-negative decimal
✨

Preferences

  • amenities Optional
    Comma-separated amenity and accessibility IDs, for example 4,8,33,34. Use positive whole numbers. Leading zeroes are normalized and duplicates are removed. Maximum 4,096 characters; control characters are rejected.

    Default: Unset

    Type: Comma-separated string
  • host_languages Optional
    Choose from the host language codes, for example en,hi; trimmed, lowercased and deduplicated. These are separate from the domain locale list. Maximum 4,096 characters; no control characters. Compatibility alias: host_langugages (legacy spelling). Send only one spelling; supplying both is rejected. Responses and pagination use the canonical name. Region-tagged codes such as en-IN are invalid.

    Default: Unset

    Type: Comma-separated string
  • free_cancellation Optional
    Accepts exactly true or false. Filters for flexible cancellation when enabled. Send lowercase strings in Python and PHP query encoders; native booleans may serialize to unsupported True/False or 1/0.

    Default: false

    Type: Boolean query text
  • instant_book Optional
    Accepts exactly true or false. Filters for instant booking when enabled.

    Default: false

    Type: Boolean query text
  • guest_favorite Optional
    Accepts exactly true or false. Applies the guest-favorite filter when enabled.

    Default: false

    Type: Boolean query text
  • self_check_in Optional
    Accepts exactly true or false. Enabling adds amenity ID 51 to the upstream amenity selection, merging it without duplicates. The echoed amenities string remains the explicitly supplied list.

    Default: false

    Type: Boolean query text
📄

Pagination

  • page Optional
    Accepted range 0–49. Start at 0 and follow next_page or the next API URL with the same settings. Stop on empty results, null continuation, repeated pages or page 49. A nonempty page can suggest a next page even when next_cursor is null; do not follow beyond page 49. Each request asks for 18 listings; limit and cursor are not public request controls.

    Default: Initial page 0

    Type: Non-negative integer

API Examples

API result preview
Code to Integrate
curl "https://api.scrapingdog.com/airbnb/search?api_key=APIKEY&query=jaipur&domain=airbnb.co.in&currency=INR&checkin=2026-11-20&checkout=2026-11-25&price_type=trip&page=0"
API Response
{
  "search_metadata": {
    "status": "Success",
    "airbnb_url": "https://www.airbnb.co.in/s/homes?query=jaipur&currency=INR&checkin=2026-11-20&checkout=2026-11-25&price_filter_input_type=2",
    "total_time_taken": 1.53
  },
  "search_parameters": {
    "engine": "airbnb",
    "query": "jaipur",
    "domain": "www.airbnb.co.in",
    "locale": "en-IN",
    "currency": "INR",
    "checkin": "2026-11-20",
    "checkout": "2026-11-25",
    "price_type": "trip",
    "free_cancellation": false,
    "instant_book": false,
    "guest_favorite": false,
    "self_check_in": false,
    "page": 0,
    "limit": 18
  },
  "search_information": {
    "total_results": 1000,
    "query_displayed": "jaipur",
    "results_returned": 18,
    "total_results_text": "Over 1,000 homes in Jaipur",
    "total_results_is_approximate": true
  },
  "total_time_taken": 1.53,
  "total_results": 18,
  "total_available": 1000,
  "total_available_text": "Over 1,000 homes in Jaipur",
  "total_available_is_approximate": true,
  "next_cursor": null,
  "next_page": 1,
  "scrapingdog_pagination": {
    "current": "https://api.scrapingdog.com/airbnb/search?api_key=APIKEY&query=jaipur&domain=www.airbnb.co.in&currency=INR&checkin=2026-11-20&checkout=2026-11-25&price_type=trip&free_cancellation=false&instant_book=false&guest_favorite=false&self_check_in=false&page=0",
    "next": "https://api.scrapingdog.com/airbnb/search?api_key=APIKEY&query=jaipur&domain=www.airbnb.co.in&currency=INR&checkin=2026-11-20&checkout=2026-11-25&price_type=trip&free_cancellation=false&instant_book=false&guest_favorite=false&self_check_in=false&page=1"
  },
  "organic_results": [
    {
      "position": 1,
      "listing_id": "965075981702341405",
      "place_id": "965075981702341405",
      "title": "Room in Jaipur",
      "name": "Aluda Haveli - blue room",
      "link": "https://www.airbnb.co.in/rooms/965075981702341405",
      "description": "Aluda Haveli - blue room",
      "rating": 4.9,
      "rating_text": "4.9 (132)",
      "reviews": 132,
      "gps_coordinates": {
        "latitude": 26.92034,
        "longitude": 75.82251
      },
      "coordinates": {
        "latitude": 26.92034,
        "longitude": 75.82251
      },
      "thumbnail": "https://a0.muscache.com/im/pictures/miso/Hosting-965075981702341405/original/d40c1fe6-a460-4d85-82ee-5a412b7b0152.jpeg",
      "images": [
        "https://a0.muscache.com/im/pictures/miso/Hosting-965075981702341405/original/d40c1fe6-a460-4d85-82ee-5a412b7b0152.jpeg",
        "https://a0.muscache.com/im/pictures/miso/Hosting-965075981702341405/original/77bb0eb3-91e5-4c8a-bb74-cf43c3f353d9.jpeg",
        "https://a0.muscache.com/im/pictures/miso/Hosting-965075981702341405/original/cb248251-4328-45c0-bef2-ae838691f1c4.jpeg",
        "https://a0.muscache.com/im/pictures/miso/Hosting-965075981702341405/original/2d7d9c08-b653-4a9b-ab44-45971a6ee2a9.jpeg",
        "https://a0.muscache.com/im/pictures/miso/Hosting-965075981702341405/original/14232f0a-ee38-4faa-be87-5cdd6e8a5a36.jpeg",
        "https://a0.muscache.com/im/pictures/miso/Hosting-965075981702341405/original/35fee9e4-bc9c-4fed-ab63-c9b722c2d2f4.jpeg"
      ],
      "badges": [
        "Guest favourite"
      ],
      "price": "₹12,780",
      "extracted_price": 12780,
      "currency": "INR",
      "price_qualifier": "for 5 nights",
      "price_details": {
        "display": "₹12,780",
        "qualifier": "for 5 nights"
      },
      "price_breakdown": [
        {
          "description": "5 nights x ₹2,556.00",
          "price": "₹12,780.00",
          "extracted_price": 12780
        }
      ],
      "price_accessibility_label": "₹12,780 for 5 nights",
      "details": [
        "1 bed",
        "1 bathroom"
      ],
      "beds": 1,
      "bathrooms": 1,
      "highlights": [
        "Free cancellation"
      ],
      "free_cancellation": true
    }
  ],
  "places": [
    {
      "position": 1,
      "listing_id": "965075981702341405",
      "place_id": "965075981702341405",
      "title": "Room in Jaipur",
      "name": "Aluda Haveli - blue room",
      "link": "https://www.airbnb.co.in/rooms/965075981702341405",
      "description": "Aluda Haveli - blue room",
      "rating": 4.9,
      "rating_text": "4.9 (132)",
      "reviews": 132,
      "gps_coordinates": {
        "latitude": 26.92034,
        "longitude": 75.82251
      },
      "coordinates": {
        "latitude": 26.92034,
        "longitude": 75.82251
      },
      "thumbnail": "https://a0.muscache.com/im/pictures/miso/Hosting-965075981702341405/original/d40c1fe6-a460-4d85-82ee-5a412b7b0152.jpeg",
      "images": [
        "https://a0.muscache.com/im/pictures/miso/Hosting-965075981702341405/original/d40c1fe6-a460-4d85-82ee-5a412b7b0152.jpeg",
        "https://a0.muscache.com/im/pictures/miso/Hosting-965075981702341405/original/77bb0eb3-91e5-4c8a-bb74-cf43c3f353d9.jpeg",
        "https://a0.muscache.com/im/pictures/miso/Hosting-965075981702341405/original/cb248251-4328-45c0-bef2-ae838691f1c4.jpeg",
        "https://a0.muscache.com/im/pictures/miso/Hosting-965075981702341405/original/2d7d9c08-b653-4a9b-ab44-45971a6ee2a9.jpeg",
        "https://a0.muscache.com/im/pictures/miso/Hosting-965075981702341405/original/14232f0a-ee38-4faa-be87-5cdd6e8a5a36.jpeg",
        "https://a0.muscache.com/im/pictures/miso/Hosting-965075981702341405/original/35fee9e4-bc9c-4fed-ab63-c9b722c2d2f4.jpeg"
      ],
      "badges": [
        "Guest favourite"
      ],
      "price": "₹12,780",
      "extracted_price": 12780,
      "currency": "INR",
      "price_qualifier": "for 5 nights",
      "price_details": {
        "display": "₹12,780",
        "qualifier": "for 5 nights"
      },
      "price_breakdown": [
        {
          "description": "5 nights x ₹2,556.00",
          "price": "₹12,780.00",
          "extracted_price": 12780
        }
      ],
      "price_accessibility_label": "₹12,780 for 5 nights",
      "details": [
        "1 bed",
        "1 bathroom"
      ],
      "beds": 1,
      "bathrooms": 1,
      "highlights": [
        "Free cancellation"
      ],
      "free_cancellation": true
    }
  ]
}