{
  "openapi": "3.0.1",
  "info": {
    "title": "Airbnb Property Scraper",
    "description": "Scrape property listings from Airbnb search results. Extract pricing, ratings, host details, images, GPS coordinates, and listing information in structured JSON. Supports search filters and direct URLs. No login required.",
    "version": "0.1",
    "x-build-id": "NxaouV9EwfCCveThX"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapyspider~airbnb-detail-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapyspider-airbnb-detail-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/scrapyspider~airbnb-detail-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapyspider-airbnb-detail-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/scrapyspider~airbnb-detail-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapyspider-airbnb-detail-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": {
          "startUrls": {
            "title": "Start URLs (direct URL input)",
            "type": "array",
            "description": "Paste one or more Airbnb URLs to scrape directly. Supports two formats: (1) a search results page URL to scrape all listed properties (e.g. https://www.airbnb.co.in/s/Berlin--Germany/homes?...), or (2) a single room URL to scrape only that one property (e.g. https://www.airbnb.co.in/rooms/1234567890). Leave empty and fill in the form fields below to build a search URL automatically.",
            "default": [
              {
                "url": "https://www.airbnb.de/rooms/1527677602089269203?check_in=2026-06-17&check_out=2026-06-19&search_mode=regular_search&source_impression_id=p3_1778649343_P3Bc-Zd6rMyzLL0e&previous_page_section_name=1000&federated_search_id=02e722e3-52d3-4770-bc49-d99c8e0227a9"
              }
            ],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "City and country or state to search, e.g. 'Berlin, Germany' or 'Anaikatti, Tamil Nadu'. Used to build the Airbnb search URL. Required when Start URLs are not provided."
          },
          "checkIn": {
            "title": "Check-in Date",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "Your check-in date in YYYY-MM-DD format (e.g. '2026-05-16'). Must be a future date. Required when Start URLs are not provided."
          },
          "checkOut": {
            "title": "Check-out Date",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "Your check-out date in YYYY-MM-DD format (e.g. '2026-05-23'). Must be after the check-in date. Required when Start URLs are not provided."
          },
          "adults": {
            "title": "Adults",
            "minimum": 0,
            "maximum": 13,
            "type": "integer",
            "description": "Number of adults (age 13+). Maximum 13.",
            "default": 0
          },
          "children": {
            "title": "Children",
            "minimum": 0,
            "maximum": 9,
            "type": "integer",
            "description": "Number of children (age 2–12). Maximum 9.",
            "default": 0
          },
          "infants": {
            "title": "Infants",
            "minimum": 0,
            "maximum": 5,
            "type": "integer",
            "description": "Number of infants (age 0–2). Maximum 5.",
            "default": 0
          },
          "pets": {
            "title": "Pets",
            "minimum": 0,
            "maximum": 5,
            "type": "integer",
            "description": "Number of pets traveling. Maximum 5. Setting this > 0 filters for pet-friendly properties.",
            "default": 0
          },
          "minPrice": {
            "title": "Minimum Price",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum price in local currency. Leave empty for no lower price limit."
          },
          "maxPrice": {
            "title": "Maximum Price",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum  price in local currency. Leave empty for no upper price limit."
          },
          "bedrooms": {
            "title": "Bedrooms",
            "minimum": 0,
            "maximum": 8,
            "type": "integer",
            "description": "Number of bedrooms required. Set to 0 for any number of bedrooms. Maximum 8.",
            "default": 0
          },
          "beds": {
            "title": "Beds",
            "minimum": 0,
            "maximum": 8,
            "type": "integer",
            "description": "Number of beds required. Set to 0 for any number. Maximum 8.",
            "default": 0
          },
          "bathrooms": {
            "title": "Bathrooms",
            "minimum": 0,
            "maximum": 8,
            "type": "integer",
            "description": "Number of bathrooms. Maximum 8.",
            "default": 0
          },
          "instantBook": {
            "title": "Instant Book",
            "type": "boolean",
            "description": "When enabled, only shows properties that can be booked immediately — no need to wait for host approval.",
            "default": false
          },
          "flexibleCancellation": {
            "title": "Flexible Cancellation",
            "type": "boolean",
            "description": "When enabled, only shows properties with a flexible cancellation policy — ideal for uncertain travel plans.",
            "default": false
          },
          "selfCheckIn": {
            "title": "Self Check-in",
            "type": "boolean",
            "description": "When enabled, only shows properties with self check-in options (e.g. key lockbox or smart lock), so you can arrive at any time without coordinating with the host.",
            "default": false
          },
          "petsAllowed": {
            "title": "Pets Allowed",
            "type": "boolean",
            "description": "When enabled, only shows properties that explicitly allow pets. Enable this even if the Pets count above is set to 0.",
            "default": false
          },
          "guestFavorite": {
            "title": "Guest Favorite",
            "type": "boolean",
            "description": "When enabled, only shows Guest Favorite properties — a special Airbnb badge awarded to the highest-rated, most-booked homes.",
            "default": false
          },
          "luxe": {
            "title": "Luxe",
            "type": "boolean",
            "description": "When enabled, only shows Airbnb Luxe properties — an exclusive collection of premium luxury homes with high-end services.",
            "default": false
          },
          "amenities": {
            "title": "Amenities",
            "type": "array",
            "description": "Filter by required amenities. Only properties that have ALL selected amenities will appear in results. Leave empty to include all properties.",
            "items": {
              "type": "string",
              "enum": [
                "4",
                "5",
                "33",
                "99",
                "46",
                "47",
                "8",
                "34",
                "30",
                "58",
                "45",
                "7",
                "25",
                "9",
                "97",
                "286",
                "1000",
                "15",
                "16",
                "27",
                "11",
                "35",
                "36"
              ],
              "enumTitles": [
                "WiFi",
                "Air conditioning",
                "Washing machine",
                "BBQ grill",
                "Iron",
                "Dedicated workspace",
                "Kitchen",
                "Tumble dryer",
                "Heating",
                "TV",
                "Hairdryer",
                "Pool",
                "Hot tub",
                "Free parking",
                "EV charger",
                "Cot",
                "King bed",
                "Gym",
                "Breakfast",
                "Indoor fireplace",
                "Smoking allowed",
                "Smoke alarm",
                "Carbon monoxide alarm"
              ]
            },
            "default": [
              "4"
            ]
          },
          "propertyType": {
            "title": "Property Type",
            "type": "array",
            "description": "Filter by property type. Select one or more types to narrow results. Leave empty to include all property types.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "3",
                "2",
                "4"
              ],
              "enumTitles": [
                "House",
                "Flat",
                "Guest house",
                "Hotel"
              ]
            },
            "default": []
          },
          "hostLanguages": {
            "title": "Host Languages",
            "type": "array",
            "description": "Filter for hosts who speak the selected language(s). Useful if you prefer to communicate in a specific language. Leave empty for any host.",
            "items": {
              "type": "string",
              "enum": [
                "en",
                "hi",
                "ta",
                "te",
                "ar",
                "kn"
              ],
              "enumTitles": [
                "English",
                "Hindi",
                "Tamil",
                "Telugu",
                "Arabic",
                "Kannada"
              ]
            },
            "default": []
          },
          "accessibilityFeatures": {
            "title": "Accessibility Features",
            "type": "array",
            "description": "Filter for properties with specific accessibility features for guests with mobility or disability needs. Leave empty to include all properties.",
            "items": {
              "type": "string",
              "enum": [
                "110",
                "114",
                "111",
                "115",
                "116",
                "295",
                "294",
                "296",
                "297",
                "291"
              ],
              "enumTitles": [
                "Step-free access",
                "Disabled parking spot",
                "Guest entrance wider than 32 inches",
                "Step-free bedroom access",
                "Bedroom entrance wider than 32 inches",
                "Toilet grab bars",
                "Shower grab bars",
                "Step-free shower access",
                "Shower or bath chair",
                "Ceiling or mobile hoist"
              ]
            },
            "default": []
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Configure proxy settings for the scraper. Residential proxies are strongly recommended for Airbnb to bypass bot detection and IP blocks. Use 'Apify Proxy' with the RESIDENTIAL group for the best results.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "DE"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}