{
  "openapi": "3.0.1",
  "info": {
    "title": "Airbnb Scraper",
    "description": "Airbnb Scraper — Extract Airbnb listing data including names, prices, locations, ratings, reviews, amenities, guest capacity, availability, host details, images, and listing URLs. Useful for rental research, price comparison, competitor analysis, and market insights.",
    "version": "0.2",
    "x-build-id": "KvBFad7zgcnhVIOI3"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/fastdataapi~airbnb-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-fastdataapi-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/fastdataapi~airbnb-scraper/runs": {
      "post": {
        "operationId": "runs-sync-fastdataapi-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/fastdataapi~airbnb-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-fastdataapi-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",
        "properties": {
          "locationQueries": {
            "title": "🔎 Locations",
            "type": "array",
            "description": "Places to search, one per line: a city, a neighbourhood or \"City, Country\". For US places you can also write City--ST, for example Austin--TX. Each location returns up to \"Max listings per location\" listings.",
            "items": {
              "type": "string"
            }
          },
          "startItems": {
            "title": "🔗 Airbnb links",
            "type": "array",
            "description": "Optional. Airbnb search links (for example https://www.airbnb.com/s/london/homes) are searched like a location. Listing links (https://www.airbnb.com/rooms/...) or plain listing IDs are scraped directly and give one row each.",
            "items": {
              "type": "string"
            }
          },
          "checkin": {
            "title": "📅 Check-in",
            "type": "string",
            "description": "A calendar date or a relative date such as 14 days or 2 weeks. A check-in date in the past is moved forward by whole years, keeping the stay length, so Airbnb prices the stay you meant.",
            "default": "2026-06-01"
          },
          "checkout": {
            "title": "📅 Check-out",
            "type": "string",
            "description": "A calendar date or a relative date. Must be after check-in.",
            "default": "2026-06-08"
          },
          "currency": {
            "title": "📦 Currency",
            "enum": [
              "USD",
              "EUR",
              "GBP",
              "JPY",
              "AUD",
              "CAD",
              "CHF",
              "CNY",
              "INR",
              "BRL",
              "MXN",
              "SEK",
              "NOK",
              "DKK",
              "PLN",
              "NZD",
              "SGD",
              "HKD",
              "KRW",
              "TRY",
              "ZAR",
              "AED",
              "THB",
              "MYR",
              "PHP",
              "IDR",
              "CZK",
              "HUF",
              "ILS",
              "SAR",
              "CLP",
              "ARS",
              "COP",
              "PEN",
              "RON",
              "BGN",
              "HRK",
              "ISK",
              "TWD",
              "VND"
            ],
            "type": "string",
            "description": "Currency of every price in the results.",
            "default": "USD"
          },
          "locale": {
            "title": "🌍 Language and region",
            "enum": [
              "en-US",
              "en-GB",
              "en-AU",
              "en-CA",
              "en-IN",
              "en-IE",
              "fr-FR",
              "fr-CA",
              "de-DE",
              "es-ES",
              "es-MX",
              "es-AR",
              "it-IT",
              "pt-BR",
              "pt-PT",
              "ja-JP",
              "ko-KR",
              "zh-CN",
              "zh-TW",
              "nl-NL",
              "nl-BE",
              "sv-SE",
              "da-DK",
              "nb-NO",
              "fi-FI",
              "pl-PL",
              "ru-RU",
              "tr-TR",
              "el-GR",
              "cs-CZ",
              "hu-HU",
              "ro-RO",
              "uk-UA",
              "id-ID",
              "th-TH",
              "vi-VN",
              "ms-MY",
              "hi-IN",
              "he-IL",
              "ar-SA",
              "ca-ES",
              "hr-HR",
              "sk-SK",
              "sl-SI",
              "bg-BG",
              "lt-LT",
              "lv-LV",
              "et-EE"
            ],
            "type": "string",
            "description": "Language and region Airbnb uses for listing texts and price labels.",
            "default": "en-US"
          },
          "maxItems": {
            "title": "🔢 Max listings per location",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Maximum listings saved for each location or search link. Listing links always give one row each. Free plan: up to 20 listings per run (all locations and links together) and 200 per month; paid plans have no limit.",
            "default": 10
          },
          "maxPages": {
            "title": "🔢 Max search pages",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Optional. Maximum search result pages read per location (about 40 listings per page). Leave empty to read as many pages as Airbnb shows."
          },
          "strictGeo": {
            "title": "✅ Stay inside the search area",
            "type": "boolean",
            "description": "On: only listings inside the area Airbnb matched for your location are kept (when Airbnb gives no map area, the country must match). Off: every listing Airbnb returns is kept.",
            "default": true
          },
          "state": {
            "title": "📍 Region or state",
            "enum": [
              "",
              "Addis Ababa",
              "Alberta",
              "Andalusia",
              "Antioquia",
              "Auckland",
              "Australian Capital Territory",
              "Baden-Württemberg",
              "Bali",
              "Bangkok",
              "Bavaria",
              "Beijing",
              "Berlin",
              "Bogotá D.C.",
              "Brussels-Capital Region",
              "British Columbia",
              "Buenos Aires Province",
              "Busan",
              "California",
              "Cairo Governorate",
              "Casablanca-Settat",
              "Catalonia",
              "Córdoba",
              "Delhi",
              "Dubai",
              "Dublin",
              "Eastern Cape",
              "England",
              "Flanders",
              "Florida",
              "Gauteng",
              "Guangdong",
              "Hanoi",
              "Hokkaido",
              "Ho Chi Minh City",
              "Hong Kong",
              "Istanbul",
              "Jakarta",
              "Jalisco",
              "Kanagawa Prefecture",
              "Karnataka",
              "KwaZulu-Natal",
              "Lagos State",
              "Lazio",
              "Lesser Poland",
              "Lima Province",
              "Lombardy",
              "Madrid",
              "Maharashtra",
              "Manitoba",
              "Metropolitan Manila",
              "Mexico City",
              "Minas Gerais",
              "Moscow Oblast",
              "New Brunswick",
              "New South Wales",
              "New York",
              "North Holland",
              "North Rhine-Westphalia",
              "Northern Ireland",
              "Nova Scotia",
              "Ohio",
              "Ontario",
              "Oregon",
              "Osaka Prefecture",
              "Pennsylvania",
              "Provence-Alpes-Côte d'Azur",
              "Quebec",
              "Queensland",
              "Rio de Janeiro",
              "Riyadh Province",
              "Saint Petersburg",
              "Santiago Metropolitan",
              "Saskatchewan",
              "São Paulo",
              "Scotland",
              "Seoul",
              "Shanghai",
              "Sichuan",
              "Singapore",
              "South Australia",
              "South Holland",
              "Stockholm County",
              "Taipei",
              "Tamil Nadu",
              "Tasmania",
              "Tel Aviv District",
              "Texas",
              "Tokyo",
              "Victoria",
              "Viken",
              "Wales",
              "Wallonia",
              "Wellington",
              "Western Australia",
              "Western Cape",
              "Zurich",
              "Île-de-France"
            ],
            "type": "string",
            "description": "Optional. Added to the search text, and only listings whose location names this region are kept. For US places you can also write City--ST in the location field.",
            "default": ""
          },
          "country": {
            "title": "📍 Country",
            "enum": [
              "",
              "United States",
              "United Kingdom",
              "Canada",
              "Australia",
              "France",
              "Germany",
              "Italy",
              "Spain",
              "Japan",
              "India",
              "Brazil",
              "Mexico",
              "Ireland",
              "Netherlands",
              "Portugal",
              "Belgium",
              "Austria",
              "Switzerland",
              "Sweden",
              "Norway",
              "Denmark",
              "Poland",
              "Czech Republic",
              "Hungary",
              "Greece",
              "Turkey",
              "South Korea",
              "China",
              "Taiwan",
              "Hong Kong",
              "Singapore",
              "New Zealand",
              "South Africa",
              "United Arab Emirates",
              "Saudi Arabia",
              "Israel",
              "Argentina",
              "Chile",
              "Colombia",
              "Thailand",
              "Malaysia",
              "Indonesia",
              "Philippines",
              "Vietnam",
              "Egypt",
              "Nigeria",
              "Russia",
              "Ukraine",
              "Romania",
              "Finland",
              "Croatia",
              "Slovenia",
              "Slovakia",
              "Bulgaria",
              "Serbia",
              "Iceland",
              "Luxembourg",
              "Estonia",
              "Latvia",
              "Lithuania",
              "Pakistan",
              "Bangladesh",
              "Peru",
              "Ecuador",
              "Uruguay",
              "Costa Rica",
              "Panama",
              "Morocco",
              "Kenya",
              "Qatar",
              "Kuwait",
              "Bahrain",
              "Oman",
              "Cyprus",
              "Malta",
              "Montenegro",
              "Albania",
              "North Macedonia"
            ],
            "type": "string",
            "description": "Optional. Added to the search text, and only listings located in this country are kept.",
            "default": ""
          },
          "proxyConfiguration": {
            "title": "🌐 Proxy",
            "type": "object",
            "description": "Runs always connect through the Apify residential proxy, whatever is selected here. Only a proxy country chosen here is applied; without one, United States is used."
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}