{
  "openapi": "3.0.1",
  "info": {
    "title": "Airbnb Scraper | Enterprise Grade",
    "description": "Extract structured Airbnb listings at scale with unlimited coverage, full availability, detailed reviews and rich host insights. Built for enterprise-grade hospitality intelligence, market monitoring, and automated analytics pipelines.",
    "version": "0.0",
    "x-build-id": "L9C9gXxIAXOo5yxxm"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/fatihtahta~airbnb-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-fatihtahta-airbnb-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/fatihtahta~airbnb-scraper/runs": {
      "post": {
        "operationId": "runs-sync-fatihtahta-airbnb-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/fatihtahta~airbnb-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-fatihtahta-airbnb-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "location"
        ],
        "properties": {
          "location": {
            "title": "Add Locations to Search",
            "minItems": 1,
            "type": "array",
            "description": "Enter each Airbnb search location as a separate item, such as a city, district, resort area, or landmark. Broader locations can return more listings, while specific locations produce more targeted datasets.",
            "items": {
              "type": "string"
            }
          },
          "check_in": {
            "title": "Set Check-In Date",
            "type": "string",
            "description": "Enter the arrival date in YYYY-MM-DD format, for example 2026-06-01. Use this together with a check-out date for a fixed stay search."
          },
          "check_out": {
            "title": "Set Check-Out Date",
            "type": "string",
            "description": "Enter the departure date in YYYY-MM-DD format, for example 2026-06-07. Leave both exact date fields empty when you prefer flexible trip timing."
          },
          "date_tolerance": {
            "title": "Choose Date Flexibility for Exact Dates",
            "enum": [
              "1_day",
              "2_days",
              "3_days",
              "7_days",
              "14_days"
            ],
            "type": "string",
            "description": "Select how much Airbnb may expand the exact check-in and check-out dates. This setting only matters when both exact date fields are filled."
          },
          "flexible_trip_length": {
            "title": "Choose Flexible Trip Length",
            "enum": [
              "weekend",
              "week",
              "month"
            ],
            "type": "string",
            "description": "Select the stay length to use when exact check-in and check-out dates are not provided. Shorter stays are useful for quick market checks, while longer stays help compare extended-stay availability.",
            "default": "week"
          },
          "flexible_trip_year": {
            "title": "Choose Flexible Trip Year",
            "enum": [
              "2026",
              "2027"
            ],
            "type": "string",
            "description": "Select the year for flexible month searches. This setting only matters when exact check-in and check-out dates are left empty.",
            "default": "2026"
          },
          "flexible_trip_months": {
            "title": "Choose Flexible Trip Months",
            "uniqueItems": true,
            "type": "array",
            "description": "Select the months to include for flexible-date collection. This setting only matters when exact check-in and check-out dates are left empty.",
            "items": {
              "type": "string",
              "enum": [
                "january",
                "february",
                "march",
                "april",
                "may",
                "june",
                "july",
                "august",
                "september",
                "october",
                "november",
                "december"
              ],
              "enumTitles": [
                "January",
                "February",
                "March",
                "April",
                "May",
                "June",
                "July",
                "August",
                "September",
                "October",
                "November",
                "December"
              ]
            }
          },
          "adults": {
            "title": "Set Adult Guests",
            "minimum": 1,
            "type": "integer",
            "description": "Enter the number of adult guests for the stay search. Use the default when guest count is not a special requirement.",
            "default": 1
          },
          "children": {
            "title": "Set Child Guests",
            "minimum": 0,
            "type": "integer",
            "description": "Enter the number of child guests to include in the search criteria. Use 0 when children should not be part of the guest profile.",
            "default": 0
          },
          "infants": {
            "title": "Set Infant Guests",
            "minimum": 0,
            "type": "integer",
            "description": "Enter the number of infant guests to include in the search criteria. Use 0 when infants should not be part of the guest profile.",
            "default": 0
          },
          "pets": {
            "title": "Set Pets",
            "minimum": 0,
            "type": "integer",
            "description": "Enter the number of pets to include in the search criteria. Use 0 when pet-friendly filtering is not needed.",
            "default": 0
          },
          "min_price": {
            "title": "Set Minimum Price For The Whole Stay",
            "minimum": 1,
            "type": "integer",
            "description": "Enter the lowest nightly price to include, using the currency selected in localization. Leave empty when there is no minimum price requirement."
          },
          "max_price": {
            "title": "Set Maximum Price For The Whole Stay",
            "minimum": 1,
            "type": "integer",
            "description": "Enter the highest nightly price to include, using the currency selected in localization. Leave empty when there is no maximum price requirement."
          },
          "room_types": {
            "title": "Choose Room Type",
            "enum": [
              "private_room",
              "entire_place"
            ],
            "type": "string",
            "description": "Select a room type when you only want listings that match a specific stay format. Leave empty to include all supported room types."
          },
          "property_types": {
            "title": "Choose Property Types",
            "uniqueItems": true,
            "type": "array",
            "description": "Select one or more property categories to narrow the listing pool. Leave empty to include all available property types.",
            "items": {
              "type": "string",
              "enum": [
                "house",
                "apartment",
                "guesthouse",
                "hotel"
              ],
              "enumTitles": [
                "House",
                "Apartment",
                "Guesthouse",
                "Hotel"
              ]
            }
          },
          "amenities": {
            "title": "Choose Required Amenities",
            "uniqueItems": true,
            "type": "array",
            "description": "Select one or more amenities that listings must include, such as Wi-Fi, parking, a pool, or a dedicated workspace.",
            "items": {
              "type": "string",
              "enum": [
                "wifi",
                "air_conditioning",
                "dedicated_workspace",
                "pool",
                "dryer",
                "iron",
                "kitchen",
                "washer",
                "heating",
                "tv",
                "hair_dryer",
                "hot_tub",
                "free_parking",
                "ev_charger",
                "crib",
                "king_bed",
                "gym",
                "bbq_grill",
                "breakfast",
                "indoor_fireplace",
                "smoking_allowed",
                "waterfront",
                "smoke_alarm",
                "carbon_monoxide_alarm"
              ],
              "enumTitles": [
                "Wifi",
                "Air conditioning",
                "Dedicated workspace",
                "Pool",
                "Dryer",
                "Iron",
                "Kitchen",
                "Washer",
                "Heating",
                "TV",
                "Hair dryer",
                "Hot tub",
                "Free parking",
                "EV charger",
                "Crib",
                "King bed",
                "Gym",
                "BBQ grill",
                "Breakfast",
                "Indoor fireplace",
                "Smoking allowed",
                "Waterfront",
                "Smoke alarm",
                "Carbon monoxide alarm"
              ]
            }
          },
          "accessibility": {
            "title": "Choose Required Accessibility Features",
            "uniqueItems": true,
            "type": "array",
            "description": "Select one or more accessibility features that listings must include, such as step-free access, wider entrances, grab bars, or accessible parking.",
            "items": {
              "type": "string",
              "enum": [
                "step_free_access",
                "disabled_parking_spot",
                "guest_entrance_wider_than_32_inches",
                "step_free_bedroom_access",
                "bedroom_entrance_wider_than_32_inches",
                "step_free_bathroom_access",
                "bathroom_entrance_wider_than_32_inches",
                "toilet_grab_bar",
                "shower_grab_bar",
                "step_free_shower",
                "shower_or_bath_chair",
                "ceiling_or_mobile_hoist"
              ],
              "enumTitles": [
                "Step-free access",
                "Disabled parking spot",
                "Guest entrance wider than 32 inches",
                "Step-free bedroom access",
                "Bedroom entrance wider than 32 inches",
                "Step-free bathroom access",
                "Bathroom entrance wider than 32 inches",
                "Toilet grab bar",
                "Shower grab bar",
                "Step-free shower",
                "Shower or bath chair",
                "Ceiling or mobile hoist"
              ]
            }
          },
          "booking_options": {
            "title": "Choose Booking Options",
            "uniqueItems": true,
            "type": "array",
            "description": "Select booking-related requirements such as instant booking, self check-in, or pets allowed.",
            "items": {
              "type": "string",
              "enum": [
                "instant_booking",
                "self_check_in",
                "pets_allowed"
              ],
              "enumTitles": [
                "Instant booking",
                "Self check-in",
                "Allows pets"
              ]
            }
          },
          "host_language": {
            "title": "Choose Host Languages",
            "uniqueItems": true,
            "type": "array",
            "description": "Select one or more host languages to keep listings whose hosts match those languages. Leave empty when host language should not narrow results.",
            "items": {
              "type": "string",
              "enum": [
                "chinese_simplified",
                "chinese_traditional",
                "english",
                "french",
                "german",
                "italian",
                "japanese",
                "korean",
                "portuguese",
                "russian",
                "spanish",
                "arabic",
                "catalan",
                "croatian",
                "czech",
                "danish",
                "dutch",
                "finnish",
                "greek",
                "hebrew",
                "hindi",
                "hungarian",
                "icelandic",
                "indonesian",
                "malay",
                "norwegian",
                "polish",
                "swedish",
                "thai",
                "turkish",
                "afrikaans",
                "albanian",
                "armenian",
                "azerbaijani",
                "bengali",
                "bosnian",
                "bulgarian",
                "burmese",
                "estonian",
                "filipino",
                "galician",
                "gujarati",
                "haitian_creole",
                "khmer",
                "kyrgyz",
                "lao",
                "latvian",
                "macedonian",
                "maltese",
                "persian",
                "punjabi",
                "romanian",
                "serbian",
                "slovakian",
                "swahili",
                "tagalog",
                "tamil",
                "telugu",
                "ukrainian",
                "urdu",
                "vietnamese",
                "xhosa",
                "zulu",
                "sign_language"
              ],
              "enumTitles": [
                "Chinese (Simplified)",
                "Chinese (Traditional)",
                "English",
                "French",
                "German",
                "Italian",
                "Japanese",
                "Korean",
                "Portuguese",
                "Russian",
                "Spanish",
                "Arabic",
                "Catalan",
                "Croatian",
                "Czech",
                "Danish",
                "Dutch",
                "Finnish",
                "Greek",
                "Hebrew",
                "Hindi",
                "Hungarian",
                "Icelandic",
                "Indonesian",
                "Malay",
                "Norwegian",
                "Polish",
                "Swedish",
                "Thai",
                "Turkish",
                "Afrikaans",
                "Albanian",
                "Armenian",
                "Azerbaijani",
                "Bengali",
                "Bosnian",
                "Bulgarian",
                "Burmese",
                "Estonian",
                "Filipino",
                "Galician",
                "Gujarati",
                "Haitian Creole",
                "Khmer",
                "Kyrgyz",
                "Lao",
                "Latvian",
                "Macedonian",
                "Maltese",
                "Persian",
                "Punjabi",
                "Romanian",
                "Serbian",
                "Slovakian",
                "Swahili",
                "Tagalog",
                "Tamil",
                "Telugu",
                "Ukrainian",
                "Urdu",
                "Vietnamese",
                "Xhosa",
                "Zulu",
                "Sign Language"
              ]
            }
          },
          "superhost": {
            "title": "Include Superhost Listings Only",
            "type": "boolean",
            "description": "Enable this to collect only listings that match Airbnb's Superhost filter. Keep it off when host status is not required.",
            "default": false
          },
          "instant_book": {
            "title": "Include Instant Book Listings Only",
            "type": "boolean",
            "description": "Enable this to collect only listings that match Airbnb's Instant Book filter. Keep it off when instant booking is not required.",
            "default": false
          },
          "free_cancellation": {
            "title": "Include Free Cancellation Listings Only",
            "type": "boolean",
            "description": "Enable this to collect only listings that match Airbnb's free cancellation filter. Keep it off when cancellation policy should not narrow results.",
            "default": false
          },
          "luxe": {
            "title": "Include Luxe Listings Only",
            "type": "boolean",
            "description": "Enable this to collect only listings that match Airbnb's Luxe filter. Keep it off when premium collection status is not required.",
            "default": false
          },
          "guest_favorite": {
            "title": "Include Guest Favorite Listings Only",
            "type": "boolean",
            "description": "Enable this to collect only listings that match Airbnb's Guest Favorite filter. Keep it off when guest-favorite status should not narrow results.",
            "default": false
          },
          "bedrooms": {
            "title": "Set Minimum Bedrooms",
            "enum": [
              "1",
              "2",
              "3",
              "4",
              "5",
              "6",
              "7",
              "8"
            ],
            "type": "string",
            "description": "Choose the minimum number of bedrooms a listing should have. Leave empty when bedroom count should not narrow the search."
          },
          "beds": {
            "title": "Set Minimum Beds",
            "enum": [
              "1",
              "2",
              "3",
              "4",
              "5",
              "6",
              "7",
              "8"
            ],
            "type": "string",
            "description": "Choose the minimum number of beds a listing should have. Leave empty when bed count should not narrow the search."
          },
          "bathrooms": {
            "title": "Set Minimum Bathrooms",
            "enum": [
              "1",
              "2",
              "3",
              "4",
              "5",
              "6",
              "7",
              "8"
            ],
            "type": "string",
            "description": "Choose the minimum number of bathrooms a listing should have. Leave empty when bathroom count should not narrow the search."
          },
          "get_reviews": {
            "title": "Include Reviews from Each Listing",
            "type": "boolean",
            "description": "Enable this to collect reviews along with each saved listing. Reviews add richer guest feedback data, but they can make runs slower and produce larger outputs.",
            "default": false
          },
          "max_reviews": {
            "title": "Set a Review Limit per Listing",
            "minimum": 1,
            "type": "integer",
            "description": "Choose the maximum number of reviews to collect from each listing when review collection is enabled. Lower limits help keep runs faster and datasets smaller. Leave empty to collect all available reviews."
          },
          "get_availability": {
            "title": "Include Property Availability Calendar",
            "type": "boolean",
            "description": "Enable this to collect the next 12 months of Airbnb availability for each saved listing. This adds extra requests and may make runs slower.",
            "default": false
          },
          "enrich_data": {
            "title": "Collect Richer Property Listing Details",
            "type": "boolean",
            "description": "Enable this for more complete property listings. This may make the run slower because the actor may spend more time collecting details for each result. Turn it off for faster runs when the standard result fields are enough.",
            "default": false
          },
          "maximize_coverage": {
            "title": "Collect More Matching Listings",
            "type": "boolean",
            "description": "Keep this enabled for large searches that may exceed the visible-result limit. Turn it off for faster exploratory runs where the first visible set of matching listings is enough.",
            "default": true
          },
          "currency": {
            "title": "Choose Pricing Currency",
            "enum": [
              "USD",
              "AUD",
              "BRL",
              "BGN",
              "CAD",
              "CLP",
              "CNY",
              "COP",
              "CRC",
              "CZK",
              "DKK",
              "EGP",
              "AED",
              "EUR",
              "GHS",
              "HKD",
              "HUF",
              "INR",
              "IDR",
              "ILS",
              "JPY",
              "KZT",
              "KES",
              "MYR",
              "MXN",
              "MAD",
              "TWD",
              "NZD",
              "NOK",
              "PEN",
              "PHP",
              "PLN",
              "GBP",
              "QAR",
              "RON",
              "SAR",
              "SGD",
              "ZAR",
              "KRW",
              "SEK",
              "CHF",
              "THB",
              "TRY",
              "UGX",
              "UAH",
              "UYU",
              "VND"
            ],
            "type": "string",
            "description": "Choose the currency used for price filtering and listing price context. This should match the amounts entered in the price range filters.",
            "default": "USD"
          },
          "locale": {
            "title": "Choose Result Language and Region",
            "enum": [
              "en",
              "az",
              "id",
              "bs",
              "ca",
              "cs",
              "cnr",
              "da",
              "de",
              "de-AT",
              "de-CH",
              "de-LU",
              "et",
              "en-AU",
              "en-CA",
              "en-GY",
              "en-IN",
              "en-IE",
              "en-NZ",
              "en-SG",
              "en-AE",
              "en-GB",
              "es-AR",
              "es-BZ",
              "es-BO",
              "es-CL",
              "es-CO",
              "es-CR",
              "es-EC",
              "es-SV",
              "es",
              "es-US",
              "es-GT",
              "es-HN",
              "es-419",
              "es-MX",
              "es-NI",
              "es-PA",
              "es-PY",
              "es-PE",
              "es-VE",
              "fr-BE",
              "fr-CA",
              "fr",
              "fr-CH",
              "fr-LU",
              "ga",
              "hr",
              "xh",
              "zu",
              "is",
              "it",
              "it-CH",
              "sw",
              "lv",
              "lt",
              "hu",
              "mt",
              "ms",
              "nl-BE",
              "nl",
              "no",
              "pl",
              "pt-BR",
              "pt",
              "ro",
              "sq",
              "sk",
              "sl",
              "sr",
              "fi",
              "sv",
              "tl",
              "vi",
              "tr",
              "el",
              "bg",
              "mk",
              "ru",
              "uk",
              "ka",
              "hy",
              "he",
              "ar",
              "hi",
              "kn",
              "mr",
              "th",
              "ko",
              "ja",
              "zh-US",
              "zh-Hant-US",
              "zh-CN",
              "zh-HK",
              "zh-TW"
            ],
            "type": "string",
            "description": "Select the language and regional format for the Airbnb search experience used by the run. Keep the default for English-language output.",
            "default": "en"
          },
          "limit": {
            "title": "Set Max Listings per Location",
            "minimum": 1,
            "type": "integer",
            "description": "Enter the maximum number of listings to save for each location search. Leave empty to collect as many matching listings as are available within the selected filters."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}