# Airbnb Property Scraper (`scrapyspider/airbnb-detail-scraper`) Actor

Scrape property listings from Airbnb search results. Extract pricing, ratings, host details, images, GPS coordinates, and listing information in structured JSON. Supports search filters and direct URLs. No login required.

- **URL**: https://apify.com/scrapyspider/airbnb-detail-scraper.md
- **Developed by:** [ScrapySpider](https://apify.com/scrapyspider) (community)
- **Categories:** Travel, Real estate, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-usage

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

### What does Airbnb Property Scraper do?

**Airbnb Property Scraper** extracts detailed property data from [Airbnb](https://www.airbnb.com) search results. Give it a location, dates, and guest/filter options — or paste Airbnb URLs directly — and it will collect structured data on every listed property, including title, description, pricing, ratings, host details, images, and GPS coordinates. Results are available via the Apify API, ready for download in JSON, CSV, or Excel.

### Why use Airbnb Property Scraper?

- **Market research** — Benchmark pricing and availability across a city or neighbourhood.
- **Competitive analysis** — Compare property types, amenities, and host ratings in any market.
- **Travel planning** — Collect and filter listings programmatically before booking.
- **Data pipelines** — Feed Airbnb data into dashboards, spreadsheets, or downstream tools via the Apify API.

### How to use Airbnb Property Scraper

1. Go to the Actor page in [Apify Console](https://console.apify.com) and click **Try for free**.
2. Choose your input method:
   - **Form-based search** — Fill in Location, Check-in/Check-out dates, guest counts, and any filters. The Actor builds the Airbnb search URL automatically.
   - **Direct URL** — Paste one or more Airbnb search results pages or individual room URLs into the **Start URLs** field.
3. Click **Start** and wait for the run to complete.
4. Download your results from the **Dataset** tab in JSON, CSV, or Excel format.

### Input

Configure the Actor from the **Input** tab. You can use direct URLs or the search form fields:

| Field | Type | Description |
|---|---|---|
| `startUrls` | Array | Airbnb search or room URLs to scrape directly |
| `location` | String | City and country, e.g. `Berlin, Germany` |
| `checkIn` | String | Check-in date in `YYYY-MM-DD` format |
| `checkOut` | String | Check-out date in `YYYY-MM-DD` format |
| `adults` | Integer | Number of adults (max 13) |
| `children` | Integer | Number of children aged 2–12 (max 9) |
| `infants` | Integer | Number of infants aged 0–2 (max 5) |
| `pets` | Integer | Number of pets (max 5) |
| `minPrice` | Integer | Minimum nightly price in local currency |
| `maxPrice` | Integer | Maximum nightly price in local currency |
| `bedrooms` | Integer | Minimum bedrooms required (max 8) |
| `beds` | Integer | Minimum beds required (max 8) |
| `bathrooms` | Integer | Minimum bathrooms required (max 8) |
| `instantBook` | Boolean | Only show instantly bookable properties |
| `flexibleCancellation` | Boolean | Only show flexible cancellation properties |
| `selfCheckIn` | Boolean | Only show self check-in properties |
| `petsAllowed` | Boolean | Only show pet-friendly properties |
| `amenities` | Array | Filter by amenity IDs (e.g. `[4, 8, 9]`) |
| `propertyType` | Array | Filter by property type IDs |
| `hostLanguages` | Array | Filter by host language codes (e.g. `["en", "de"]`) |

**Example JSON input:**

```json
{
    "location": "Berlin, Germany",
    "checkIn": "2026-06-01",
    "checkOut": "2026-06-07",
    "adults": 2,
    "children": 1,
    "minPrice": 50,
    "maxPrice": 300,
    "bedrooms": 1,
    "instantBook": true
}
````

### Output

Each scraped property is stored as one item in the dataset. You can download the dataset in various formats such as JSON, CSV, HTML, or Excel.

**Example output item:**

```json
{
    "url": "https://www.airbnb.de/rooms/1527677602089269203?check_in=2026-06-17&check_out=2026-06-19",
    "listingId": "1527677602089269203",
    "TitleOfProperty": "Helle Wohnung mit Balkon in Charlottenburg_AP04",
    "DescriptionOfProperty": "Modernes Studio-Apartment in der City-West...",
    "propertyType": "Gesamte Unterkunft: Apartment",
    "personCapacity": 5,
    "rating": 5,
    "reviewCount": 38,
    "pricePerNight": null,
    "totalPrice": "303 €",
    "originalPrice": "360 €",
    "managedBy": "Lilit",
    "isSuperhost": false,
    "HostType": "Business",
    "businessName": "LM Hotelbetriebs GmbH",
    "tradeRegisterNumber": "HRB174625B",
    "email": "lundlstudio@gmail.com",
    "phone": "+49 170 2149894",
    "address": "Otto-Suhr-Allee 74, 10585, Berlin, Germany",
    "Region": "Berlin, Deutschland",
    "Latitude": 52.505587267174135,
    "Longitude": 13.316068341968693,
    "mapMarkerType": "APPROX",
    "mapMarkerRadiusInMeters": 152,
    "images": ["https://a0.muscache.com/im/pictures/hosting/..."]
}
```

### Data fields

| Field | Description |
|---|---|
| `url` | Full Airbnb listing URL |
| `listingId` | Airbnb's internal listing ID |
| `TitleOfProperty` | Property title |
| `DescriptionOfProperty` | Full property description (plain text) |
| `propertyType` | Type of property (e.g. Entire rental unit, Room in hotel) |
| `personCapacity` | Maximum number of guests |
| `rating` | Average star rating |
| `reviewCount` | Total number of reviews |
| `pricePerNight` | Nightly price (when available from Airbnb API) |
| `totalPrice` | Total price for the stay (discounted or regular) |
| `originalPrice` | Original total price before discount (if a discount is applied) |
| `managedBy` | Host or property manager name |
| `isSuperhost` | Whether the host has Superhost status |
| `HostType` | `Business` or `Individual` |
| `businessName` | Registered business name (business hosts only) |
| `tradeRegisterNumber` | Trade/commercial register number (business hosts only) |
| `email` | Host contact email (business hosts only) |
| `phone` | Host contact phone (business hosts only) |
| `address` | Host registered business address (business hosts only) |
| `Region` | City/region label shown on Airbnb |
| `Latitude` / `Longitude` | GPS coordinates |
| `coordinates` | Object with `latitude` and `longitude` keys |
| `mapMarkerType` | `EXACT` — precise pin; `APPROX` — area-only pin |
| `mapMarkerRadiusInMeters` | Radius of the approximate location circle (APPROX listings only) |
| `images` | Array of full-resolution image URLs |

### Pricing

The Actor runs on the [Apify platform](https://apify.com/pricing). New users get a **free tier** with enough compute units to scrape hundreds of listings. For large-scale runs, usage-based pricing applies. A single search results page (20 listings) typically costs a few cents.

### Tips

- **Use direct URLs** for the most reliable results — copy the URL from Airbnb after applying your filters in the browser.
- **Set `maxRequestsPerCrawl`** in the source code to limit the number of pages scraped and control costs.
- **Date format matters** — always use `YYYY-MM-DD` for check-in/check-out fields.
- **Price fields explained** — `totalPrice` is the stay total after any discount; `originalPrice` is the pre-discount total (only present when a deal is shown); `pricePerNight` is the per-night rate when returned by the API.
- **Business host data** — `businessName`, `tradeRegisterNumber`, `email`, `phone`, and `address` are populated only for commercial/business hosts. Individual hosts leave these fields `null`.

### FAQ and support

**Is scraping Airbnb legal?** Scraping publicly available data is generally considered legal, but always review [Airbnb's Terms of Service](https://www.airbnb.com/terms) and use the data responsibly. Do not store personal data without a lawful basis.

**Some fields are null — why?** Business contact details (`email`, `phone`, `address`, `businessName`, `tradeRegisterNumber`) are only shown by Airbnb for professional/business hosts. Individual hosts will have `null` for those fields. Price fields can also be `null` when Airbnb does not return pricing for the given dates.

**Found a bug or need a custom solution?** Open an issue on the Actor's Issues tab or contact us through Apify.

***

### Author

**ScrapySpider**

- Website: [ScrapySpider.com](https://ScrapySpider.com)
- Email: <ScrapySpider@protonmail.com>

# Actor input Schema

## `startUrls` (type: `array`):

Paste one or more Airbnb URLs to scrape directly. Supports two formats: (1) a search results page URL to scrape all listed properties (e.g. https://www.airbnb.co.in/s/Berlin--Germany/homes?...), or (2) a single room URL to scrape only that one property (e.g. https://www.airbnb.co.in/rooms/1234567890). Leave empty and fill in the form fields below to build a search URL automatically.

## `location` (type: `string`):

City and country or state to search, e.g. 'Berlin, Germany' or 'Anaikatti, Tamil Nadu'. Used to build the Airbnb search URL. Required when Start URLs are not provided.

## `checkIn` (type: `string`):

Your check-in date in YYYY-MM-DD format (e.g. '2026-05-16'). Must be a future date. Required when Start URLs are not provided.

## `checkOut` (type: `string`):

Your check-out date in YYYY-MM-DD format (e.g. '2026-05-23'). Must be after the check-in date. Required when Start URLs are not provided.

## `adults` (type: `integer`):

Number of adults (age 13+). Maximum 13.

## `children` (type: `integer`):

Number of children (age 2–12). Maximum 9.

## `infants` (type: `integer`):

Number of infants (age 0–2). Maximum 5.

## `pets` (type: `integer`):

Number of pets traveling. Maximum 5. Setting this > 0 filters for pet-friendly properties.

## `minPrice` (type: `integer`):

Minimum price in local currency. Leave empty for no lower price limit.

## `maxPrice` (type: `integer`):

Maximum  price in local currency. Leave empty for no upper price limit.

## `bedrooms` (type: `integer`):

Number of bedrooms required. Set to 0 for any number of bedrooms. Maximum 8.

## `beds` (type: `integer`):

Number of beds required. Set to 0 for any number. Maximum 8.

## `bathrooms` (type: `integer`):

Number of bathrooms. Maximum 8.

## `instantBook` (type: `boolean`):

When enabled, only shows properties that can be booked immediately — no need to wait for host approval.

## `flexibleCancellation` (type: `boolean`):

When enabled, only shows properties with a flexible cancellation policy — ideal for uncertain travel plans.

## `selfCheckIn` (type: `boolean`):

When enabled, only shows properties with self check-in options (e.g. key lockbox or smart lock), so you can arrive at any time without coordinating with the host.

## `petsAllowed` (type: `boolean`):

When enabled, only shows properties that explicitly allow pets. Enable this even if the Pets count above is set to 0.

## `guestFavorite` (type: `boolean`):

When enabled, only shows Guest Favorite properties — a special Airbnb badge awarded to the highest-rated, most-booked homes.

## `luxe` (type: `boolean`):

When enabled, only shows Airbnb Luxe properties — an exclusive collection of premium luxury homes with high-end services.

## `amenities` (type: `array`):

Filter by required amenities. Only properties that have ALL selected amenities will appear in results. Leave empty to include all properties.

## `propertyType` (type: `array`):

Filter by property type. Select one or more types to narrow results. Leave empty to include all property types.

## `hostLanguages` (type: `array`):

Filter for hosts who speak the selected language(s). Useful if you prefer to communicate in a specific language. Leave empty for any host.

## `accessibilityFeatures` (type: `array`):

Filter for properties with specific accessibility features for guests with mobility or disability needs. Leave empty to include all properties.

## `proxyConfiguration` (type: `object`):

Configure proxy settings for the scraper. Residential proxies are strongly recommended for Airbnb to bypass bot detection and IP blocks. Use 'Apify Proxy' with the RESIDENTIAL group for the best results.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.airbnb.de/rooms/1527677602089269203?check_in=2026-06-17&check_out=2026-06-19&search_mode=regular_search&source_impression_id=p3_1778649343_P3Bc-Zd6rMyzLL0e&previous_page_section_name=1000&federated_search_id=02e722e3-52d3-4770-bc49-d99c8e0227a9"
    }
  ],
  "location": "Berlin, Germany",
  "checkIn": "2026-05-16",
  "checkOut": "2026-05-23",
  "adults": 0,
  "children": 0,
  "infants": 0,
  "pets": 0,
  "bedrooms": 0,
  "beds": 0,
  "bathrooms": 0,
  "instantBook": false,
  "flexibleCancellation": false,
  "selfCheckIn": false,
  "petsAllowed": false,
  "guestFavorite": false,
  "luxe": false,
  "amenities": [
    "4"
  ],
  "propertyType": [],
  "hostLanguages": [],
  "accessibilityFeatures": [],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "DE"
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

All scraped Airbnb property records — one item per listing.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [
        {
            "url": "https://www.airbnb.de/rooms/1527677602089269203?check_in=2026-06-17&check_out=2026-06-19&search_mode=regular_search&source_impression_id=p3_1778649343_P3Bc-Zd6rMyzLL0e&previous_page_section_name=1000&federated_search_id=02e722e3-52d3-4770-bc49-d99c8e0227a9"
        }
    ],
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "DE"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapyspider/airbnb-detail-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "startUrls": [{ "url": "https://www.airbnb.de/rooms/1527677602089269203?check_in=2026-06-17&check_out=2026-06-19&search_mode=regular_search&source_impression_id=p3_1778649343_P3Bc-Zd6rMyzLL0e&previous_page_section_name=1000&federated_search_id=02e722e3-52d3-4770-bc49-d99c8e0227a9" }],
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "DE",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("scrapyspider/airbnb-detail-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://www.airbnb.de/rooms/1527677602089269203?check_in=2026-06-17&check_out=2026-06-19&search_mode=regular_search&source_impression_id=p3_1778649343_P3Bc-Zd6rMyzLL0e&previous_page_section_name=1000&federated_search_id=02e722e3-52d3-4770-bc49-d99c8e0227a9"
    }
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "DE"
  }
}' |
apify call scrapyspider/airbnb-detail-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapyspider/airbnb-detail-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Airbnb Property Scraper",
        "description": "Scrape property listings from Airbnb search results. Extract pricing, ratings, host details, images, GPS coordinates, and listing information in structured JSON. Supports search filters and direct URLs. No login required.",
        "version": "0.1",
        "x-build-id": "NxaouV9EwfCCveThX"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapyspider~airbnb-detail-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapyspider-airbnb-detail-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/scrapyspider~airbnb-detail-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapyspider-airbnb-detail-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/scrapyspider~airbnb-detail-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapyspider-airbnb-detail-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": {
                    "startUrls": {
                        "title": "Start URLs (direct URL input)",
                        "type": "array",
                        "description": "Paste one or more Airbnb URLs to scrape directly. Supports two formats: (1) a search results page URL to scrape all listed properties (e.g. https://www.airbnb.co.in/s/Berlin--Germany/homes?...), or (2) a single room URL to scrape only that one property (e.g. https://www.airbnb.co.in/rooms/1234567890). Leave empty and fill in the form fields below to build a search URL automatically.",
                        "default": [
                            {
                                "url": "https://www.airbnb.de/rooms/1527677602089269203?check_in=2026-06-17&check_out=2026-06-19&search_mode=regular_search&source_impression_id=p3_1778649343_P3Bc-Zd6rMyzLL0e&previous_page_section_name=1000&federated_search_id=02e722e3-52d3-4770-bc49-d99c8e0227a9"
                            }
                        ],
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "location": {
                        "title": "Location",
                        "type": "string",
                        "description": "City and country or state to search, e.g. 'Berlin, Germany' or 'Anaikatti, Tamil Nadu'. Used to build the Airbnb search URL. Required when Start URLs are not provided."
                    },
                    "checkIn": {
                        "title": "Check-in Date",
                        "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
                        "type": "string",
                        "description": "Your check-in date in YYYY-MM-DD format (e.g. '2026-05-16'). Must be a future date. Required when Start URLs are not provided."
                    },
                    "checkOut": {
                        "title": "Check-out Date",
                        "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
                        "type": "string",
                        "description": "Your check-out date in YYYY-MM-DD format (e.g. '2026-05-23'). Must be after the check-in date. Required when Start URLs are not provided."
                    },
                    "adults": {
                        "title": "Adults",
                        "minimum": 0,
                        "maximum": 13,
                        "type": "integer",
                        "description": "Number of adults (age 13+). Maximum 13.",
                        "default": 0
                    },
                    "children": {
                        "title": "Children",
                        "minimum": 0,
                        "maximum": 9,
                        "type": "integer",
                        "description": "Number of children (age 2–12). Maximum 9.",
                        "default": 0
                    },
                    "infants": {
                        "title": "Infants",
                        "minimum": 0,
                        "maximum": 5,
                        "type": "integer",
                        "description": "Number of infants (age 0–2). Maximum 5.",
                        "default": 0
                    },
                    "pets": {
                        "title": "Pets",
                        "minimum": 0,
                        "maximum": 5,
                        "type": "integer",
                        "description": "Number of pets traveling. Maximum 5. Setting this > 0 filters for pet-friendly properties.",
                        "default": 0
                    },
                    "minPrice": {
                        "title": "Minimum Price",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum price in local currency. Leave empty for no lower price limit."
                    },
                    "maxPrice": {
                        "title": "Maximum Price",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum  price in local currency. Leave empty for no upper price limit."
                    },
                    "bedrooms": {
                        "title": "Bedrooms",
                        "minimum": 0,
                        "maximum": 8,
                        "type": "integer",
                        "description": "Number of bedrooms required. Set to 0 for any number of bedrooms. Maximum 8.",
                        "default": 0
                    },
                    "beds": {
                        "title": "Beds",
                        "minimum": 0,
                        "maximum": 8,
                        "type": "integer",
                        "description": "Number of beds required. Set to 0 for any number. Maximum 8.",
                        "default": 0
                    },
                    "bathrooms": {
                        "title": "Bathrooms",
                        "minimum": 0,
                        "maximum": 8,
                        "type": "integer",
                        "description": "Number of bathrooms. Maximum 8.",
                        "default": 0
                    },
                    "instantBook": {
                        "title": "Instant Book",
                        "type": "boolean",
                        "description": "When enabled, only shows properties that can be booked immediately — no need to wait for host approval.",
                        "default": false
                    },
                    "flexibleCancellation": {
                        "title": "Flexible Cancellation",
                        "type": "boolean",
                        "description": "When enabled, only shows properties with a flexible cancellation policy — ideal for uncertain travel plans.",
                        "default": false
                    },
                    "selfCheckIn": {
                        "title": "Self Check-in",
                        "type": "boolean",
                        "description": "When enabled, only shows properties with self check-in options (e.g. key lockbox or smart lock), so you can arrive at any time without coordinating with the host.",
                        "default": false
                    },
                    "petsAllowed": {
                        "title": "Pets Allowed",
                        "type": "boolean",
                        "description": "When enabled, only shows properties that explicitly allow pets. Enable this even if the Pets count above is set to 0.",
                        "default": false
                    },
                    "guestFavorite": {
                        "title": "Guest Favorite",
                        "type": "boolean",
                        "description": "When enabled, only shows Guest Favorite properties — a special Airbnb badge awarded to the highest-rated, most-booked homes.",
                        "default": false
                    },
                    "luxe": {
                        "title": "Luxe",
                        "type": "boolean",
                        "description": "When enabled, only shows Airbnb Luxe properties — an exclusive collection of premium luxury homes with high-end services.",
                        "default": false
                    },
                    "amenities": {
                        "title": "Amenities",
                        "type": "array",
                        "description": "Filter by required amenities. Only properties that have ALL selected amenities will appear in results. Leave empty to include all properties.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "4",
                                "5",
                                "33",
                                "99",
                                "46",
                                "47",
                                "8",
                                "34",
                                "30",
                                "58",
                                "45",
                                "7",
                                "25",
                                "9",
                                "97",
                                "286",
                                "1000",
                                "15",
                                "16",
                                "27",
                                "11",
                                "35",
                                "36"
                            ],
                            "enumTitles": [
                                "WiFi",
                                "Air conditioning",
                                "Washing machine",
                                "BBQ grill",
                                "Iron",
                                "Dedicated workspace",
                                "Kitchen",
                                "Tumble dryer",
                                "Heating",
                                "TV",
                                "Hairdryer",
                                "Pool",
                                "Hot tub",
                                "Free parking",
                                "EV charger",
                                "Cot",
                                "King bed",
                                "Gym",
                                "Breakfast",
                                "Indoor fireplace",
                                "Smoking allowed",
                                "Smoke alarm",
                                "Carbon monoxide alarm"
                            ]
                        },
                        "default": [
                            "4"
                        ]
                    },
                    "propertyType": {
                        "title": "Property Type",
                        "type": "array",
                        "description": "Filter by property type. Select one or more types to narrow results. Leave empty to include all property types.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "1",
                                "3",
                                "2",
                                "4"
                            ],
                            "enumTitles": [
                                "House",
                                "Flat",
                                "Guest house",
                                "Hotel"
                            ]
                        },
                        "default": []
                    },
                    "hostLanguages": {
                        "title": "Host Languages",
                        "type": "array",
                        "description": "Filter for hosts who speak the selected language(s). Useful if you prefer to communicate in a specific language. Leave empty for any host.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "en",
                                "hi",
                                "ta",
                                "te",
                                "ar",
                                "kn"
                            ],
                            "enumTitles": [
                                "English",
                                "Hindi",
                                "Tamil",
                                "Telugu",
                                "Arabic",
                                "Kannada"
                            ]
                        },
                        "default": []
                    },
                    "accessibilityFeatures": {
                        "title": "Accessibility Features",
                        "type": "array",
                        "description": "Filter for properties with specific accessibility features for guests with mobility or disability needs. Leave empty to include all properties.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "110",
                                "114",
                                "111",
                                "115",
                                "116",
                                "295",
                                "294",
                                "296",
                                "297",
                                "291"
                            ],
                            "enumTitles": [
                                "Step-free access",
                                "Disabled parking spot",
                                "Guest entrance wider than 32 inches",
                                "Step-free bedroom access",
                                "Bedroom entrance wider than 32 inches",
                                "Toilet grab bars",
                                "Shower grab bars",
                                "Step-free shower access",
                                "Shower or bath chair",
                                "Ceiling or mobile hoist"
                            ]
                        },
                        "default": []
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Configure proxy settings for the scraper. Residential proxies are strongly recommended for Airbnb to bypass bot detection and IP blocks. Use 'Apify Proxy' with the RESIDENTIAL group for the best results.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ],
                            "apifyProxyCountry": "DE"
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
