# Airbnb Scraper (`simpleapi/airbnb-scraper`) Actor

Scrape live Airbnb listings to fuel travel content, destination guides, or SEO research. Find top listings, popular amenities, and guest trends to create high-converting content strategies.

- **URL**: https://apify.com/simpleapi/airbnb-scraper.md
- **Developed by:** [SimpleAPI](https://apify.com/simpleapi) (community)
- **Categories:** E-commerce, Travel, Lead generation
- **Stats:** 5 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$19.99/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

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

## 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

An Airbnb Scraper is a smart solution for extracting valuable Airbnb listing data quickly and efficiently. 🏡 It helps businesses, researchers, and marketers collect pricing, reviews, availability, and host insights at scale. With support for Airbnb Scraper Python, Apify, and free tools, it enables data-driven decisions while respecting Airbnb scraping policy.

### 🏠 What does Airbnb Scraper do?

An Airbnb Scraper is a powerful data extraction tool designed to collect Airbnb listing data at scale—quickly, accurately, and efficiently. 🔍  
It allows users to scrape structured information such as property details, prices, reviews, ratings, host profiles, and availability directly from Airbnb listings.

From market research to SEO analysis, Airbnb scraping data empowers businesses and individuals to make data-driven decisions. Instead of manually browsing listings, an Airbnb Scraper app or software automates the process, saving hours of effort. ⏱️

Modern tools like Airbnb Scraper Apify, Airbnb Scraper Python, or even a free Airbnb Scraper option provide flexible ways to extract data without deep technical knowledge.

Whether you're a real estate investor, travel analyst, or SEO professional, an Airbnb Scraper helps unlock insights hidden within Airbnb’s massive marketplace—while staying mindful of the Airbnb scraping policy and ethical usage. ✅

* * *

### 📊 What Airbnb Scraper can I extract?

An Airbnb Scraper enables you to extract a wide variety of structured and unstructured data from Airbnb listings. Below is a detailed breakdown of what you can collect using an Airbnb Scraper software or app:

#### 🧾 Extractable Data Types

| Data Type | Description |
| --- | --- |
| 🏡 Listing Title | Property name and headline |
| 📍 Location | City, neighborhood, country |
| 💲 Price | Nightly rate, cleaning fee |
| ⭐ Ratings | Overall rating & review count |
| 📝 Reviews | Guest comments and feedback |
| 🛏️ Amenities | WiFi, pool, parking, etc. |
| 🧑 Host Info | Host name, status, response rate |
| 📅 Availability | Available and booked dates |
| 🏷️ Property Type | Apartment, villa, shared room |
| 📸 Images | Listing photos URLs |

With Airbnb scraping data, businesses can analyze pricing trends, compare competitors, or even build datasets for AI models. 📈  
Tools like Airbnb Scraper GitHub projects, Airbnb Scraper Python scripts, or Airbnb Scraper Chrome extension make this extraction flexible and scalable.

* * *

#### ✨ Key Features of Airbnb Scraper

An advanced Airbnb Scraper comes packed with features that simplify large-scale Airbnb scraping while maintaining accuracy and performance. 💡

#### 🔑 Core Features

*   🚀 High-speed scraping for thousands of Airbnb listings  
      
    
*   🧠 Smart data extraction with clean, structured outputs  
      
    
*   🔄 Supports bulk URLs & location-based scraping  
      
    
*   🐍 Compatible with Airbnb Scraper Python workflows  
      
    
*   🌐 Works as Airbnb Scraper app, software, or API-based solution  
      
    
*   🧩 Integration-friendly with Airbnb API alternatives  
      
    
*   🆓 Options for Airbnb Scraper free usage or trials  
      
    
*   🧪 Community-backed tools like Airbnb Scraper GitHub repositories  
      
    
*   🧭 Location, date, and price filters for targeted scraping  
      
    
*   🛡️ Designed with Airbnb scraping policy awareness  
      
    

Whether you're using a magical Airbnb Scraper, a Chrome extension, or a cloud-based Airbnb Scraper Apify actor, these features ensure scalable and reliable Airbnb data collection.

* * *

### 🛠️ How to use Airbnb Scraper

Using an Airbnb Scraper is simple—even for beginners. Follow this step-by-step guide to start Airbnb scraping data efficiently:

#### 🪜 Step-by-Step Guide

1.  Log in to Apify 🔐  
    Create a free account or sign in to your existing Apify profile.  
      
    
2.  Select the Actor 🎯  
    Search for “Airbnb Scraper” in the Apify Store.  
      
    
3.  Enter Input Data 🧾  
    Paste Airbnb listing URLs or search pages into the startUrls field.  
      
    
4.  Choose Options ⚙️  
    Select filters like location, price range, dates, or output format.  
      
    
5.  Run the Actor ▶️  
    Click “Start” and let the Airbnb Scraper Apify extract data automatically.  
      
    
6.  Download Results 📥  
    Export results in JSON, CSV, or Excel format.  
      
    

This process works seamlessly whether you’re building an Airbnb Scraper Python pipeline, testing a free Airbnb Scraper, or using a full-featured Airbnb Scraper software.

* * *

### 🎯 Use Cases

An Airbnb Scraper unlocks countless real-world applications across industries. 🌍

#### 💼 Popular Use Cases

*   📊 Market Research – Analyze pricing trends and occupancy rates  
      
    
*   🏘️ Real Estate Investment – Identify profitable Airbnb locations  
      
    
*   📣 Digital Marketing – Optimize listings using competitor insights  
      
    
*   🤖 AI & Data Science – Train models using Airbnb scraping data  
      
    
*   🧳 Travel Platforms – Aggregate short-term rental insights  
      
    
*   📰 Academic Research – Study tourism and hospitality patterns  
      
    
*   🔍 SEO & Content Strategy – Extract reviews and keywords  
      
    

From startups to enterprises, an Airbnb Scraper app or magical Airbnb Scraper helps transform raw Airbnb data into actionable intelligence—while respecting Airbnb scrapping policy guidelines.

* * *

### 💎 Why choose us?

We offer a reliable, scalable, and ethical Airbnb Scraper designed for professionals who value accuracy and performance. 🌟

#### 🏆 Our Advantages

*   ✅ Built for high-volume Airbnb scraping  
      
    
*   🔐 Secure & compliant with Airbnb scraping policy best practices  
      
    
*   🧩 Easy integration with Airbnb API alternatives  
      
    
*   🆓 Flexible plans, including Airbnb Scraper free options  
      
    
*   🐍 Python-friendly for developers using Airbnb Scraper Python  
      
    
*   🌍 Cloud-based access via Airbnb Scraper Apify  
      
    
*   📞 Dedicated support & active documentation  
      
    

Whether you’re exploring a GitHub Airbnb Scraper, a browser extension, or a full-scale Airbnb Scraper software, we deliver trusted results at scale.

* * *

### 📈 How many results can you scrape with Airbnb Scraper?

Scalability is one of the strongest advantages of a modern Airbnb Scraper. 🚀  
Depending on your configuration, you can scrape hundreds to millions of Airbnb listings without performance issues.

#### 🔢 Scalability Highlights

*   🏙️ Scrape entire cities, regions, or countries  
      
    
*   🔁 Run multiple scraping jobs in parallel  
      
    
*   ⚡ Optimized for speed and data consistency  
      
    
*   ☁️ Cloud-based scaling with Airbnb Scraper Apify  
      
    
*   📦 Suitable for enterprise-grade Airbnb scraping data pipelines  
      
    

For smaller projects, a free Airbnb Scraper or Airbnb Scraper Chrome extension may be sufficient.  
For larger datasets, using an Airbnb Scraper app, software, or Python-based solution ensures uninterrupted performance.

Whether you need 500 listings or 5 million, the Airbnb Scraper adapts to your data needs—making it ideal for long-term analytics, dashboards, and research.

* * *

### ⚖️ Is it legal to scrape Airbnb?

The legality of Airbnb scraping depends on how and why the data is collected. 🧠  
Airbnb has terms of service that outline acceptable usage, often referred to as the Airbnb scraping policy.

#### 📝 Key Considerations

*   ✔️ Scrape publicly available data only  
      
    
*   ❌ Avoid personal or sensitive user data  
      
    
*   📜 Review Airbnb’s Terms of Service regularly  
      
    
*   🧩 Use scraped data for research, analysis, or internal use  
      
    
*   🌍 Follow local data protection laws (GDPR, etc.)  
      
    

Using an Airbnb Scraper API, Apify actor, or Airbnb Scraper Python tool responsibly helps maintain ethical compliance. Always consult legal guidance if scraping data for commercial redistribution.

* * *

### ⚙️ Input Parameters

#### 🧾 Example Input JSON
```json
{
    "proxyConfiguration": {
        "useApifyProxy": false
    },
    "startItems": [
        "https://www.airbnb.com/s/London/homes"
    ]
}
````

### 📤 Output Format

#### 🧾 Example Output JSON

```json
  {
    "thumbnail": "https://a0.muscache.com/im/pictures/miso/Hosting-934718546911668796/original/c105003a-834c-4d6c-9141-ef47c1ecada7.jpeg",
    "id": "934718546911668796",
    "title": "1.5 baths",
    "description": "Welcome to our wonderful, spacious gem in Hoxton! Our unique loft is a stylish retreat with an open-plan living area and kitchen that benefits from abundant natural light. Cooks will love the well-equipped kitchen with top-notch appliances and quality cookware.\n\nFrom here, you can discover the surrounding vibrant neighbourhoods of Shoreditch, Dalston, Hackney, and Islington. You are within reach of numerous excellent restaurants, cafés, markets, and easy transportation to other areas of London.",
    "rating": {
      "accuracy": 5,
      "checking": 5,
      "cleanliness": 5,
      "communication": 5,
      "location": 4.78,
      "value": 10,
      "guestSatisfaction": null,
      "reviewsCount": 28
    },
    "price": {
      "label": "$281 for 5 nights",
      "qualifier": "for 5 nights",
      "price": "$281",
      "originalPrice": null,
      "discountedPrice": null,
      "breakDown": {
        "basePrice": {
          "description": "5 nights x $56.09",
          "price": "$280.46"
        },
        "basePriceBreakdown": [],
        "serviceFee": null,
        "taxes": null,
        "total": {
          "price": "$280",
          "description": "Total (calculated price, may vary)"
        },
        "totalBeforeTaxes": null,
        "cleaningFee": null,
        "specialOffer": null,
        "earlyBirdDiscount": null
      }
    },
    "coordinates": {
      "latitude": 51.5364,
      "longitude": -0.08245
    },
    "url": "https://www.airbnb.com/rooms/934718546911668796?locale=en-US&currency=USD&check_in=2025-01-01&check_out=2025-01-08",
    "currency": "USD"
  },
```

### ❓ FAQ – Airbnb Scraper

#### 1️⃣ What is an Airbnb Scraper?

An Airbnb Scraper extracts structured Airbnb listing data automatically.

#### 2️⃣ Is there a free Airbnb Scraper available?

Yes, many tools offer Airbnb Scraper free plans or trials.

#### 3️⃣ Can I use Airbnb Scraper with Python?

Absolutely! Airbnb Scraper Python integrations are widely supported.

#### 4️⃣ Is Airbnb scraping legal?

Yes, when done responsibly and in line with Airbnb scraping policy.

#### 5️⃣ Do you support Airbnb Scraper Apify?

Yes, our solution works seamlessly with Apify Airbnb Scraper actors.

#### 6️⃣ Is there a Chrome extension for Airbnb scraping?

Some tools provide an Airbnb Scraper Chrome extension for quick tasks.

#### 7️⃣ Can I use scraped data commercially?

Commercial use depends on compliance with Airbnb’s terms and local laws.

### ✅ Conclusion – Airbnb Scraper

In conclusion, an Airbnb Scraper empowers you to transform Airbnb listings into actionable insights. 📊 Whether you use an Airbnb Scraper app, software, GitHub project, or Apify actor, it offers scalable, flexible data extraction. When used responsibly, Airbnb scraping data becomes a powerful asset for research, analysis, and growth. 🚀

#### ✨ Ready to unlock powerful Airbnb insights?

Choose a scalable, ethical, and high-performance Airbnb Scraper today!

### What are other Airbnb scraping tools?

If you want to scrape specific Airbnb data, you can use any of the dedicated scrapers below for faster and more targeted results.

| Scraper Name | Scraper Name |
|---|---|
| [Airbnb Availability Calendar](https://apify.com/simpleapi/airbnb-availability-calendar) | [Airbnb Occupancy Scraper](https://apify.com/simpleapi/airbnb-occupancy-scraper) |
| [Airbnb Email Scraper](https://apify.com/simpleapi/airbnb-email-scraper) | [Airbnb Phone Number Scraper](https://apify.com/simpleapi/airbnb-phone-number-scraper) |
| [Airbnb Full Year Price Tracker Scraper](https://apify.com/simpleapi/airbnb-full-year-price-tracker-scraper) | [Airbnb Review Scraper](https://apify.com/simpleapi/airbnb-review-scraper) |
| [Airbnb Image Scraper](https://apify.com/simpleapi/airbnb-image-scraper) | [Airbnb Rooms URLs Scraper](https://apify.com/simpleapi/Airbnb-Rooms-URLs-Scraper) |
| [Airbnb Images Scraper](https://apify.com/simpleapi/airbnb-Images-scraper) |  |

# Actor input Schema

## `locationQueries` (type: `array`):

Examples: `london`, `paris`, or for the US `Austin--TX` so the right area is clear. Add one entry per line. 🌆

## `startItems` (type: `array`):

Optional: full Airbnb search URLs or other start links — we’ll figure out the place from them. 🔗

## `checkin` (type: `string`):

When your stay starts — calendar date **or** relative (e.g. `14 days`, `2 weeks`). Future trip dates work best for live prices. 📆

## `checkout` (type: `string`):

When your stay ends — must be **after** check-in. Same calendar or relative style as above. 🌅

## `currency` (type: `string`):

Prices will be shown in this money format. 💶

## `locale` (type: `string`):

How Airbnb labels listings and prices for you (language/region). 🗣️

## `maxItems` (type: `integer`):

Stop after this many stays that **match your search** (and your area rules below). 📊

## `maxPages` (type: `integer`):

Advanced: limit how many result pages to scroll. Leave empty and we’ll pick a sensible cap for you. 📑

## `strictGeo` (type: `boolean`):

When **on** ✅ we only keep stays that really belong to the area you meant (great when a city name exists in many countries). When **off**, more results may appear from nearby or similar names. 🌍

## `state` (type: `string`):

Optional dropdown of regions worldwide — pick the closest match, or none. US tip: you can also use `City--ST` in the location field. 🇺🇸

## `country` (type: `string`):

Optional: which country the place should be in (helps when two cities share a name). Leave empty if you’re sure. 🏳️

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

Configure Apify Proxy if needed; otherwise we connect directly. ☁️

## Actor input object example

```json
{
  "locationQueries": [
    "paris"
  ],
  "startItems": [
    "https://www.airbnb.com/s/london/homes"
  ],
  "checkin": "2026-06-01",
  "checkout": "2026-06-08",
  "currency": "USD",
  "locale": "en-US",
  "maxItems": 20,
  "strictGeo": true,
  "state": "",
  "country": "",
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# 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 = {
    "locationQueries": [
        "paris"
    ],
    "startItems": [
        "https://www.airbnb.com/s/london/homes"
    ],
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("simpleapi/airbnb-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 = {
    "locationQueries": ["paris"],
    "startItems": ["https://www.airbnb.com/s/london/homes"],
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("simpleapi/airbnb-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 '{
  "locationQueries": [
    "paris"
  ],
  "startItems": [
    "https://www.airbnb.com/s/london/homes"
  ],
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call simpleapi/airbnb-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Airbnb Scraper",
        "description": "Scrape live Airbnb listings to fuel travel content, destination guides, or SEO research. Find top listings, popular amenities, and guest trends to create high-converting content strategies.",
        "version": "0.1",
        "x-build-id": "EEUoHEqEdpzO0b1wC"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/simpleapi~airbnb-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-simpleapi-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/simpleapi~airbnb-scraper/runs": {
            "post": {
                "operationId": "runs-sync-simpleapi-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/simpleapi~airbnb-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-simpleapi-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": {
                    "locationQueries": {
                        "title": "📍 Location keywords",
                        "type": "array",
                        "description": "Examples: `london`, `paris`, or for the US `Austin--TX` so the right area is clear. Add one entry per line. 🌆",
                        "items": {
                            "type": "string"
                        }
                    },
                    "startItems": {
                        "title": "🔗 Or paste search links / URLs",
                        "type": "array",
                        "description": "Optional: full Airbnb search URLs or other start links — we’ll figure out the place from them. 🔗",
                        "items": {
                            "type": "string"
                        }
                    },
                    "checkin": {
                        "title": "🛎️ Check-in",
                        "type": "string",
                        "description": "When your stay starts — calendar date **or** relative (e.g. `14 days`, `2 weeks`). Future trip dates work best for live prices. 📆",
                        "default": "2026-06-01"
                    },
                    "checkout": {
                        "title": "🚪 Check-out",
                        "type": "string",
                        "description": "When your stay ends — must be **after** check-in. Same calendar or relative style as above. 🌅",
                        "default": "2026-06-08"
                    },
                    "currency": {
                        "title": "💵 Currency",
                        "enum": [
                            "USD",
                            "EUR",
                            "GBP",
                            "JPY",
                            "AUD",
                            "CAD",
                            "CHF",
                            "CNY",
                            "INR",
                            "BRL",
                            "MXN",
                            "SEK",
                            "NOK",
                            "DKK",
                            "PLN",
                            "NZD",
                            "SGD",
                            "HKD",
                            "KRW",
                            "TRY",
                            "ZAR",
                            "AED",
                            "THB",
                            "MYR",
                            "PHP",
                            "IDR",
                            "CZK",
                            "HUF",
                            "ILS",
                            "SAR",
                            "CLP",
                            "ARS",
                            "COP",
                            "PEN",
                            "RON",
                            "BGN",
                            "HRK",
                            "ISK",
                            "TWD",
                            "VND"
                        ],
                        "type": "string",
                        "description": "Prices will be shown in this money format. 💶",
                        "default": "USD"
                    },
                    "locale": {
                        "title": "🌐 Language & region (locale)",
                        "enum": [
                            "en-US",
                            "en-GB",
                            "en-AU",
                            "en-CA",
                            "en-IN",
                            "en-IE",
                            "fr-FR",
                            "fr-CA",
                            "de-DE",
                            "es-ES",
                            "es-MX",
                            "es-AR",
                            "it-IT",
                            "pt-BR",
                            "pt-PT",
                            "ja-JP",
                            "ko-KR",
                            "zh-CN",
                            "zh-TW",
                            "nl-NL",
                            "nl-BE",
                            "sv-SE",
                            "da-DK",
                            "nb-NO",
                            "fi-FI",
                            "pl-PL",
                            "ru-RU",
                            "tr-TR",
                            "el-GR",
                            "cs-CZ",
                            "hu-HU",
                            "ro-RO",
                            "uk-UA",
                            "id-ID",
                            "th-TH",
                            "vi-VN",
                            "ms-MY",
                            "hi-IN",
                            "he-IL",
                            "ar-SA",
                            "ca-ES",
                            "hr-HR",
                            "sk-SK",
                            "sl-SI",
                            "bg-BG",
                            "lt-LT",
                            "lv-LV",
                            "et-EE"
                        ],
                        "type": "string",
                        "description": "How Airbnb labels listings and prices for you (language/region). 🗣️",
                        "default": "en-US"
                    },
                    "maxItems": {
                        "title": "🔢 Max stays",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Stop after this many stays that **match your search** (and your area rules below). 📊",
                        "default": 20
                    },
                    "maxPages": {
                        "title": "📄 Max search pages (optional)",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Advanced: limit how many result pages to scroll. Leave empty and we’ll pick a sensible cap for you. 📑"
                    },
                    "strictGeo": {
                        "title": "📌 Strictly stay in my search area",
                        "type": "boolean",
                        "description": "When **on** ✅ we only keep stays that really belong to the area you meant (great when a city name exists in many countries). When **off**, more results may appear from nearby or similar names. 🌍",
                        "default": true
                    },
                    "state": {
                        "title": "📍 Region / state / province",
                        "enum": [
                            "",
                            "Addis Ababa",
                            "Alberta",
                            "Andalusia",
                            "Antioquia",
                            "Auckland",
                            "Australian Capital Territory",
                            "Baden-Württemberg",
                            "Bali",
                            "Bangkok",
                            "Bavaria",
                            "Beijing",
                            "Berlin",
                            "Bogotá D.C.",
                            "Brussels-Capital Region",
                            "British Columbia",
                            "Buenos Aires Province",
                            "Busan",
                            "California",
                            "Cairo Governorate",
                            "Casablanca-Settat",
                            "Catalonia",
                            "Córdoba",
                            "Delhi",
                            "Dubai",
                            "Dublin",
                            "Eastern Cape",
                            "England",
                            "Flanders",
                            "Florida",
                            "Gauteng",
                            "Guangdong",
                            "Hanoi",
                            "Hokkaido",
                            "Ho Chi Minh City",
                            "Hong Kong",
                            "Istanbul",
                            "Jakarta",
                            "Jalisco",
                            "Kanagawa Prefecture",
                            "Karnataka",
                            "KwaZulu-Natal",
                            "Lagos State",
                            "Lazio",
                            "Lesser Poland",
                            "Lima Province",
                            "Lombardy",
                            "Madrid",
                            "Maharashtra",
                            "Manitoba",
                            "Metropolitan Manila",
                            "Mexico City",
                            "Minas Gerais",
                            "Moscow Oblast",
                            "New Brunswick",
                            "New South Wales",
                            "New York",
                            "North Holland",
                            "North Rhine-Westphalia",
                            "Northern Ireland",
                            "Nova Scotia",
                            "Ohio",
                            "Ontario",
                            "Oregon",
                            "Osaka Prefecture",
                            "Pennsylvania",
                            "Provence-Alpes-Côte d'Azur",
                            "Quebec",
                            "Queensland",
                            "Rio de Janeiro",
                            "Riyadh Province",
                            "Saint Petersburg",
                            "Santiago Metropolitan",
                            "Saskatchewan",
                            "São Paulo",
                            "Scotland",
                            "Seoul",
                            "Shanghai",
                            "Sichuan",
                            "Singapore",
                            "South Australia",
                            "South Holland",
                            "Stockholm County",
                            "Taipei",
                            "Tamil Nadu",
                            "Tasmania",
                            "Tel Aviv District",
                            "Texas",
                            "Tokyo",
                            "Victoria",
                            "Viken",
                            "Wales",
                            "Wallonia",
                            "Wellington",
                            "Western Australia",
                            "Western Cape",
                            "Zurich",
                            "Île-de-France"
                        ],
                        "type": "string",
                        "description": "Optional dropdown of regions worldwide — pick the closest match, or none. US tip: you can also use `City--ST` in the location field. 🇺🇸",
                        "default": ""
                    },
                    "country": {
                        "title": "🌎 Country",
                        "enum": [
                            "",
                            "United States",
                            "United Kingdom",
                            "Canada",
                            "Australia",
                            "France",
                            "Germany",
                            "Italy",
                            "Spain",
                            "Japan",
                            "India",
                            "Brazil",
                            "Mexico",
                            "Ireland",
                            "Netherlands",
                            "Portugal",
                            "Belgium",
                            "Austria",
                            "Switzerland",
                            "Sweden",
                            "Norway",
                            "Denmark",
                            "Poland",
                            "Czech Republic",
                            "Hungary",
                            "Greece",
                            "Turkey",
                            "South Korea",
                            "China",
                            "Taiwan",
                            "Hong Kong",
                            "Singapore",
                            "New Zealand",
                            "South Africa",
                            "United Arab Emirates",
                            "Saudi Arabia",
                            "Israel",
                            "Argentina",
                            "Chile",
                            "Colombia",
                            "Thailand",
                            "Malaysia",
                            "Indonesia",
                            "Philippines",
                            "Vietnam",
                            "Egypt",
                            "Nigeria",
                            "Russia",
                            "Ukraine",
                            "Romania",
                            "Finland",
                            "Croatia",
                            "Slovenia",
                            "Slovakia",
                            "Bulgaria",
                            "Serbia",
                            "Iceland",
                            "Luxembourg",
                            "Estonia",
                            "Latvia",
                            "Lithuania",
                            "Pakistan",
                            "Bangladesh",
                            "Peru",
                            "Ecuador",
                            "Uruguay",
                            "Costa Rica",
                            "Panama",
                            "Morocco",
                            "Kenya",
                            "Qatar",
                            "Kuwait",
                            "Bahrain",
                            "Oman",
                            "Cyprus",
                            "Malta",
                            "Montenegro",
                            "Albania",
                            "North Macedonia"
                        ],
                        "type": "string",
                        "description": "Optional: which country the place should be in (helps when two cities share a name). Leave empty if you’re sure. 🏳️",
                        "default": ""
                    },
                    "proxyConfiguration": {
                        "title": "🔌 Proxy",
                        "type": "object",
                        "description": "Configure Apify Proxy if needed; otherwise we connect directly. ☁️"
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
