# Airbnb Listings Scraper - Stays, Prices & Ratings (`lentic_clockss/airbnb-listings-scraper`) Actor

Scrape Airbnb vacation rentals by city across global markets. Extract stay prices, ratings, review counts, images, and listing URLs. Filter by room type, category tags, and property type for Excel, CSV, or JSON.

- **URL**: https://apify.com/lentic\_clockss/airbnb-listings-scraper.md
- **Developed by:** [kane liu](https://apify.com/lentic_clockss) (community)
- **Categories:** Travel, Real estate, Lead generation
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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.

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

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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

## Airbnb Listings Scraper — Stays, Prices & Ratings

**Scrape Airbnb vacation rentals by destination across global storefronts — prices, ratings, images, and listing URLs. No login, no Airbnb API key.**

- Search any city or destination on **90+ Airbnb market domains** (`www.airbnb.com`, `www.airbnb.jp`, `www.airbnb.co.uk`, …)
- Filter **Stays** by room type, category rail tags (Amazing views, Cabins, …), and property type
- Export **name, nightly/total price, currency, rating, review count, image, and URL** to JSON, CSV, or Excel
- Paste a filtered browser URL into `startUrls` when you need UI-only filters
- Pay per event: **$0.005 per run start + $2.00 per 1,000 results** (plus Apify platform usage)

Airbnb does not offer a public listings API for third-party apps. This Actor opens the same public Airbnb search pages people browse and returns structured rows you can schedule, webhook, or pipe into Sheets, Make, n8n, Zapier, and AI agents.

---

### What does the Airbnb Listings Scraper do?

This Actor is an **Airbnb scraper** for **Stays search results**. Enter a destination (or paste search URLs), optionally pick a market/currency and filters, and get a clean dataset of vacation rental cards — ready for pricing research, competitive monitoring, or travel content workflows.

It is useful when you need:

- Nightly and stay-total price snapshots for a city or neighborhood
- Rating and review-count signals across competing listings
- Multi-country storefront coverage (Japan, UK, Singapore, EU, …) with matching currency
- Category-rail scans (Amazing views, Beachfront, Cabins, …) without hand-copying pages
- An Airbnb API alternative for Excel / CSV / JSON pipelines

---

### Who is it for?

**Short-term rental hosts and property managers**
- Benchmark nightly rates against nearby stays
- Watch new inventory and rating trends in your market

**Real estate and market analysts**
- Compare supply and pricing across cities and Airbnb domains
- Schedule recurring scrapes for time-series pricing

**Travel product and content teams**
- Build destination pages and rental guides from structured stay data
- Feed listings into CMS, BI, or affiliate workflows

**Developers and data scientists**
- Automate Airbnb search extraction via Apify API, webhooks, or integrations
- Combine with your own enrichment for dashboards and ML features

---

### What data can you extract from Airbnb?

Each dataset item is one stay from Airbnb **search results** (card-level fields):

| Data point | Description |
| --- | --- |
| Listing name & URL | Stay title and canonical `/rooms/…` link |
| Price | Parsed nightly (or primary displayed) amount |
| Total price | Parsed stay total when Airbnb shows it |
| Currency | ISO code from the card or your configured `currency` |
| Rating & reviews | Guest score and review count when shown |
| Property type | Card subtitle (e.g. entire loft, private room) |
| Location | Location line from the card when present |
| Image | Primary card image URL |
| Market / domain | Storefront used for the search |
| Filters applied | `categoryTag`, `roomTypesApplied`, `propertyTypeIdsApplied` |

> This Actor scrapes **search results**. It prefers Airbnb's embedded SSR (`#data-deferred-state-0`) and falls back to DOM cards when needed. It does not open full listing detail pages (amenities lists, host bios, calendars).

<details>
<summary>Example output row</summary>

```json
{
  "platform": "airbnb",
  "market": "JP",
  "domain": "www.airbnb.jp",
  "categoryTag": "Tag:8536",
  "roomTypesApplied": ["Entire home/apt"],
  "propertyTypeIdsApplied": [4],
  "name": "Modern loft near Dotonbori",
  "url": "https://www.airbnb.jp/rooms/12345678",
  "price": 18000,
  "totalPrice": 42000,
  "currency": "JPY",
  "rating": 4.92,
  "reviewCount": 128,
  "propertyType": "Entire loft in Osaka",
  "location": "Osaka",
  "imageUrl": "https://a0.muscache.com/im/pictures/…",
  "scrapedAt": "2026-07-21T10:00:00Z"
}
````

</details>

***

### More Actors like this

Need a similar travel or listings Actor? Start with these peers, then browse curated picks by category:

| Actor | Best for |
|---|---|
| [Booking.com & Airbnb Scraper](https://apify.com/lentic_clockss/booking-airbnb-scraper) | Booking.com + Airbnb stays, prices, and listing URLs |
| [Booking.com Hotel Scraper](https://apify.com/lentic_clockss/booking-com-scraper) | Hotels, prices, ratings, and availability on Booking.com |
| [Agoda Hotel Scraper](https://apify.com/lentic_clockss/agoda-scraper) | Agoda hotels with prices, ratings, and listing URLs |
| [Trip.com Hotel Scraper](https://apify.com/lentic_clockss/trip-com-scraper) | Trip.com hotels, prices, and listing details |
| [Expedia Hotel Scraper](https://apify.com/lentic_clockss/expedia-scraper) | Expedia hotels and stay search data |

**Browse by category**

- Travel: [Agoda Hotel Scraper](https://apify.com/lentic_clockss/agoda-scraper) · [Trip.com Hotel Scraper](https://apify.com/lentic_clockss/trip-com-scraper) · [Hotels.com Scraper](https://apify.com/lentic_clockss/hotels-com-scraper)
- Real estate: [Zillow Group Scraper](https://apify.com/lentic_clockss/zillow-group-scraper) · [Realtor.com Scraper](https://apify.com/lentic_clockss/realtor-com-scraper) · [Redfin Scraper](https://apify.com/lentic_clockss/redfin-scraper)
- E-commerce: [Amazon Product Scraper](https://apify.com/lentic_clockss/amazon-product-scraper) · [Walmart Product Scraper](https://apify.com/lentic_clockss/walmart-product-scraper) · [eBay Product Scraper](https://apify.com/lentic_clockss/ebay-product-scraper)
- Jobs: [Indeed Job Scraper](https://apify.com/lentic_clockss/indeed-job-scraper) · [LinkedIn Jobs Scraper](https://apify.com/lentic_clockss/linkedin-jobs-scraper) · [Glassdoor Jobs Scraper](https://apify.com/lentic_clockss/glassdoor-jobs-scraper)
- Universal: [Stealth Web Scraper](https://apify.com/lentic_clockss/stealth-web-scraper) · [Universal Web Scraper](https://apify.com/lentic_clockss/universal-web-scraper)

See the full catalog in [Related Actors](#related-actors) below.

### How to scrape Airbnb listings

1. Open this Actor in [Apify Console](https://console.apify.com/).
2. Enter a **destination** (for example `Osaka`, `London`, `Bali`) **or** paste Airbnb search URLs into `startUrls`.
3. Optionally set **market**, **currency**, dates, guests, room types, category tags, and property types.
4. Keep the first run small (`maxResults` 5–20) to validate fields and cost.
5. Click **Start**, then download JSON, CSV, or Excel.

<details>
<summary>JSON input example</summary>

```json
{
  "destination": "Osaka",
  "market": "JP",
  "currency": "JPY",
  "adults": 2,
  "maxResults": 20,
  "roomTypes": ["Entire home/apt"],
  "categoryTags": ["Amazing views"],
  "propertyTypeIds": ["Cabin"]
}
```

</details>

***

### Markets and storefronts

Pick a `market` code (or override `domain` / `locale` / `currency`). The Actor builds:

`https://{host}/s/{destination}/homes?…&display_currency={currency}`

When Apify Proxy is enabled and no proxy country is set, `apifyProxyCountry` defaults to the market country.

Examples: `US`, `GB`, `JP`, `SG`, `DE`, `FR`, `AU`, `BR`, `CA`, `CA_FR`, …

Language-specific hosts use dedicated codes (e.g. `CA_FR` → `fr.airbnb.ca`) so the input enum maps 1:1 to a domain.

***

### Stays filters

| Input | Airbnb param | Notes |
| --- | --- | --- |
| `roomTypes` | `room_types[]` | Entire home/apt, Private room, Shared room, Hotel room (OR) |
| `categoryTags` | `category_tag` | Category rail (`Amazing views` → `Tag:8536`, …). Each tag runs a separate search; results merge and dedupe by listing URL |
| `propertyTypeIds` | `property_type_id[]` | Cabin, House, Villa, … (labels or numeric IDs) |
| `startUrls` | — | Full search URLs from the Airbnb UI (best escape hatch for rare filters) |
| `placeId` | `place_id` | Optional Airbnb place id when you already have one |

Multiple `roomTypes` / `propertyTypeIds` go on the **same** URL. Multiple `categoryTags` run **sequentially** and share one global `maxResults` cap.

***

### Input

| Field | Type | Default | Description |
| --- | --- | --- | --- |
| `destination` | string | — | City or place to search (required unless `startUrls` is set) |
| `market` | string | `US` | Airbnb storefront / market code |
| `domain` | string | — | Optional host override (e.g. `www.airbnb.co.uk`) |
| `locale` | string | market default | Playwright / UI locale override |
| `currency` | string | market default | `display_currency` (USD, EUR, JPY, …) |
| `placeId` | string | — | Optional Airbnb place id |
| `checkin` / `checkout` | string | — | `YYYY-MM-DD` trip dates for priced availability |
| `adults` | integer | `2` | Guest count |
| `roomTypes` | string\[] | `[]` | Room type filters |
| `categoryTags` | string\[] | `[]` | Category labels or `Tag:id` values |
| `propertyTypeIds` | (string|integer)\[] | `[]` | Property type labels or IDs |
| `startUrls` | string\[] / `{url}`\[] | `[]` | Ready-made Airbnb search URLs |
| `maxResults` | integer | `50` | Max listings to save (1–500) |
| `proxy` | object | off | Optional Apify Proxy configuration |

Key-value store artifacts:

- `INPUT_ECHO` — normalized public input
- `RUN_SUMMARY` — query counts, scraped/pushed totals, billing stop flag
- `ERROR_SUMMARY` — written on invalid input or scrape failure

***

### Pricing

Pay per event. **Users also pay Apify platform usage** (compute, and any Apify Proxy you enable).

| Event | Price |
| --- | --- |
| Actor start (`apify-actor-start`) | **$0.005** per GB of run memory (minimum one event) |
| Result (`apify-default-dataset-item`) | **$2.00 / 1,000** listings |

Examples (Actor events only; platform usage extra):

- 20 listings ≈ `$0.005 + (20 × $0.002)` = **$0.045**
- 1,000 listings ≈ `$0.005 + $2.00` = **$2.005**

For smoke tests, leave **proxy off** to keep platform usage near compute-only. Enable **RESIDENTIAL** proxy for multi-page, multi-category, or blocked paths.

Set a **Maximum charge per run** in Console if you want a hard PPE budget ceiling — the Actor stops pushing when the remaining dataset-item budget is exhausted.

***

### Tips for better Airbnb stay data

- Start with `maxResults` 5–20 before city-wide runs.
- Leave dates empty for flexible search; set both check-in and check-out for trip-specific pricing.
- Prefer one `categoryTag` first; multiple tags multiply search rounds.
- If a category or property-type ID drifts, copy the filtered UI URL into `startUrls`.
- Use residential proxy for production volume; skip proxy for cheap local/cloud smoke tests when the datacenter path works.
- Schedule weekly runs on the same destination to build a pricing time series.

***

### FAQ

#### Can I scrape Airbnb without an API key or login?

Yes. The Actor uses public Airbnb search pages. You do not need an Airbnb developer key or account.

#### Does this scrape Experiences or Services?

No. Scope is **Stays** (`/homes`) only — room types, category rail, and property types.

#### Why did I get fewer listings than `maxResults`?

Airbnb availability, dates, filters, captchas, or empty markets can shrink the result set. Broaden the destination, clear dates/filters, or retry with residential proxy.

#### How do I get prices in JPY / EUR / GBP?

Set `market` (and/or `currency`) so the search uses `display_currency`. Card currency can still vary by locale; the Actor falls back to your configured currency when parsing.

#### Can I use my own Airbnb search URL?

Yes. Put one or more URLs in `startUrls`. Pagination still respects `maxResults` via `items_offset` when applicable.

***

### Standby / Live View

- `GET /` — service metadata
- `GET /health` — health check
- `GET /input-example` — sample input
- `GET /openapi.json` — OpenAPI document

Standby is for live-view metadata. Use normal Actor runs for scraping.

***

### Disclaimer

This Actor is not affiliated with Airbnb. Use it only on publicly available pages, respect Airbnb’s terms and applicable law, and keep request volume reasonable. You are responsible for how you use the data.

### Related Actors

All **77** public Actors from \[[lentic\_clockss](https://apify.com/lentic_clockss)]. Click a name to open the Store detail page.

#### Jobs & Freelance

- [LinkedIn Jobs Scraper](https://apify.com/lentic_clockss/linkedin-jobs-scraper)
- [Bayt Jobs Scraper](https://apify.com/lentic_clockss/bayt-scraper)
- [Fiverr Gigs Scraper](https://apify.com/lentic_clockss/fiverr-programming-tech-gigs-scraper)
- [Freelancer.com Scraper](https://apify.com/lentic_clockss/freelancer-scraper)
- [Glassdoor Scraper](https://apify.com/lentic_clockss/glassdoor-scraper)
- [Himalayas Jobs Scraper](https://apify.com/lentic_clockss/himalayas-jobs-scraper)
- [Indeed Jobs Scraper](https://apify.com/lentic_clockss/indeed-jobs-scraper)
- [Jobicy Remote Jobs Scraper](https://apify.com/lentic_clockss/jobicy-remote-jobs-scraper)
- [RemoteOK Jobs Scraper](https://apify.com/lentic_clockss/remoteok-all-jobs-scraper)
- [SEEK Jobs Scraper](https://apify.com/lentic_clockss/seek-scraper)
- [Upwork Jobs Scraper](https://apify.com/lentic_clockss/upwork-jobs-scraper)

#### Real Estate

- [Zillow & Zumper Scraper](https://apify.com/lentic_clockss/us-real-estate-scraper)
- [Realtor.com Scraper](https://apify.com/lentic_clockss/realtor-com-scraper)
- [99.co Scraper](https://apify.com/lentic_clockss/ninetynine-co-sg-scraper)
- [Realtor.com Agents Scraper](https://apify.com/lentic_clockss/realtor-com-agents-scraper)
- [Apartments.com Rental Scraper](https://apify.com/lentic_clockss/apartments-com-rental-scraper)
- [Bayut Scraper](https://apify.com/lentic_clockss/bayut-uae-scraper)
- [Craigslist Housing Scraper](https://apify.com/lentic_clockss/craigslist-housing-scraper)
- [Daft.ie Scraper](https://apify.com/lentic_clockss/daft-property-scraper)
- [Dot Property Scraper](https://apify.com/lentic_clockss/dot-property-th-scraper)
- [FINN.no Scraper](https://apify.com/lentic_clockss/finn-scraper)
- [Funda Scraper](https://apify.com/lentic_clockss/funda-scraper)
- [Hepsiemlak Scraper](https://apify.com/lentic_clockss/hepsiemlak-scraper)
- [Idealista Scraper](https://apify.com/lentic_clockss/idealista-scraper)
- [Immobiliare.it Scraper](https://apify.com/lentic_clockss/immobiliare-property-scraper)
- [ImmoScout24 Scraper](https://apify.com/lentic_clockss/immobilienscout24-scraper)
- [Naver Land Scraper](https://apify.com/lentic_clockss/naver-land-scraper)
- [OpenSooq Scraper](https://apify.com/lentic_clockss/opensooq-real-estate-scraper)
- [Otodom Scraper](https://apify.com/lentic_clockss/otodom-scraper)
- [Property Finder Scraper](https://apify.com/lentic_clockss/property-finder-uae-scraper)
- [PropertyGuru Scraper](https://apify.com/lentic_clockss/propertyguru-sg-scraper)
- [realestate.com.au Scraper](https://apify.com/lentic_clockss/realestate-com-au-scraper)
- [Realtor.ca Scraper](https://apify.com/lentic_clockss/realtor-ca-scraper)
- [Rightmove Scraper](https://apify.com/lentic_clockss/rightmove-property-scraper)
- [SeLoger Scraper](https://apify.com/lentic_clockss/seloger-property-scraper)
- [SUUMO Scraper](https://apify.com/lentic_clockss/suumo-property-scraper)
- [Zillow Group Scraper](https://apify.com/lentic_clockss/zillow-group-scraper)

#### E-commerce

- [Shopee Search Scraper](https://apify.com/lentic_clockss/shopee-search-scraper)
- [E-commerce Scraper](https://apify.com/lentic_clockss/ecommerce-scraper)
- [1688 Global Product Search Scraper](https://apify.com/lentic_clockss/1688-global-scraper)
- [Allegro Scraper](https://apify.com/lentic_clockss/allegro-scraper)
- [Amazon Search Scraper](https://apify.com/lentic_clockss/amazon-search-results-collector)
- [ASOS Product Scraper](https://apify.com/lentic_clockss/asos-scraper)
- [Cdiscount Product Scraper](https://apify.com/lentic_clockss/cdiscount-scraper)
- [Costco Product Scraper](https://apify.com/lentic_clockss/costco-scraper)
- [Coupang Product Scraper](https://apify.com/lentic_clockss/coupang-scraper)
- [Etsy Scraper](https://apify.com/lentic_clockss/etsy-scraper)
- [Lazada Scraper](https://apify.com/lentic_clockss/lazada-ph-search-results-collector)
- [MercadoLibre Scraper](https://apify.com/lentic_clockss/mercadolibre-scraper)
- [Mercari Japan Scraper](https://apify.com/lentic_clockss/mercari-scraper)
- [Rakuten Japan Scraper](https://apify.com/lentic_clockss/rakuten-scraper)
- [SHEIN Product Scraper](https://apify.com/lentic_clockss/shein-scraper)
- [Target Product Scraper](https://apify.com/lentic_clockss/target-scraper)
- [Temu Product Scraper](https://apify.com/lentic_clockss/temu-scraper)
- [Walmart Product Scraper](https://apify.com/lentic_clockss/walmart-scraper)

#### Travel & Stays

- [Booking.com & Airbnb Scraper](https://apify.com/lentic_clockss/booking-airbnb-scraper)
- [Agoda Scraper](https://apify.com/lentic_clockss/agoda-scraper)
- [Airbnb Listings Scraper](https://apify.com/lentic_clockss/airbnb-listings-scraper)
- [Booking.com Hotels Scraper](https://apify.com/lentic_clockss/booking-hotels-scraper)
- [Despegar Scraper](https://apify.com/lentic_clockss/despegar-scraper)
- [Expedia Scraper](https://apify.com/lentic_clockss/expedia-scraper)
- [Traveloka Scraper](https://apify.com/lentic_clockss/traveloka-scraper)
- [Travelstart Flights Scraper](https://apify.com/lentic_clockss/travelstart-scraper)
- [Trip.com Scraper](https://apify.com/lentic_clockss/trip-com-scraper)
- [TripAdvisor Scraper](https://apify.com/lentic_clockss/tripadvisor-scraper)

#### Social & Content

- [TikTok Scraper](https://apify.com/lentic_clockss/tiktok-scraper)
- [Reddit Scraper](https://apify.com/lentic_clockss/reddit-scraper)
- [YouTube Shorts Scraper](https://apify.com/lentic_clockss/youtube-shorts-scraper)
- [YouTube Research Scraper](https://apify.com/lentic_clockss/youtube-research-scraper)
- [Hacker News Scraper](https://apify.com/lentic_clockss/hacker-news-scraper)

#### Ads Intelligence

- [Facebook Ad Library Scraper](https://apify.com/lentic_clockss/facebook-ad-library-scraper)
- [Google Ads Transparency VN](https://apify.com/lentic_clockss/google-ads-transparency-center-vn)
- [TikTok Ads Scraper](https://apify.com/lentic_clockss/tiktok-ads-top-ads-actor)

#### Local & Maps

- [Google Maps Scraper](https://apify.com/lentic_clockss/google-maps-scraper)

#### General Tools

- [Stealth Web Scraper](https://apify.com/lentic_clockss/stealth-web-scraper)
- [Email Risk Validator](https://apify.com/lentic_clockss/email-risk-validator)
- [Phone Number Intelligence](https://apify.com/lentic_clockss/phone-number-intelligence)

→ Browse the full profile: [apify.com/lentic\_clockss](https://apify.com/lentic_clockss)

# Actor input Schema

## `destination` (type: `string`):

City, region, or country to search (e.g. 'Osaka', 'Paris', 'Bali'). Required when startUrls is empty.

## `market` (type: `string`):

Airbnb country/language storefront. Controls host domain, default locale, currency, and proxy country.

## `domain` (type: `string`):

Optional host override (e.g. www.airbnb.jp). Leave empty to use the market default.

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

Optional Playwright/browser locale override (e.g. ja-JP). Leave empty to use the market default.

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

ISO currency for display\_currency on search URLs and price parsing fallback (e.g. USD, JPY, EUR). Leave empty to use the market default.

## `placeId` (type: `string`):

Optional place\_id to stabilize geography (e.g. ChIJ...).

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

Check-in date in YYYY-MM-DD format. Leave empty for flexible search.

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

Check-out date in YYYY-MM-DD format. Leave empty for flexible search.

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

Number of adult guests.

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

Type of place filters (OR). Leave empty for all.

## `categoryTags` (type: `array`):

Airbnb stays category rail filters. Each tag runs a separate search; results are merged and deduped under maxResults. Labels map to Tag:NNNN; raw Tag:NNNN also accepted.

## `propertyTypeIds` (type: `array`):

Property type filters (property\_type\_id\[]). Choose labels and/or numeric IDs.

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

Optional full Airbnb search URLs. When set, destination builder is skipped (pagination still applied).

## `maxResults` (type: `integer`):

Maximum number of Airbnb listings to collect across all category/startUrl queries. Default 50.

## `proxy` (type: `object`):

Proxy configuration. Residential proxies are recommended. If Apify Proxy is enabled without a country, the Actor sets apifyProxyCountry from the selected market.

## Actor input object example

```json
{
  "destination": "Singapore",
  "market": "US",
  "domain": "",
  "locale": "",
  "currency": "",
  "placeId": "",
  "checkin": "2026-08-01",
  "checkout": "2026-08-03",
  "adults": 2,
  "roomTypes": [],
  "categoryTags": [],
  "propertyTypeIds": [],
  "startUrls": [],
  "maxResults": 50
}
```

# Actor output Schema

## `listings` (type: `string`):

Dataset containing all scraped Airbnb listing records.

## `runSummary` (type: `string`):

Key-value store record with run counters, selected input, proxy state, and completion timestamp.

## `inputEcho` (type: `string`):

Key-value store record containing the sanitized input used by this run.

## `errorSummary` (type: `string`):

Key-value store record containing controlled error details when the Actor cannot complete the requested scrape.

# 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 = {
    "destination": "Singapore",
    "market": "US"
};

// Run the Actor and wait for it to finish
const run = await client.actor("lentic_clockss/airbnb-listings-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 = {
    "destination": "Singapore",
    "market": "US",
}

# Run the Actor and wait for it to finish
run = client.actor("lentic_clockss/airbnb-listings-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 '{
  "destination": "Singapore",
  "market": "US"
}' |
apify call lentic_clockss/airbnb-listings-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Airbnb Listings Scraper - Stays, Prices & Ratings",
        "description": "Scrape Airbnb vacation rentals by city across global markets. Extract stay prices, ratings, review counts, images, and listing URLs. Filter by room type, category tags, and property type for Excel, CSV, or JSON.",
        "version": "0.4",
        "x-build-id": "HzQma72ckfam2suAx"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/lentic_clockss~airbnb-listings-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-lentic_clockss-airbnb-listings-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/lentic_clockss~airbnb-listings-scraper/runs": {
            "post": {
                "operationId": "runs-sync-lentic_clockss-airbnb-listings-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/lentic_clockss~airbnb-listings-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-lentic_clockss-airbnb-listings-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": {
                    "destination": {
                        "title": "Destination",
                        "type": "string",
                        "description": "City, region, or country to search (e.g. 'Osaka', 'Paris', 'Bali'). Required when startUrls is empty.",
                        "default": "Singapore"
                    },
                    "market": {
                        "title": "Market / storefront",
                        "enum": [
                            "AE",
                            "AL",
                            "AM",
                            "AR",
                            "AR_AR",
                            "AT",
                            "AU",
                            "AZ",
                            "BA",
                            "BE",
                            "BE_FR",
                            "BG",
                            "BO",
                            "BR",
                            "BZ",
                            "CA",
                            "CA_FR",
                            "CH",
                            "CH_FR",
                            "CH_IT",
                            "CL",
                            "CN",
                            "CO",
                            "CR",
                            "CZ",
                            "DE",
                            "DK",
                            "EC",
                            "EE",
                            "ES",
                            "ES_CAT",
                            "FI",
                            "FR",
                            "GB",
                            "GE",
                            "GR",
                            "GT",
                            "GY",
                            "HK",
                            "HN",
                            "HR",
                            "HU",
                            "ID",
                            "IE",
                            "IE_GA",
                            "IL",
                            "IN",
                            "IN_HI",
                            "IN_KN",
                            "IN_MR",
                            "IS",
                            "IT",
                            "JP",
                            "KR",
                            "LT",
                            "LU",
                            "LU_DE",
                            "LV",
                            "ME",
                            "MK",
                            "MT",
                            "MX",
                            "MY",
                            "NI",
                            "NL",
                            "NO",
                            "NZ",
                            "PA",
                            "PE",
                            "PH",
                            "PL",
                            "PT",
                            "PY",
                            "RO",
                            "RS",
                            "RU",
                            "SE",
                            "SG",
                            "SI",
                            "SK",
                            "SV",
                            "SW",
                            "TH",
                            "TR",
                            "TW",
                            "UA",
                            "US",
                            "US_ES",
                            "US_ZH",
                            "US_ZH_T",
                            "VE",
                            "VN",
                            "ZA_XH",
                            "ZA_ZU"
                        ],
                        "type": "string",
                        "description": "Airbnb country/language storefront. Controls host domain, default locale, currency, and proxy country.",
                        "default": "US"
                    },
                    "domain": {
                        "title": "Domain override",
                        "type": "string",
                        "description": "Optional host override (e.g. www.airbnb.jp). Leave empty to use the market default.",
                        "default": ""
                    },
                    "locale": {
                        "title": "Locale override",
                        "type": "string",
                        "description": "Optional Playwright/browser locale override (e.g. ja-JP). Leave empty to use the market default.",
                        "default": ""
                    },
                    "currency": {
                        "title": "Currency",
                        "type": "string",
                        "description": "ISO currency for display_currency on search URLs and price parsing fallback (e.g. USD, JPY, EUR). Leave empty to use the market default.",
                        "default": ""
                    },
                    "placeId": {
                        "title": "Google Place ID",
                        "type": "string",
                        "description": "Optional place_id to stabilize geography (e.g. ChIJ...).",
                        "default": ""
                    },
                    "checkin": {
                        "title": "Check-in Date",
                        "type": "string",
                        "description": "Check-in date in YYYY-MM-DD format. Leave empty for flexible search.",
                        "default": ""
                    },
                    "checkout": {
                        "title": "Check-out Date",
                        "type": "string",
                        "description": "Check-out date in YYYY-MM-DD format. Leave empty for flexible search.",
                        "default": ""
                    },
                    "adults": {
                        "title": "Number of Adults",
                        "minimum": 1,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Number of adult guests.",
                        "default": 2
                    },
                    "roomTypes": {
                        "title": "Room types",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Type of place filters (OR). Leave empty for all.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "Entire home/apt",
                                "Private room",
                                "Shared room",
                                "Hotel room"
                            ]
                        },
                        "default": []
                    },
                    "categoryTags": {
                        "title": "Category tags",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Airbnb stays category rail filters. Each tag runs a separate search; results are merged and deduped under maxResults. Labels map to Tag:NNNN; raw Tag:NNNN also accepted.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "A-frames",
                                "Amazing pools",
                                "Amazing views",
                                "Arctic",
                                "Barns",
                                "Beach",
                                "Beachfront",
                                "Bed and breakfasts",
                                "Boats",
                                "Cabins",
                                "Campers",
                                "Camping",
                                "Casas particulares",
                                "Castles",
                                "Caves",
                                "Chef's kitchens",
                                "Containers",
                                "Countryside",
                                "Creative spaces",
                                "Cycladic homes",
                                "Dammusi",
                                "Desert",
                                "Design",
                                "Domes",
                                "Earth homes",
                                "Farms",
                                "Golfing",
                                "Grand pianos",
                                "Hanoks",
                                "Historical homes",
                                "Houseboats",
                                "Iconic cities",
                                "Icons",
                                "Islands",
                                "Kezhans",
                                "Lake",
                                "Lakefront",
                                "Luxe",
                                "Mansions",
                                "Minsus",
                                "National parks",
                                "Off-the-grid",
                                "OMG!",
                                "Play",
                                "Riads",
                                "Ryokans",
                                "Shared homes",
                                "Shepherd's huts",
                                "Ski-in/out",
                                "Skiing",
                                "Surfing",
                                "Tiny homes",
                                "Top of the world",
                                "Towers",
                                "Treehouses",
                                "Tropical",
                                "Trulli",
                                "Vineyards",
                                "Windmills",
                                "Yurts"
                            ]
                        },
                        "default": []
                    },
                    "propertyTypeIds": {
                        "title": "Property types",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Property type filters (property_type_id[]). Choose labels and/or numeric IDs.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "Apartment",
                                "Barn",
                                "Bed and breakfast",
                                "Boat",
                                "Boutique hotel",
                                "Bungalow",
                                "Bus",
                                "Cabin",
                                "Camper/RV",
                                "Casa particular",
                                "Casa rural",
                                "Castle",
                                "Cave",
                                "Chalet",
                                "Condo",
                                "Cottage",
                                "Cycladic house",
                                "Dammusi",
                                "Dome",
                                "Earth house",
                                "Farm stay",
                                "Floor",
                                "Guest suite",
                                "Guesthouse",
                                "Holiday park",
                                "Hostel",
                                "Hotel",
                                "House",
                                "Hut",
                                "Island",
                                "Lighthouse",
                                "Loft",
                                "Minsu",
                                "Resort",
                                "Riad",
                                "Ryokan",
                                "Serviced apartment",
                                "Shipping container",
                                "Tent",
                                "Tiny home",
                                "Tipi",
                                "Tower",
                                "Townhouse",
                                "Train",
                                "Treehouse",
                                "Villa",
                                "Windmill",
                                "Yurt",
                                "1",
                                "2",
                                "3",
                                "4",
                                "5",
                                "6",
                                "8",
                                "9",
                                "12",
                                "14",
                                "15",
                                "16",
                                "17",
                                "18",
                                "19",
                                "21",
                                "22",
                                "23",
                                "26",
                                "28",
                                "32",
                                "33",
                                "34",
                                "35",
                                "36",
                                "37",
                                "38",
                                "40",
                                "43",
                                "44",
                                "45",
                                "46",
                                "47",
                                "48",
                                "51",
                                "52",
                                "53",
                                "54",
                                "56",
                                "57",
                                "58",
                                "59",
                                "60",
                                "61",
                                "62",
                                "63",
                                "64",
                                "65"
                            ]
                        },
                        "default": []
                    },
                    "startUrls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "Optional full Airbnb search URLs. When set, destination builder is skipped (pagination still applied).",
                        "default": [],
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "maxResults": {
                        "title": "Max Results",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Maximum number of Airbnb listings to collect across all category/startUrl queries. Default 50.",
                        "default": 50
                    },
                    "proxy": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Proxy configuration. Residential proxies are recommended. If Apify Proxy is enabled without a country, the Actor sets apifyProxyCountry from the selected market."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
