# airbnb-reviews-scraper (`your-scraper/airbnb-reviews-scraper`) Actor

Extract detailed Airbnb room reviews with comprehensive data — ratings, comments, reviewer profiles, host information, and review photos.

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

## Pricing

from $0.50 / 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.

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 Room Reviews Scraper

Extract detailed Airbnb room reviews with comprehensive data — ratings, comments, reviewer profiles, host information, and review photos. Perfect for market research, sentiment analysis, and understanding guest experiences.

### ✨ Features

- **Full review extraction** — rating, comment text, review date, and photos for each review
- **Reviewer profiles** — name, profile link, profile photo, and Airbnb tenure
- **Host information** — host name, profile link, and the host's own reply to each review, when one exists
- **Pagination support** — automatically pages through a room's entire review history until the requested number of items is collected
- **Apify Proxy** — enabled by default to keep runs reliable at scale

### 🔧 Input Configuration

| Field              | Type    | Required | Default                     | Description                                  |
| ------------------ | ------- | -------- | --------------------------- | -------------------------------------------- |
| startUrls          | Array   | ✅       | one sample room URL         | Airbnb room URLs to scrape reviews for       |
| maxItems           | Integer | —        | 5                           | Maximum number of reviews to scrape per room |
| proxyConfiguration | Object  | ✅       | `{ "useApifyProxy": true }` | Apify Proxy settings for the run             |

**Supported URL types:**

- Airbnb room URLs, e.g. `https://www.airbnb.com/rooms/12171671` — any query params (dates, guests, etc.) are ignored, only the room ID matters

### 📦 Output

The dataset includes one "Overview" table view showing each review's rating, comment, date, reviewer, and host response.

**Sample output:**

```json
{
    "id": "1741315821219860411",
    "rating": 5,
    "comment": "I had a wonderful stay! The place was exactly as described—clean, comfortable, and in a great location...",
    "language": "en",
    "createdAt": "2026-07-30T13:23:41Z",
    "localizedDate": "4 days ago",
    "stayHighlight": "Stayed a few nights",
    "reviewerTenure": "5 years on Airbnb",
    "photoUrls": [],
    "reviewer": {
        "id": "393510323",
        "name": "Alicia",
        "profileUrl": "https://www.airbnb.com/users/profile/1479040538306620982",
        "pictureUrl": "https://a0.muscache.com/im/pictures/user/User/original/6814a04a-3df6-484d-a778-23584a7d3c4f.jpeg",
        "isSuperhost": false
    },
    "host": {
        "id": "16677326",
        "name": "Alex & Zinaida",
        "profileUrl": "https://www.airbnb.com/users/profile/1462598813783821932",
        "pictureUrl": "https://a0.muscache.com/im/pictures/user/User/original/f78d832c-4223-4b41-8c73-1d1d25ee6bd9.jpeg",
        "isSuperhost": false
    },
    "hostResponse": "Thanks for staying with us Alicia. We're really happy you enjoyed your time here in NYC with us...",
    "hostResponseDate": "3 days ago"
}
```

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

### 💡 Uses of This Data

- Sentiment analysis on guest feedback for a listing or portfolio of listings
- Market research on guest experience and satisfaction across a neighborhood or property type
- Competitive analysis of how hosts respond to reviews
- Feeding review data into a reputation-monitoring or hospitality analytics tool
- Tracking review volume and rating trends for a listing over time

### 🚀 How to Use

1. [Sign up](https://apify.com/sign-up) for a free Apify account — includes **$5 monthly credit**.
2. Open the actor page and click **Try for free**.
3. Fill in the **Input** fields (an Airbnb room URL is required).
4. Click **Start** and wait for the run to complete.
5. Download results from the **Output** tab in JSON, CSV, or Excel format.

You can also run this actor via the [Apify API](https://docs.apify.com/api/v2) or integrate it directly into your workflows using [Zapier](https://zapier.com/apps/apify), [Make](https://www.make.com/), or [n8n](https://n8n.io/).

### 💰 Pricing

This Actor uses pay-per-result pricing: the first 5 reviews scraped each month are free, and usage beyond that is billed at **$0.99 per 1,000 reviews**. See the **Pricing** tab for current rates. Use **Max items** to scope smaller, cheaper runs.

### ⚠️ Limitations & Known Issues

- **Rate limiting** — Heavy usage may still trigger rate limits even with Apify Proxy enabled.
- **Review availability** — Only reviews Airbnb's own room page exposes are returned; a room with no reviews yet will return an empty dataset.

### 📝 Notes

- **Apify Proxy is enabled by default** to keep runs reliable at scale and avoid IP-based rate limiting.
- **API integration** — This actor can be called as an API from any automation platform (Zapier, Make, n8n, custom scripts).

### FAQ, disclaimers, and support

This Actor only collects publicly visible Airbnb review data. It is not affiliated with or endorsed by Airbnb. Respect Airbnb's Terms of Service when using the scraped data. Found a bug or have a feature request? Use the Issues tab on this Actor's page.

# Actor input Schema

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

Airbnb room URLs to scrape reviews for, e.g. https://www.airbnb.com/rooms/12171671.

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

Stop the run once this many reviews have been scraped across all start URLs. The first 5 reviews per month are free; scraping more is billed at $0.99 per 1,000 reviews.

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

Apify Proxy settings. Enabled by default to keep runs reliable at scale and avoid rate limiting.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.airbnb.com/rooms/12171671"
    }
  ],
  "maxItems": 5,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `results` (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 = {
    "startUrls": [
        {
            "url": "https://www.airbnb.com/rooms/12171671"
        }
    ]
};

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

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

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

```

## Python example

```python
from apify_client import ApifyClient

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

# Prepare the Actor input
run_input = { "startUrls": [{ "url": "https://www.airbnb.com/rooms/12171671" }] }

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

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

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

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://www.airbnb.com/rooms/12171671"
    }
  ]
}' |
apify call your-scraper/airbnb-reviews-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/0fUQAbc7YPY9sxWer/builds/3728TtdvwCHnDROFb/openapi.json
