{
  "openapi": "3.0.1",
  "info": {
    "title": "Airbnb Search Scraper",
    "description": "Search Airbnb listings by location and dates via the same embedded search data the website uses. Get name, type, rating, review count, price, GPS coordinates, photos, and badges (Superhost, Guest favorite) for up to 270 listings per search — no API key or account required.",
    "version": "0.0",
    "x-build-id": "Y6iIp2AuWhI6VfiEg"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/romy~airbnb-search-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-romy-airbnb-search-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/romy~airbnb-search-scraper/runs": {
      "post": {
        "operationId": "runs-sync-romy-airbnb-search-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/romy~airbnb-search-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-romy-airbnb-search-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": {
          "query": {
            "title": "Destination (free text)",
            "type": "string",
            "description": "Free-text destination, e.g. \"Bali, Indonesia\". Required unless placeId is set."
          },
          "placeId": {
            "title": "Place ID",
            "type": "string",
            "description": "Exact Airbnb place id (from an autosuggest lookup) — more precise than query. Required unless query is set."
          },
          "checkin": {
            "title": "Check-in date",
            "type": "string",
            "description": "YYYY-MM-DD"
          },
          "checkout": {
            "title": "Check-out date",
            "type": "string",
            "description": "YYYY-MM-DD"
          },
          "adults": {
            "title": "Adults",
            "type": "integer",
            "description": "Adult guests.",
            "default": 1
          },
          "children": {
            "title": "Children (2-12)",
            "type": "integer",
            "description": "Child guests.",
            "default": 0
          },
          "infants": {
            "title": "Infants (under 2)",
            "type": "integer",
            "description": "Infant guests.",
            "default": 0
          },
          "priceMin": {
            "title": "Minimum total price",
            "type": "integer",
            "description": "Minimum price to filter results."
          },
          "priceMax": {
            "title": "Maximum total price",
            "type": "integer",
            "description": "Maximum price to filter results."
          },
          "bedrooms": {
            "title": "Minimum bedrooms",
            "type": "integer",
            "description": "Minimum number of bedrooms."
          },
          "beds": {
            "title": "Minimum beds",
            "type": "integer",
            "description": "Minimum number of beds."
          },
          "bathrooms": {
            "title": "Minimum bathrooms",
            "type": "integer",
            "description": "Minimum number of bathrooms."
          },
          "roomType": {
            "title": "Room type",
            "enum": [
              "Entire home/apt",
              "Private room"
            ],
            "type": "string",
            "description": "Room type filter, using the real values the app sends."
          },
          "amenities": {
            "title": "Amenity IDs",
            "type": "array",
            "description": "Numeric Airbnb amenity ids, e.g. [4, 7] for Wifi + Pool. See README for known ids.",
            "items": {
              "type": "integer"
            }
          },
          "allowsPets": {
            "title": "Allows pets",
            "type": "boolean",
            "description": "Only show listings that allow pets.",
            "default": false
          },
          "instantBook": {
            "title": "Instant Book only",
            "type": "boolean",
            "description": "Only show Instant Book listings.",
            "default": false
          },
          "guestFavorite": {
            "title": "Guest favourites only",
            "type": "boolean",
            "description": "Only show Guest favourite listings.",
            "default": false
          },
          "hostLanguages": {
            "title": "Host languages",
            "type": "array",
            "description": "ISO-ish 2-letter codes, e.g. [\"en\", \"fr\"]",
            "items": {
              "type": "string"
            }
          },
          "currency": {
            "title": "Currency",
            "type": "string",
            "description": "ISO 4217 currency code for returned prices.",
            "default": "USD"
          },
          "maxPages": {
            "title": "Max pages",
            "type": "integer",
            "description": "Each page is ~8 listings.",
            "default": 10
          },
          "maxItems": {
            "title": "Max listings",
            "type": "integer",
            "description": "Stop once this many listings have been pushed. Leave empty to only bound by maxPages."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}