{
  "openapi": "3.0.1",
  "info": {
    "title": "Airbnb Scraper - Listings, Prices & Public Host Details",
    "description": "Extract Airbnb stays across country storefronts, with prices, ratings, photos and optional public host details. Search places or supply listing URLs; pay per delivered listing row plus a start fee.",
    "version": "0.4",
    "x-build-id": "eEFAolxmXMcPDhd7z"
  },
  "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). Fill this, startUrls, or detailUrls. Leave all three empty to run a small example search for Singapore (3 rows)."
          },
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Optional Airbnb search links (any Airbnb country site, e.g. https://www.airbnb.com/s/Paris/homes). When set, destination is not used to build the search; pages are still followed up to maxResults.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "detailUrls": {
            "title": "Listing detail URLs",
            "type": "array",
            "description": "Optional Airbnb listing links like https://www.airbnb.com/rooms/12345 (any Airbnb country site). When set, the search is skipped and up to detailEnrichLimit listing pages are read. Requires enrichDetails=true.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "maxResults": {
            "title": "Max results per input",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Most rows for each destination, category tag, start URL, or detail URL. Default 70; larger numbers are collected in parts of 70. All row types count together. The whole run stops at your maximum total charge. Free Apify plan: up to 200 rows per run and 10 runs of this Actor (limits set by the Actor developer).",
            "default": 70
          },
          "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 storefront used for the search. Sets the default domain, language and currency; it does not restrict results to that country.",
            "default": "US"
          },
          "checkin": {
            "title": "Check-in Date",
            "pattern": "^(\\d{4}-\\d{2}-\\d{2})?$",
            "type": "string",
            "description": "Check-in date (year-month-day). Leave both dates empty for a flexible-date search (prices are then per night)."
          },
          "checkout": {
            "title": "Check-out Date",
            "pattern": "^(\\d{4}-\\d{2}-\\d{2})?$",
            "type": "string",
            "description": "Check-out date (year-month-day), after check-in. Leave both dates empty for a flexible-date search."
          },
          "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": "Choose one or more room types; matching any selected type is sufficient. Leave empty for all room types.",
            "items": {
              "type": "string",
              "enum": [
                "Entire home/apt",
                "Private room",
                "Shared room",
                "Hotel room"
              ]
            },
            "default": []
          },
          "categoryTags": {
            "title": "Category tags",
            "uniqueItems": true,
            "type": "array",
            "description": "Choose category labels such as Beach or Cabins; Tag:NNNN codes are also accepted. Each category has its own maxResults allowance, and duplicate listings are removed.",
            "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": []
          },
          "enrichDetails": {
            "title": "Enrich listing details",
            "type": "boolean",
            "description": "Add public host, location and amenity fields to a limited number of listings. Search enrichment is skipped when search rows already fill the row allowance; use detailUrls when listing details are the priority.",
            "default": true
          },
          "detailEnrichLimit": {
            "title": "Detail enrichment limit",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Maximum number of listings selected for detail enrichment, from 1 to 10. Listings not checked retain empty detail fields with not_verified reasons.",
            "default": 3
          },
          "reviewsLimit": {
            "title": "Reviews limit",
            "minimum": 0,
            "maximum": 50,
            "type": "integer",
            "description": "Maximum reviews fetched per enriched listing, newest first. Zero disables reviews unless Detail extras includes reviews, which then fetches up to 24.",
            "default": 0
          },
          "reviewRows": {
            "title": "Reviews as rows",
            "type": "boolean",
            "description": "Deliver each review as its own row (rowType review) instead of a reviews list inside the listing row. Each review row is charged as a result and counts against Max results, so fewer listings fit in the same budget.",
            "default": false
          },
          "detailExtras": {
            "title": "Detail extras",
            "uniqueItems": true,
            "type": "array",
            "description": "Optional additions to an enriched listing: detailApi for additional listing details, reviews, policies, priceBreakdown for dated prices, hostProfile for public host facts, and calendar for availability when supported. rooms delivers each bookable room of a multi-room property as its own row (rowType room), charged as a result and counted against Max results. Reviews stay inside the listing row unless Reviews as rows is on; similarListings is retired and ignored.",
            "items": {
              "type": "string",
              "enum": [
                "detailApi",
                "reviews",
                "policies",
                "priceBreakdown",
                "hostProfile",
                "calendar",
                "rooms",
                "similarListings"
              ],
              "enumTitles": [
                "Additional listing details",
                "Public reviews",
                "Policies and house rules",
                "Stay price breakdown",
                "Public host profile",
                "Availability calendar",
                "Rooms as separate rows (multi-room properties)",
                "Similar listings (not available; retired)"
              ]
            },
            "default": []
          },
          "domain": {
            "title": "Domain override",
            "pattern": "^(https?://)?(([a-z0-9-]+\\.)*airbnb\\.[a-z]{2,3}(\\.[a-z]{2})?/?)?$",
            "type": "string",
            "description": "Optional Airbnb storefront address, such as www.airbnb.jp. Leave empty to use the market default.",
            "default": ""
          },
          "locale": {
            "title": "Locale override",
            "pattern": "^([A-Za-z]{2,3}([-_][A-Za-z0-9]{2,4})?)?$",
            "type": "string",
            "description": "Optional storefront language, such as ja-JP. Leave empty to use the market default.",
            "default": ""
          },
          "currency": {
            "title": "Currency",
            "pattern": "^([A-Za-z]{3})?$",
            "type": "string",
            "description": "Optional three-letter price currency, such as USD, JPY or EUR. Leave empty to use the market default.",
            "default": ""
          },
          "placeId": {
            "title": "Google Place ID",
            "type": "string",
            "description": "Optional known place identifier to refine the search location. Leave empty if you do not have one."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}