# Airbnb Scraper — Listings, Prices & Full Details (`lofomachines/airbnb-scraper`) Actor

Scrape Airbnb listings from any country. Search by location or keywords, apply filters, or paste Airbnb URLs. Get prices, ratings, amenities, host info and more — no login required.

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

## Pricing

from $2.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## Airbnb Scraper — Listings, Prices & Full Details 🏠

**Extract Airbnb listings from any city, region, or country in minutes — prices, ratings, amenities, host profiles, photos, house rules, and 30+ more data points per listing. No Airbnb account, no API key, no coding required.**

Search by location or keywords, apply the same filters you'd use on airbnb.com, or simply paste an Airbnb URL. Works with **every Airbnb domain** — airbnb.com, airbnb.it, airbnb.fr, airbnb.de, airbnb.co.uk, airbnb.com.au, and all the others — and returns prices in **24 currencies** and text in **20 languages**.

> 💡 **Pro tip:** pair this Actor with the [Airbnb Availability Calendar Scraper](https://apify.com/lofomachines/airbnb-availability-calendar-scraper) to add day-by-day availability and nightly prices to every listing you collect here. Together they give you a complete short-term-rental market picture.

***

### Why use this Airbnb Scraper? ✨

- **🌍 Every country, every domain** — scrape Airbnb Italy, France, Spain, USA, Japan… all regional domains are supported out of the box.
- **🔍 Search like a human, get data like a machine** — enter "Rome, Italy" or "Lake Como villas with pool" and receive clean, structured JSON.
- **🎛️ Real Airbnb filters** — dates, guests, price range, property type, bedrooms, beds, bathrooms, 25 amenities, Instant Book.
- **📊 Rich records** — up to 30+ fields per listing, including rating breakdowns (cleanliness, location, value…), full amenity lists, host statistics, and complete photo galleries.
- **🔗 URL mode** — configure your search on airbnb.com with any combination of filters, paste the link, done.
- **🚄 Deep search built in** — when a city has thousands of listings, the Actor automatically expands the search to reach far beyond the ~270 results a normal Airbnb search page shows.
- **🔓 No login required** — the Actor never asks for your Airbnb credentials or any third-party authentication.
- **💾 Export anywhere** — download results as JSON, CSV, Excel, XML, or RSS, or push them straight into your own stack via API.

***

### What data does it extract? 📦

| Field | Description |
|---|---|
| `id`, `url` | Unique listing ID and direct link |
| `name`, `title` | Listing name and short descriptor ("Apartment in Rome") |
| `propertyType`, `roomType` | e.g. "Entire rental unit", "Entire home/apt" |
| `personCapacity`, `bedrooms`, `beds`, `bathrooms` | Capacity details |
| `price` | Price label, parsed amount, currency, nightly rate, taxes & fees breakdown, discounts |
| `rating` | Overall guest satisfaction + accuracy, check-in, cleanliness, communication, location, value |
| `isSuperhost`, `isGuestFavorite`, `badges` | Quality signals |
| `coordinates`, `address` | Latitude/longitude and human-readable location |
| `images`, `thumbnail`, `photoCount`, `imageCaptions` | Full photo gallery with captions |
| `description` | Complete listing description (plain text) |
| `amenities` | Every amenity, grouped by category, including what's *not* included |
| `highlights` | "Self check-in", "Great location", etc. |
| `sleepingArrangement` | Bed types per room |
| `houseRules`, `cancellationPolicy`, `safetyAndProperty` | Policies and rules |
| `host` | Name, photo, Superhost status, verification, rating, review count, years hosting, response info, co-hosts |
| `locationDescription` | Neighborhood description written by the host |
| `searchContext`, `scrapedAt` | Traceability of every record |

***

### Example input 📝

**Search two cities for summer stays under €150/night with a pool:**

```json
{
    "search": ["Rome, Italy", "Florence, Italy"],
    "checkIn": "2026-07-27",
    "checkOut": "2026-08-01",
    "adults": 2,
    "priceMax": 150,
    "currency": "EUR",
    "amenities": ["pool", "wifi"],
    "maxListings": 200,
    "includeDetails": true
}
```

**Or just paste Airbnb URLs (any domain, any filters):**

```json
{
    "startUrls": [
        { "url": "https://www.airbnb.it/s/Milano/homes?room_types%5B%5D=Entire%20home%2Fapt" },
        { "url": "https://www.airbnb.com/rooms/1714662055709854414" }
    ],
    "maxListings": 100
}
```

### Example output (one dataset item) 📄

```json
{
    "id": "1714662055709854414",
    "url": "https://www.airbnb.com/rooms/1714662055709854414",
    "name": "Trastevere Suite | Your Home in the Center of Rome",
    "title": "Apartment in Rome",
    "propertyType": "Entire rental unit",
    "roomType": "Entire home/apt",
    "personCapacity": 2,
    "bedrooms": 0,
    "beds": 1,
    "bathrooms": 1,
    "isSuperhost": false,
    "rating": {
        "guestSatisfaction": 5,
        "reviewsCount": 1,
        "cleanliness": 5,
        "location": 5,
        "value": 5
    },
    "price": {
        "label": "€588",
        "amount": 588,
        "qualifier": "total",
        "currency": "EUR",
        "nights": 5,
        "nightlyAmount": 105.5,
        "breakdown": [
            { "description": "5 nights x €105.50", "amount": 527.51 },
            { "description": "Taxes", "amount": 60 }
        ]
    },
    "coordinates": { "latitude": 41.8933, "longitude": 12.4712 },
    "address": "Rome, Lazio, Italy",
    "amenities": [
        { "group": "Kitchen and dining", "items": [{ "title": "Kitchen", "available": true }] }
    ],
    "host": {
        "name": "Alessia",
        "isSuperhost": false,
        "isVerified": true,
        "rating": 4.38,
        "reviewsCount": 396,
        "yearsHosting": 5
    },
    "scrapedAt": "2026-07-02T14:00:00.000Z"
}
```

***

### Popular use cases 🎯

#### 💰 Dynamic pricing & revenue management

Hosts and property managers benchmark nightly rates, fees, and occupancy signals against nearby competitors to price their own units optimally.

#### 🏘️ Real-estate & STR investment analysis

Analysts pull entire markets — ratings, prices, capacity, amenities — to score neighborhoods, estimate revenue potential, and find underserved niches before buying.

#### 📈 Market research & competitor monitoring

Track how many listings a city has, what amenities are standard, which hosts dominate, and how prices move by season. Schedule the Actor weekly and watch trends build up.

#### 🧳 Travel products & aggregators

Power meta-search tools, deal finders, and itinerary planners with fresh accommodation data across dozens of markets.

#### 🎓 Academic research & journalism

Study the impact of short-term rentals on housing markets with clean, citable datasets covering any city in the world.

#### 🤝 Lead generation for STR services

Cleaning companies, photographers, smart-lock vendors, and channel managers find and qualify hosts by portfolio size, rating, and location.

***

### How to run it 🚀

1. Click **Try for free** — you'll need an [Apify account](https://console.apify.com) (free tier works).
2. Enter one or more locations/keywords, or paste Airbnb URLs.
3. Optionally set dates, guests, and filters.
4. Click **Start** and watch listings stream into the dataset.
5. Export via **Storage → Dataset** (JSON, CSV, Excel, XML) or the [Apify API](https://docs.apify.com/api/v2).

#### Run it on a schedule ⏰

Use [Apify Schedules](https://docs.apify.com/platform/schedules) to run daily or weekly and build historical price series automatically.

#### Integrations 🔌

Connect the results to 5,000+ apps:

- **[n8n](https://docs.apify.com/platform/integrations/n8n)** — trigger a workflow when a run finishes and pipe listings into your database or Slack.
- **[Make](https://docs.apify.com/platform/integrations/make)** — build no-code market dashboards in Google Sheets.
- **[Zapier](https://docs.apify.com/platform/integrations/zapier)** — get an email or CRM entry for every new listing that matches your criteria.
- **Webhooks / API** — plug the dataset endpoint straight into your BI tool or data warehouse.

***

### FAQ ❓

**Do I need an Airbnb account or API key?**
No. The Actor works completely on its own — no login, no cookies, no third-party authentication.

**Is it legal to scrape Airbnb?**
The Actor only collects publicly available information that anyone can see in a browser. It does not collect private or personal data behind a login. Always review your own use case and local regulations; see Apify's [ethical web scraping](https://blog.apify.com/is-web-scraping-legal/) guide.

**How many listings can I get per search?**
A single search covers what Airbnb exposes for it; for large cities the built-in deep search automatically expands coverage into the thousands. For maximum coverage, add several nearby locations or neighborhoods as separate queries.

**Why do prices need dates?**
Without dates, Airbnb shows indicative prices. Set check-in/check-out to get the real bookable total for your exact stay, including fees and taxes.

**Can I get day-by-day availability?**
That's a different data shape — use the companion [Airbnb Availability Calendar Scraper](https://apify.com/lofomachines/airbnb-availability-calendar-scraper) and join the two datasets on the listing ID.

**Something isn't working?**
Open an issue on the Actor's **Issues** tab and it will be handled quickly.

***

### More tools you'll like 🧰

- 📅 [Airbnb Availability Calendar Scraper](https://apify.com/lofomachines/airbnb-availability-calendar-scraper) — day-by-day availability & nightly prices, the perfect companion to this Actor.
- 🏠 [Immobiliare.it Scraper](https://apify.com/lofomachines/immobiliare-it-scraper) — Italian real-estate listings & agencies for buy-vs-rent analysis.
- 🛍️ [Universal E-commerce Scraper](https://apify.com/lofomachines/universal-ecommerce-scraper) — product data from any online store.
- 📇 [Contact Extractor](https://apify.com/lofomachines/contact-extractor) — emails, phones & social links from any website, great for STR lead-gen follow-ups.
- 📰 [AI Media Monitor](https://apify.com/lofomachines/ai-media-monitor) — track brands, news & sentiment, e.g. for hospitality reputation monitoring.

Browse all Actors by [lofomachines](https://apify.com/lofomachines).

# Actor input Schema

## `search` (type: `array`):

Where (or what) to search on Airbnb. Enter a city, region, address, landmark, or a free-text phrase — e.g. <b>Rome, Italy</b>, <b>Lake Como villas</b>, <b>Brooklyn, New York</b>. Add as many as you want; each one is searched separately.

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

Alternatively, paste Airbnb links directly: search result pages (with any filters already applied on airbnb.com) or single listing pages (…/rooms/12345). Any Airbnb domain works — airbnb.com, airbnb.it, airbnb.fr, airbnb.co.uk, and so on.

## `maxListings` (type: `integer`):

Stop after collecting this many unique listings. Keep it low for quick tests.

## `includeDetails` (type: `boolean`):

When enabled, every listing is enriched with the complete profile: description, all photos, amenities, house rules, host profile, rating breakdown, cancellation policy, and more. Disable for a faster, lighter run with search-card data only. 💡 Need day-by-day availability too? Combine your results with the <a href='https://apify.com/lofomachines/airbnb-availability-calendar-scraper' target='_blank'>Airbnb Availability Calendar Scraper</a>.

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

Optional stay dates. When set, prices reflect the actual total for your stay.

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

Optional check-out date (must be after check-in).

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

Number of adult guests.

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

Number of children.

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

Number of infants (under 2).

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

Number of pets travelling with you.

## `priceMin` (type: `integer`):

Only include listings priced above this amount (per night, in the selected currency).

## `priceMax` (type: `integer`):

Only include listings priced below this amount (per night, in the selected currency).

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

Currency for all prices in the results.

## `language` (type: `string`):

Language of listing names, descriptions, and other texts in the results.

## `roomTypes` (type: `array`):

Limit results to certain types of places. Leave empty for all types.

## `minBedrooms` (type: `integer`):

Only listings with at least this many bedrooms.

## `minBeds` (type: `integer`):

Only listings with at least this many beds.

## `minBathrooms` (type: `integer`):

Only listings with at least this many bathrooms.

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

Only include listings that offer all of the selected amenities.

## `instantBookOnly` (type: `boolean`):

Only include listings that can be booked instantly, without host approval.

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

Proxy settings. The default configuration is already optimized — change it only if you know what you are doing.

## Actor input object example

```json
{
  "search": [
    "Rome, Italy"
  ],
  "maxListings": 100,
  "includeDetails": true,
  "adults": 1,
  "children": 0,
  "infants": 0,
  "pets": 0,
  "currency": "USD",
  "language": "en",
  "instantBookOnly": false,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# 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 = {
    "search": [
        "Rome, Italy"
    ],
    "maxListings": 100,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("lofomachines/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 = {
    "search": ["Rome, Italy"],
    "maxListings": 100,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("lofomachines/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 '{
  "search": [
    "Rome, Italy"
  ],
  "maxListings": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call lofomachines/airbnb-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/pcAJqAtzxReoMvBr2/builds/sNxY7UggNipZSHDbc/openapi.json
