{
  "openapi": "3.0.1",
  "info": {
    "title": "Airbnb Scraper API: Listings, Prices, Amenities & Hosts",
    "description": "Airbnb API and scraper: listings from any city search or room link with price for your dates, rating, category ratings, amenities, host, location, house rules and photos. No login, no browser. $2 per 1,000 listings.",
    "version": "0.1",
    "x-build-id": "W1D0bWjewCR0olHnA"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/sauliusautomatesit~airbnb-scraper-api/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-sauliusautomatesit-airbnb-scraper-api",
        "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/sauliusautomatesit~airbnb-scraper-api/runs": {
      "post": {
        "operationId": "runs-sync-sauliusautomatesit-airbnb-scraper-api",
        "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/sauliusautomatesit~airbnb-scraper-api/run-sync": {
      "post": {
        "operationId": "run-sync-sauliusautomatesit-airbnb-scraper-api",
        "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": {
          "locationQueries": {
            "title": "Locations to search",
            "type": "array",
            "description": "Cities, neighbourhoods or regions, the way you would type them into Airbnb: \"Paris\", \"Austin, TX\", \"Lisbon, Portugal\". Each search walks Airbnb's result pages.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Airbnb search or room links",
            "type": "array",
            "description": "Airbnb search links (https://www.airbnb.com/s/Paris/homes?..., with any filters you set on Airbnb) and room links (https://www.airbnb.com/rooms/12345). Any Airbnb country site works.",
            "items": {
              "type": "string"
            }
          },
          "maxListings": {
            "title": "Max listings per search",
            "minimum": 1,
            "type": "integer",
            "description": "Stop each location or search link after this many listings. Airbnb shows up to 270 per search; above that the search is split into nightly price bands automatically (see below), so a city can give a few thousand.",
            "default": 100
          },
          "checkIn": {
            "title": "Check-in",
            "type": "string",
            "description": "Date like 2026-11-20. With check-out, prices are the real total for these dates and only available listings are returned. Leave both empty for Airbnb's default dates."
          },
          "checkOut": {
            "title": "Check-out",
            "type": "string",
            "description": "Date like 2026-11-23."
          },
          "adults": {
            "title": "Adults",
            "minimum": 1,
            "type": "integer",
            "description": "Guests for availability and price. Empty means Airbnb's default."
          },
          "children": {
            "title": "Children",
            "minimum": 0,
            "type": "integer",
            "description": "Optional filter."
          },
          "infants": {
            "title": "Infants",
            "minimum": 0,
            "type": "integer",
            "description": "Optional filter."
          },
          "pets": {
            "title": "Pets",
            "minimum": 0,
            "type": "integer",
            "description": "Optional filter."
          },
          "roomType": {
            "title": "Place type",
            "enum": [
              "any",
              "entire",
              "private",
              "shared",
              "hotel"
            ],
            "type": "string",
            "description": "Entire homes, private rooms, shared rooms or hotel rooms only.",
            "default": "any"
          },
          "priceMin": {
            "title": "Min price per night",
            "minimum": 0,
            "type": "integer",
            "description": "In the chosen currency."
          },
          "priceMax": {
            "title": "Max price per night",
            "minimum": 0,
            "type": "integer",
            "description": "In the chosen currency."
          },
          "minBedrooms": {
            "title": "Min bedrooms",
            "minimum": 0,
            "type": "integer",
            "description": "Optional filter."
          },
          "minBeds": {
            "title": "Min beds",
            "minimum": 0,
            "type": "integer",
            "description": "Optional filter."
          },
          "minBathrooms": {
            "title": "Min bathrooms",
            "minimum": 0,
            "type": "integer",
            "description": "Optional filter."
          },
          "currency": {
            "title": "Currency",
            "type": "string",
            "description": "Three letter code for prices: USD, EUR, GBP, CAD, AUD...",
            "default": "USD"
          },
          "includeDetails": {
            "title": "Full listing details",
            "type": "boolean",
            "description": "Open every listing's page for description, all amenities, host (superhost, response rate, months hosting), category ratings, house rules, location and all photos. Off gives the search card only (price, rating, beds, coordinates, photos): faster, same price.",
            "default": true
          },
          "splitByPrice": {
            "title": "Split big searches by price",
            "type": "boolean",
            "description": "When a search hits Airbnb's 270 listing cap, run it again in 13 nightly price bands to reach more listings. Ignored when you set a price filter.",
            "default": true
          },
          "maxConcurrency": {
            "title": "Pages in parallel",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Capped at one per 64 MB of run memory (8 at the default 512 MB).",
            "default": 10
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}