{
  "openapi": "3.0.1",
  "info": {
    "title": "Airbnb Images Scraper With Advanced Filters",
    "description": "The Airbnb Images Scraper collects high-quality images from Airbnb listings by URL or search results. It helps researchers, analysts, and marketers access property photos for design inspiration, content creation, and competitive insights, streamlining visual data gathering at scale.",
    "version": "0.1",
    "x-build-id": "2NFWhNnpcRu6iTdyF"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scraper-engine~airbnb-images-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scraper-engine-airbnb-images-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/scraper-engine~airbnb-images-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scraper-engine-airbnb-images-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/scraper-engine~airbnb-images-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scraper-engine-airbnb-images-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": {
          "listingUrls": {
            "title": "🏘️ Airbnb listing URLs",
            "type": "array",
            "description": "One or more Airbnb room URLs to scrape, e.g. https://www.airbnb.com/rooms/782682596976136912. Add one URL per line. At least one URL is required (here or in the legacy 'urls' field below).",
            "items": {
              "type": "string"
            }
          },
          "urls": {
            "title": "🔗 Listing URLs (legacy alias)",
            "type": "array",
            "description": "Deprecated alias for 'listingUrls', kept for compatibility with the base actor's input. Used only if 'listingUrls' is empty.",
            "items": {
              "type": "string"
            }
          },
          "timeoutSeconds": {
            "title": "⏱️ Request timeout (seconds)",
            "minimum": 5,
            "maximum": 120,
            "type": "integer",
            "description": "Maximum time in seconds to wait for each page response before failing over. Default: 30. Allowed range: 5-120.",
            "default": 30
          },
          "requestTimeoutSecs": {
            "title": "⏱️ Request timeout in seconds (legacy alias)",
            "minimum": 5,
            "maximum": 120,
            "type": "integer",
            "description": "Deprecated alias for 'timeoutSeconds', kept for compatibility with the base actor's input. Used only if 'timeoutSeconds' is not set."
          },
          "roomTypes": {
            "title": "🛏️ Room / space type filter",
            "type": "array",
            "description": "Only return photos whose caption matches one of the selected categories (matched against Airbnb's own photo captions). Leave empty to return photos of every category.",
            "items": {
              "type": "string",
              "enum": [
                "bedroom",
                "kitchen",
                "bathroom",
                "livingRoom",
                "exterior",
                "pool",
                "view"
              ],
              "enumTitles": [
                "🛏️ Bedroom",
                "🍳 Kitchen",
                "🚿 Bathroom",
                "🛋️ Living room",
                "🏡 Exterior",
                "🏊 Pool",
                "🌄 View"
              ]
            },
            "default": []
          },
          "orientationFilter": {
            "title": "📐 Orientation filter",
            "enum": [
              "",
              "landscape",
              "portrait",
              "square"
            ],
            "type": "string",
            "description": "Only return photos with this orientation. Leave on 'Any' to return photos of every orientation.",
            "default": ""
          },
          "proxyConfiguration": {
            "title": "🌐 Proxy configuration",
            "type": "object",
            "description": "Configure Apify Proxy for this run. You can choose proxy groups and optionally a country code. If left on defaults, the actor picks sensible settings automatically.",
            "properties": {
              "useApifyProxy": {
                "title": "✅ Use Apify Proxy",
                "type": "boolean",
                "description": "Enable Apify Proxy in the UI. The actor still starts each listing without proxy and only enables it after detecting a block."
              },
              "apifyProxyGroups": {
                "title": "📌 Proxy groups",
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Apify proxy groups to use once proxy mode is enabled. Leave empty for the default."
              },
              "apifyProxyCountry": {
                "title": "🌍 Proxy country",
                "type": "string",
                "description": "Optional ISO-2 country code for the proxy (e.g. US, GB). Leave empty for no country restriction."
              }
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}