{
  "openapi": "3.0.1",
  "info": {
    "title": "Airbnb Scraper",
    "description": "Scrape live Airbnb listings to fuel travel content, destination guides, or SEO research. Find top listings, popular amenities, and guest trends to create high-converting content strategies.",
    "version": "0.1",
    "x-build-id": "xHJdaYOHlodsme9lp"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/simpleapi~airbnb-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-simpleapi-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/simpleapi~airbnb-scraper/runs": {
      "post": {
        "operationId": "runs-sync-simpleapi-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/simpleapi~airbnb-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-simpleapi-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": "📍 Location keywords",
            "type": "array",
            "description": "Examples: `london`, `paris`, or for the US `Austin--TX` so the right area is clear. Add one entry per line. 🌆",
            "items": {
              "type": "string"
            }
          },
          "startItems": {
            "title": "🔗 Or paste search links / URLs",
            "type": "array",
            "description": "Optional: full Airbnb search URLs or other start links — we’ll figure out the place from them. 🔗",
            "items": {
              "type": "string"
            }
          },
          "checkin": {
            "title": "🛎️ Check-in",
            "type": "string",
            "description": "When your stay starts — calendar date **or** relative (e.g. `14 days`, `2 weeks`). Future trip dates work best for live prices. 📆",
            "default": "2026-06-01"
          },
          "checkout": {
            "title": "🚪 Check-out",
            "type": "string",
            "description": "When your stay ends — must be **after** check-in. Same calendar or relative style as above. 🌅",
            "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": "Prices will be shown in this money format. 💶",
            "default": "USD"
          },
          "locale": {
            "title": "🌐 Language & region (locale)",
            "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": "How Airbnb labels listings and prices for you (language/region). 🗣️",
            "default": "en-US"
          },
          "maxItems": {
            "title": "🔢 Max stays",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Stop after this many stays that **match your search** (and your area rules below). 📊",
            "default": 20
          },
          "maxPages": {
            "title": "📄 Max search pages (optional)",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Advanced: limit how many result pages to scroll. Leave empty and we’ll pick a sensible cap for you. 📑"
          },
          "strictGeo": {
            "title": "📌 Strictly stay in my search area",
            "type": "boolean",
            "description": "When **on** ✅ we only keep stays that really belong to the area you meant (great when a city name exists in many countries). When **off**, more results may appear from nearby or similar names. 🌍",
            "default": true
          },
          "state": {
            "title": "📍 Region / state / province",
            "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 dropdown of regions worldwide — pick the closest match, or none. US tip: you can also use `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: which country the place should be in (helps when two cities share a name). Leave empty if you’re sure. 🏳️",
            "default": ""
          },
          "proxyConfiguration": {
            "title": "🔌 Proxy",
            "type": "object",
            "description": "Configure Apify Proxy if needed; otherwise we connect directly. ☁️"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}