{
  "openapi": "3.0.1",
  "info": {
    "title": "Airbnb Listings Scraper - Stays, Prices & Ratings",
    "description": "Scrape Airbnb vacation rentals by city across global markets. Extract stay prices, ratings, review counts, images, and listing URLs. Filter by room type, category tags, and property type for Excel, CSV, or JSON.",
    "version": "0.4",
    "x-build-id": "GbJyg36DjcNoj5j05"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/lentic_clockss~airbnb-listings-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-lentic_clockss-airbnb-listings-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/lentic_clockss~airbnb-listings-scraper/runs": {
      "post": {
        "operationId": "runs-sync-lentic_clockss-airbnb-listings-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/lentic_clockss~airbnb-listings-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-lentic_clockss-airbnb-listings-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": {
          "destination": {
            "title": "Destination",
            "type": "string",
            "description": "City, region, or country to search (e.g. 'Osaka', 'Paris', 'Bali'). Required when startUrls is empty.",
            "default": "Singapore"
          },
          "market": {
            "title": "Market / storefront",
            "enum": [
              "AE",
              "AL",
              "AM",
              "AR",
              "AR_AR",
              "AT",
              "AU",
              "AZ",
              "BA",
              "BE",
              "BE_FR",
              "BG",
              "BO",
              "BR",
              "BZ",
              "CA",
              "CA_FR",
              "CH",
              "CH_FR",
              "CH_IT",
              "CL",
              "CN",
              "CO",
              "CR",
              "CZ",
              "DE",
              "DK",
              "EC",
              "EE",
              "ES",
              "ES_CAT",
              "FI",
              "FR",
              "GB",
              "GE",
              "GR",
              "GT",
              "GY",
              "HK",
              "HN",
              "HR",
              "HU",
              "ID",
              "IE",
              "IE_GA",
              "IL",
              "IN",
              "IN_HI",
              "IN_KN",
              "IN_MR",
              "IS",
              "IT",
              "JP",
              "KR",
              "LT",
              "LU",
              "LU_DE",
              "LV",
              "ME",
              "MK",
              "MT",
              "MX",
              "MY",
              "NI",
              "NL",
              "NO",
              "NZ",
              "PA",
              "PE",
              "PH",
              "PL",
              "PT",
              "PY",
              "RO",
              "RS",
              "RU",
              "SE",
              "SG",
              "SI",
              "SK",
              "SV",
              "SW",
              "TH",
              "TR",
              "TW",
              "UA",
              "US",
              "US_ES",
              "US_ZH",
              "US_ZH_T",
              "VE",
              "VN",
              "ZA_XH",
              "ZA_ZU"
            ],
            "type": "string",
            "description": "Airbnb country/language storefront. Controls host domain, default locale, currency, and proxy country.",
            "default": "US"
          },
          "domain": {
            "title": "Domain override",
            "type": "string",
            "description": "Optional host override (e.g. www.airbnb.jp). Leave empty to use the market default.",
            "default": ""
          },
          "locale": {
            "title": "Locale override",
            "type": "string",
            "description": "Optional Playwright/browser locale override (e.g. ja-JP). Leave empty to use the market default.",
            "default": ""
          },
          "currency": {
            "title": "Currency",
            "type": "string",
            "description": "ISO currency for display_currency on search URLs and price parsing fallback (e.g. USD, JPY, EUR). Leave empty to use the market default.",
            "default": ""
          },
          "placeId": {
            "title": "Google Place ID",
            "type": "string",
            "description": "Optional place_id to stabilize geography (e.g. ChIJ...).",
            "default": ""
          },
          "checkin": {
            "title": "Check-in Date",
            "type": "string",
            "description": "Check-in date in YYYY-MM-DD format. Leave empty for flexible search.",
            "default": ""
          },
          "checkout": {
            "title": "Check-out Date",
            "type": "string",
            "description": "Check-out date in YYYY-MM-DD format. Leave empty for flexible search.",
            "default": ""
          },
          "adults": {
            "title": "Number of Adults",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Number of adult guests.",
            "default": 2
          },
          "roomTypes": {
            "title": "Room types",
            "uniqueItems": true,
            "type": "array",
            "description": "Type of place filters (OR). Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "Entire home/apt",
                "Private room",
                "Shared room",
                "Hotel room"
              ]
            },
            "default": []
          },
          "categoryTags": {
            "title": "Category tags",
            "uniqueItems": true,
            "type": "array",
            "description": "Airbnb stays category rail filters. Each tag runs a separate search; results are merged and deduped under maxResults. Labels map to Tag:NNNN; raw Tag:NNNN also accepted.",
            "items": {
              "type": "string",
              "enum": [
                "A-frames",
                "Amazing pools",
                "Amazing views",
                "Arctic",
                "Barns",
                "Beach",
                "Beachfront",
                "Bed and breakfasts",
                "Boats",
                "Cabins",
                "Campers",
                "Camping",
                "Casas particulares",
                "Castles",
                "Caves",
                "Chef's kitchens",
                "Containers",
                "Countryside",
                "Creative spaces",
                "Cycladic homes",
                "Dammusi",
                "Desert",
                "Design",
                "Domes",
                "Earth homes",
                "Farms",
                "Golfing",
                "Grand pianos",
                "Hanoks",
                "Historical homes",
                "Houseboats",
                "Iconic cities",
                "Icons",
                "Islands",
                "Kezhans",
                "Lake",
                "Lakefront",
                "Luxe",
                "Mansions",
                "Minsus",
                "National parks",
                "Off-the-grid",
                "OMG!",
                "Play",
                "Riads",
                "Ryokans",
                "Shared homes",
                "Shepherd's huts",
                "Ski-in/out",
                "Skiing",
                "Surfing",
                "Tiny homes",
                "Top of the world",
                "Towers",
                "Treehouses",
                "Tropical",
                "Trulli",
                "Vineyards",
                "Windmills",
                "Yurts"
              ]
            },
            "default": []
          },
          "propertyTypeIds": {
            "title": "Property types",
            "uniqueItems": true,
            "type": "array",
            "description": "Property type filters (property_type_id[]). Choose labels and/or numeric IDs.",
            "items": {
              "type": "string",
              "enum": [
                "Apartment",
                "Barn",
                "Bed and breakfast",
                "Boat",
                "Boutique hotel",
                "Bungalow",
                "Bus",
                "Cabin",
                "Camper/RV",
                "Casa particular",
                "Casa rural",
                "Castle",
                "Cave",
                "Chalet",
                "Condo",
                "Cottage",
                "Cycladic house",
                "Dammusi",
                "Dome",
                "Earth house",
                "Farm stay",
                "Floor",
                "Guest suite",
                "Guesthouse",
                "Holiday park",
                "Hostel",
                "Hotel",
                "House",
                "Hut",
                "Island",
                "Lighthouse",
                "Loft",
                "Minsu",
                "Resort",
                "Riad",
                "Ryokan",
                "Serviced apartment",
                "Shipping container",
                "Tent",
                "Tiny home",
                "Tipi",
                "Tower",
                "Townhouse",
                "Train",
                "Treehouse",
                "Villa",
                "Windmill",
                "Yurt",
                "1",
                "2",
                "3",
                "4",
                "5",
                "6",
                "8",
                "9",
                "12",
                "14",
                "15",
                "16",
                "17",
                "18",
                "19",
                "21",
                "22",
                "23",
                "26",
                "28",
                "32",
                "33",
                "34",
                "35",
                "36",
                "37",
                "38",
                "40",
                "43",
                "44",
                "45",
                "46",
                "47",
                "48",
                "51",
                "52",
                "53",
                "54",
                "56",
                "57",
                "58",
                "59",
                "60",
                "61",
                "62",
                "63",
                "64",
                "65"
              ]
            },
            "default": []
          },
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Optional full Airbnb search URLs. When set, destination builder is skipped (pagination still applied).",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "maxResults": {
            "title": "Max Results",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Maximum number of Airbnb listings to collect across all category/startUrl queries. Default 50.",
            "default": 50
          },
          "proxy": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Proxy configuration. Residential proxies are recommended. If Apify Proxy is enabled without a country, the Actor sets apifyProxyCountry from the selected market."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}