{
  "openapi": "3.0.1",
  "info": {
    "title": "Airbnb Scraper — Listings, Prices & Full Details",
    "description": "Scrape Airbnb listings from any country. Search by location or keywords, apply filters, or paste Airbnb URLs. Get prices, ratings, amenities, host info and more — no login required.",
    "version": "1.0",
    "x-build-id": "sNxY7UggNipZSHDbc"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/lofomachines~airbnb-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-lofomachines-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/lofomachines~airbnb-scraper/runs": {
      "post": {
        "operationId": "runs-sync-lofomachines-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/lofomachines~airbnb-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-lofomachines-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",
        "properties": {
          "search": {
            "title": "Locations or keywords",
            "type": "array",
            "description": "Where (or what) to search on Airbnb. Enter a city, region, address, landmark, or a free-text phrase — e.g. <b>Rome, Italy</b>, <b>Lake Como villas</b>, <b>Brooklyn, New York</b>. Add as many as you want; each one is searched separately.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Airbnb URLs (optional)",
            "type": "array",
            "description": "Alternatively, paste Airbnb links directly: search result pages (with any filters already applied on airbnb.com) or single listing pages (…/rooms/12345). Any Airbnb domain works — airbnb.com, airbnb.it, airbnb.fr, airbnb.co.uk, and so on.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "maxListings": {
            "title": "Maximum listings",
            "minimum": 1,
            "type": "integer",
            "description": "Stop after collecting this many unique listings. Keep it low for quick tests.",
            "default": 100
          },
          "includeDetails": {
            "title": "Full listing details",
            "type": "boolean",
            "description": "When enabled, every listing is enriched with the complete profile: description, all photos, amenities, house rules, host profile, rating breakdown, cancellation policy, and more. Disable for a faster, lighter run with search-card data only. 💡 Need day-by-day availability too? Combine your results with the <a href='https://apify.com/lofomachines/airbnb-availability-calendar-scraper' target='_blank'>Airbnb Availability Calendar Scraper</a>.",
            "default": true
          },
          "checkIn": {
            "title": "Check-in date",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "Optional stay dates. When set, prices reflect the actual total for your stay."
          },
          "checkOut": {
            "title": "Check-out date",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "Optional check-out date (must be after check-in)."
          },
          "adults": {
            "title": "Adults",
            "minimum": 1,
            "maximum": 16,
            "type": "integer",
            "description": "Number of adult guests.",
            "default": 1
          },
          "children": {
            "title": "Children",
            "minimum": 0,
            "maximum": 15,
            "type": "integer",
            "description": "Number of children.",
            "default": 0
          },
          "infants": {
            "title": "Infants",
            "minimum": 0,
            "maximum": 5,
            "type": "integer",
            "description": "Number of infants (under 2).",
            "default": 0
          },
          "pets": {
            "title": "Pets",
            "minimum": 0,
            "maximum": 5,
            "type": "integer",
            "description": "Number of pets travelling with you.",
            "default": 0
          },
          "priceMin": {
            "title": "Minimum price",
            "minimum": 0,
            "type": "integer",
            "description": "Only include listings priced above this amount (per night, in the selected currency)."
          },
          "priceMax": {
            "title": "Maximum price",
            "minimum": 0,
            "type": "integer",
            "description": "Only include listings priced below this amount (per night, in the selected currency)."
          },
          "currency": {
            "title": "Currency",
            "enum": [
              "USD",
              "EUR",
              "GBP",
              "CHF",
              "AUD",
              "CAD",
              "BRL",
              "MXN",
              "JPY",
              "INR",
              "SEK",
              "NOK",
              "DKK",
              "PLN",
              "CZK",
              "TRY",
              "AED",
              "SGD",
              "HKD",
              "NZD",
              "ZAR",
              "THB",
              "KRW",
              "ILS"
            ],
            "type": "string",
            "description": "Currency for all prices in the results.",
            "default": "USD"
          },
          "language": {
            "title": "Language",
            "enum": [
              "en",
              "it",
              "es",
              "fr",
              "de",
              "pt",
              "nl",
              "pl",
              "sv",
              "da",
              "no",
              "tr",
              "ru",
              "ja",
              "ko",
              "zh",
              "ar",
              "el",
              "cs",
              "hu"
            ],
            "type": "string",
            "description": "Language of listing names, descriptions, and other texts in the results.",
            "default": "en"
          },
          "roomTypes": {
            "title": "Property type",
            "uniqueItems": true,
            "type": "array",
            "description": "Limit results to certain types of places. Leave empty for all types.",
            "items": {
              "type": "string",
              "enum": [
                "Entire home/apt",
                "Private room",
                "Shared room",
                "Hotel room"
              ],
              "enumTitles": [
                "Entire home / apartment",
                "Private room",
                "Shared room",
                "Hotel room"
              ]
            }
          },
          "minBedrooms": {
            "title": "Minimum bedrooms",
            "minimum": 1,
            "maximum": 16,
            "type": "integer",
            "description": "Only listings with at least this many bedrooms."
          },
          "minBeds": {
            "title": "Minimum beds",
            "minimum": 1,
            "maximum": 16,
            "type": "integer",
            "description": "Only listings with at least this many beds."
          },
          "minBathrooms": {
            "title": "Minimum bathrooms",
            "minimum": 1,
            "maximum": 16,
            "type": "integer",
            "description": "Only listings with at least this many bathrooms."
          },
          "amenities": {
            "title": "Required amenities",
            "uniqueItems": true,
            "type": "array",
            "description": "Only include listings that offer all of the selected amenities.",
            "items": {
              "type": "string",
              "enum": [
                "wifi",
                "kitchen",
                "air_conditioning",
                "heating",
                "washer",
                "dryer",
                "pool",
                "hot_tub",
                "free_parking",
                "ev_charger",
                "gym",
                "bbq_grill",
                "breakfast",
                "indoor_fireplace",
                "smoking_allowed",
                "dedicated_workspace",
                "tv",
                "hair_dryer",
                "iron",
                "smoke_alarm",
                "carbon_monoxide_alarm",
                "crib",
                "king_bed",
                "self_check_in",
                "step_free_access"
              ],
              "enumTitles": [
                "Wifi",
                "Kitchen",
                "Air conditioning",
                "Heating",
                "Washer",
                "Dryer",
                "Pool",
                "Hot tub",
                "Free parking",
                "EV charger",
                "Gym",
                "BBQ grill",
                "Breakfast",
                "Indoor fireplace",
                "Smoking allowed",
                "Dedicated workspace",
                "TV",
                "Hair dryer",
                "Iron",
                "Smoke alarm",
                "Carbon monoxide alarm",
                "Crib",
                "King bed",
                "Self check-in",
                "Step-free access"
              ]
            }
          },
          "instantBookOnly": {
            "title": "Instant Book only",
            "type": "boolean",
            "description": "Only include listings that can be booked instantly, without host approval.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Proxy settings. The default configuration is already optimized — change it only if you know what you are doing.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}