{
  "openapi": "3.0.1",
  "info": {
    "title": "Airbnb Scraper — Vacation Rental Prices, Ratings & Locations",
    "description": "Scrape Airbnb vacation rental listings by city — name, nightly price, rating, reviews, coordinates and cover photo — for pricing research, host competitor tracking and market or investment analysis. Export clean JSON/CSV in minutes, no login required. Search Istanbul, London, New York and more.",
    "version": "0.1",
    "x-build-id": "6PKQFs3GF12yEhZND"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/haketa~airbnb-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-haketa-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/haketa~airbnb-scraper/runs": {
      "post": {
        "operationId": "runs-sync-haketa-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/haketa~airbnb-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-haketa-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": {
          "locations": {
            "title": "Cities to search",
            "type": "array",
            "description": "Pick one or more popular cities to collect vacation rentals from. Great for comparing prices and ratings across destinations in a single run.",
            "items": {
              "type": "string",
              "enum": [
                "Istanbul",
                "London",
                "New York",
                "Paris",
                "Dubai",
                "Barcelona",
                "Rome",
                "Tokyo",
                "Amsterdam",
                "Bali",
                "Los Angeles",
                "Miami",
                "Berlin",
                "Vienna",
                "Prague",
                "Lisbon",
                "Bangkok",
                "Sydney",
                "Toronto",
                "Cape Town"
              ],
              "enumTitles": [
                "Istanbul, Türkiye",
                "London, United Kingdom",
                "New York, USA",
                "Paris, France",
                "Dubai, UAE",
                "Barcelona, Spain",
                "Rome, Italy",
                "Tokyo, Japan",
                "Amsterdam, Netherlands",
                "Bali, Indonesia",
                "Los Angeles, USA",
                "Miami, USA",
                "Berlin, Germany",
                "Vienna, Austria",
                "Prague, Czechia",
                "Lisbon, Portugal",
                "Bangkok, Thailand",
                "Sydney, Australia",
                "Toronto, Canada",
                "Cape Town, South Africa"
              ]
            }
          },
          "customLocations": {
            "title": "Other cities (optional)",
            "type": "array",
            "description": "Search any city or area that is not in the list above — just type its name, for example 'Antalya', 'Cappadocia' or 'Marrakech'. One entry per line; combined with the cities above.",
            "items": {
              "type": "string"
            }
          },
          "guests": {
            "title": "Guests",
            "enum": [
              "",
              "1",
              "2",
              "3",
              "4",
              "5",
              "6",
              "8",
              "10",
              "12",
              "16"
            ],
            "type": "string",
            "description": "Only show homes that can host at least this many guests. Handy when you research family-sized or group rentals instead of studios.",
            "default": ""
          },
          "bedrooms": {
            "title": "Minimum bedrooms",
            "enum": [
              "",
              "1",
              "2",
              "3",
              "4",
              "5"
            ],
            "type": "string",
            "description": "Only show homes with at least this many bedrooms. Useful for separating whole-home inventory from private rooms and studios.",
            "default": ""
          },
          "priceMin": {
            "title": "Minimum nightly price (optional)",
            "minimum": 0,
            "type": "integer",
            "description": "Skip listings cheaper than this amount per night, in the currency shown on Airbnb for your search. Helps you focus on a specific price segment."
          },
          "priceMax": {
            "title": "Maximum nightly price (optional)",
            "minimum": 0,
            "type": "integer",
            "description": "Skip listings more expensive than this amount per night, in the currency shown on Airbnb for your search. Helps you stay inside a budget or competitor band."
          },
          "checkIn": {
            "title": "Check-in date (optional)",
            "type": "string",
            "description": "Check-in date in YYYY-MM-DD format, for example 2026-12-10. Add both dates to see prices for an exact stay instead of flexible upcoming dates."
          },
          "checkOut": {
            "title": "Check-out date (optional)",
            "type": "string",
            "description": "Check-out date in YYYY-MM-DD format, for example 2026-12-13. Used together with the check-in date above."
          },
          "maxItems": {
            "title": "Max results",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of listings to collect across all cities in this run. Leave empty for a balanced sample of about 100 listings."
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Connection settings for loading search results. The default works for most runs; if a run returns very few or no listings, switching this to residential in Apify Proxy can help show complete results for that city.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}