{
  "openapi": "3.0.1",
  "info": {
    "title": "Airbnb Scraper",
    "description": "Scrape Airbnb listings for any city, search link or listing link, no login or cookies. Get nightly and stay prices, hosts, amenities, photos, ratings, availability calendar and guest reviews. Bulk inputs and filters. Clean JSON for pricing and market research.",
    "version": "1.0",
    "x-build-id": "VDq1vTtbutRfX0RcU"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/data_wiki~airbnb-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-data_wiki-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/data_wiki~airbnb-scraper/runs": {
      "post": {
        "operationId": "runs-sync-data_wiki-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/data_wiki~airbnb-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-data_wiki-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",
        "required": [
          "urls"
        ],
        "properties": {
          "urls": {
            "title": "📍 Places, search links & listing links",
            "minItems": 1,
            "type": "array",
            "description": "One entry per line. Mix freely: place names (e.g. Lisbon, Portugal), Airbnb search page links, Airbnb listing links or listing ids. Bulk input is supported.",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "🔢 Max listings",
            "minimum": 0,
            "type": "integer",
            "description": "Total number of listings to collect from places and search links (one total across all of them). 0 means every listing Airbnb shows. Listing links are not counted against it.",
            "default": 10
          },
          "checkIn": {
            "title": "🛫 Check-in date",
            "pattern": "^$|^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$",
            "type": "string",
            "description": "YYYY-MM-DD. With both dates set you get the exact stay price and only listings free on those dates. Leave empty for no dates."
          },
          "checkOut": {
            "title": "🛬 Check-out date",
            "pattern": "^$|^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$",
            "type": "string",
            "description": "YYYY-MM-DD, after the check-in date. Both dates are needed for dated prices."
          },
          "adults": {
            "title": "👥 Adults",
            "minimum": 1,
            "maximum": 16,
            "type": "integer",
            "description": "Number of adult guests (1 to 16).",
            "default": 2
          },
          "children": {
            "title": "🧒 Children",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Number of children (0 to 10).",
            "default": 0
          },
          "infants": {
            "title": "👶 Infants",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Number of infants (0 to 10).",
            "default": 0
          },
          "pets": {
            "title": "🐶 Pets",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Number of pets (0 to 10).",
            "default": 0
          },
          "currency": {
            "title": "💱 Currency",
            "type": "string",
            "description": "3-letter code used for all prices, for example USD or EUR.",
            "default": "USD"
          },
          "priceMin": {
            "title": "💵 Min price per night",
            "minimum": 0,
            "type": "integer",
            "description": "In the chosen currency. 0 means no minimum.",
            "default": 0
          },
          "priceMax": {
            "title": "💎 Max price per night",
            "minimum": 0,
            "type": "integer",
            "description": "In the chosen currency. 0 means no maximum.",
            "default": 0
          },
          "minBedrooms": {
            "title": "🚪 Min bedrooms",
            "minimum": 0,
            "type": "integer",
            "description": "0 means any.",
            "default": 0
          },
          "minBeds": {
            "title": "🛌 Min beds",
            "minimum": 0,
            "type": "integer",
            "description": "0 means any.",
            "default": 0
          },
          "minBathrooms": {
            "title": "🚿 Min bathrooms",
            "minimum": 0,
            "type": "integer",
            "description": "0 means any.",
            "default": 0
          },
          "roomType": {
            "title": "🏠 Room type",
            "enum": [
              "any",
              "entire_home",
              "private_room",
              "shared_room",
              "hotel_room"
            ],
            "type": "string",
            "description": "Kind of place to include.",
            "default": "any"
          },
          "includeDetails": {
            "title": "🧾 Full listing details",
            "type": "boolean",
            "description": "Adds description, amenities, house rules, host, co-hosts, all photos, ratings by category and sleeping arrangements (one extra page per listing). Turn off for a fast overview.",
            "default": true
          },
          "includeCalendar": {
            "title": "📅 Availability calendar",
            "type": "boolean",
            "description": "Adds the day-by-day calendar and the share of days that are not bookable (booked or blocked by the host).",
            "default": false
          },
          "calendarMonths": {
            "title": "⏳ Calendar months",
            "minimum": 1,
            "maximum": 12,
            "type": "integer",
            "description": "How many months ahead to read when the calendar is on (1 to 12).",
            "default": 12
          },
          "includeReviews": {
            "title": "💬 Guest reviews",
            "type": "boolean",
            "description": "Adds guest reviews to each listing and to the Reviews table.",
            "default": false
          },
          "maxReviews": {
            "title": "🔟 Max reviews per listing",
            "minimum": 0,
            "type": "integer",
            "description": "Used when guest reviews are on. 0 means all reviews.",
            "default": 5
          },
          "reviewsSort": {
            "title": "🔃 Reviews order",
            "enum": [
              "newest",
              "best",
              "highest",
              "lowest"
            ],
            "type": "string",
            "description": "Which reviews come first.",
            "default": "newest"
          },
          "proxyConfiguration": {
            "title": "🌐 Proxy configuration",
            "type": "object",
            "description": "Runs start without a proxy. If Airbnb blocks a request, the run switches to a datacenter proxy and then to a residential proxy, and stays on it.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}