{
  "openapi": "3.0.1",
  "info": {
    "title": "Airbnb Scraper: Host Full Listings",
    "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": "4zNYt0NeBCfKi4vjs"
  },
  "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": {
          "hostMarketQueries": {
            "title": "📍 Host market 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"
            }
          },
          "hostSearchUrls": {
            "title": "🔗 Or paste Airbnb 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"
            }
          },
          "stayWindowStart": {
            "title": "🛎️ Stay start (check-in)",
            "type": "string",
            "description": "When the stay starts — calendar date **or** relative (e.g. `14 days`, `2 weeks`). Future dates work best for live prices. 📆"
          },
          "stayWindowEnd": {
            "title": "🚪 Stay end (check-out)",
            "type": "string",
            "description": "When the stay ends — must be **after** the stay start. Same calendar or relative style as above. 🌅"
          },
          "portfolioCurrency": {
            "title": "💵 Portfolio 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": "Host listing prices and per-host average prices are shown in this money format. 💶"
          },
          "portfolioLocale": {
            "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 host listings and prices for you (language/region). 🗣️"
          },
          "maxHostListings": {
            "title": "🔢 Max host listings",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Stop after this many listings that **match your search** (each carries its host block). 📊"
          },
          "maxSearchPages": {
            "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. 📑"
          },
          "includeNearbyAreas": {
            "title": "🌍 Include nearby / similar-named areas",
            "type": "boolean",
            "description": "Leave **off** ✅ (default) to keep only hosts whose listings really belong to the market you named — best when a city name exists in many countries. Turn **on** to also include hosts from nearby or similarly-named areas. 🧭"
          },
          "expandHostPortfolio": {
            "title": "🏘️ Expand host portfolio",
            "type": "boolean",
            "description": "When **on** ✅ each unique host is expanded into **all of their listings** (rows tagged `type=host_listing`) plus one **`host_summary`** roll-up row (portfolio size, average rating, average price, superhost flag). Summaries also mirror to a per-run `<runId>-hosts` child dataset. When **off**, you still get the host block on every listing. Example: 5 listings by 3 hosts → 5 listing rows + all 3 hosts' portfolios + 3 host_summary rows. 📊",
            "default": false
          },
          "sortOrder": {
            "title": "↕️ Search sort order",
            "enum": [
              "relevance",
              "price_asc",
              "price_desc"
            ],
            "type": "string",
            "description": "Order Airbnb returns search results in. Example: `price_asc` to see the cheapest of a host's area first. Default is `relevance`. 🔀",
            "default": "relevance"
          },
          "hostRegion": {
            "title": "📍 Host 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 market keyword field. 🇺🇸"
          },
          "hostCountry": {
            "title": "🌎 Host 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 host market should be in (helps when two cities share a name). Leave empty if you’re sure. 🏳️"
          },
          "connectionProxy": {
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}