---
title: "Airbnb MCP Server for Claude, Cursor, ChatGPT | Scrape.ly"
description: "An Airbnb MCP setup for Claude, Cursor and ChatGPT: search listings, price them for your dates and read guest reviews. Real runs, tool calls and costs."
url: https://scrape.ly/blog/airbnb-mcp
markdown: https://scrape.ly/blog/airbnb-mcp.md
---

[AI agents](https://scrape.ly/blog/category/ai-agents.md)

# Airbnb MCP: Listings, Prices and Guest Reviews for Your AI Agent

An Airbnb MCP server lets Claude, Cursor or ChatGPT search stays, price them for your dates and read what guests wrote. Connect Scrape.ly's hosted server in a minute, nothing to install, and see the tool calls, real Lisbon results and what each run cost.

[Scrape.ly Team The team behind Scrape.ly](https://scrape.ly/blog/author/scrapely-team.md)

- Published

  Oct 26, 2026

- Reading time

  9 min read

![Pixel-art robot with an orange >\_ on its terminal head carries a cable from a phone showing the pink Airbnb logo above two stay listings, each with a red heart, into a server rack labelled MCP](https://scrape.ly/media/airbnb-mcp.png?w=1080)

An Airbnb MCP server is a Model Context Protocol server that gives an AI agent such as Claude, Cursor or ChatGPT tools for Airbnb data: searching stays in a city, pricing them for specific dates, reading a listing's details and pulling its guest reviews. The most complete Airbnb MCP setup is Scrape.ly's hosted server, because the agent gets two ready-made Airbnb scrapers, one for listings and one for reviews, that run in the cloud on public pages with nothing to install.

Below you'll find what the open-source Airbnb server on page one does, setup for each client, the tool calls an agent makes, and two real runs from 26 October 2026: five Lisbon apartments priced for a December weekend in 9.5 seconds, and the latest reviews of one of them in 5.3 seconds, for under three cents together. There's also a list of what to watch out for, so your agent doesn't promise a number Airbnb never sent.

## What the Airbnb MCP servers on page one do

The top Google result for "airbnb mcp" on 26 October 2026 is [openbnb-org/mcp-server-airbnb](https://github.com/openbnb-org/mcp-server-airbnb), and four more results (mcp.so, Docker Hub, Augment Code and explainx.ai) are pages about the same server. It's a local server: a bundle you install in Claude Desktop, or an `npx` command for Cursor, which needs Node.js 18 or newer and talks to your client over stdio. Its README documents two tools, `airbnb_search` and `airbnb_listing_details`. It respects robots.txt by default, with a toggle to ignore it, and sends each location string to the third-party geocoders Photon and Nominatim unless you pass a Google Maps place ID.

That covers search and details. What it doesn't list is a reviews tool, and reviews are where many agent questions start: what guests complain about, whether the host replies, how a place holds up after a renovation. The second result, from the property-management software Hospitable, is aimed at hosts working with their own listings.

|                  | Scrape.ly MCP server                                                   | openbnb-org/mcp-server-airbnb             |
| ---------------- | ---------------------------------------------------------------------- | ----------------------------------------- |
| Where it runs    | Hosted at `https://mcp.scrape.ly`, nothing to install                  | Your machine, Node.js 18+, stdio          |
| Setup            | One URL, sign in with OAuth                                            | A `.mcpb` bundle or an `npx` config entry |
| Tools for Airbnb | Listings search, listing URLs and guest reviews (two Actors)           | `airbnb_search`, `airbnb_listing_details` |
| Guest reviews    | Every review Airbnb shows, with sort order, date range and translation | Not among its documented tools            |
| Output           | Structured rows, paged, exportable as JSON, CSV or Excel               | Tool responses in the chat                |
| Repeat jobs      | Schedules and automations on the same Actors                           | Runs when your client calls it            |

## How to connect the Scrape.ly MCP server

The [Scrape.ly MCP server](https://scrape.ly/mcp.md) is a remote server on MCP's streamable HTTP transport. It signs you in with OAuth or takes a Scrape.ly API token. The free plan includes $5 of usage every month without a card, which is enough for about 1,900 listings.

**Claude Code.** Add it with one command, then run `/mcp` in a session and choose `scrapely` to approve access:

```shell
claude mcp add --transport http scrapely https://mcp.scrape.ly
```

**Claude Desktop.** Go to **Customize → Connectors**, add a custom connector with the URL `https://mcp.scrape.ly`, and complete the OAuth sign-in.

**Cursor.** Add the server to `~/.cursor/mcp.json`, or to `.cursor/mcp.json` inside one project:

```json
{
  "mcpServers": {
    "scrapely": {
      "url": "https://mcp.scrape.ly",
      "headers": { "Authorization": "Bearer YOUR_TOKEN" }
    }
  }
}
```

Without `headers`, Cursor asks you to sign in with OAuth. If you prefer a token, create one under **Settings → API & Integrations**.

**ChatGPT, VS Code, Windsurf and others.** Clients with remote MCP support use the same URL with OAuth or a Bearer header. The [MCP docs](https://scrape.ly/docs/mcp.md) include VS Code's `.vscode/mcp.json` and a local stdio server for clients that need one.

**An Airbnb-only tool list.** Name both Actors in the URL and each becomes a tool of its own:

```plaintext
https://mcp.scrape.ly?actors=roamandroof/airbnb-scraper,roamandroof/airbnb-reviews-scraper
```

## The two Airbnb Actors your agent works with

Both are maintained by Scrape.ly, read public data without logging in, and take it from Airbnb's own data feeds instead of loading pages in a browser, which is why small runs finish in seconds.

| Actor                                                                                   | Input                                                                                                                                           | What comes back                                                                                                                                                                                                   | Price                    |
| --------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |
| [Airbnb Scraper](https://scrape.ly/store/roamandroof/airbnb-scraper.md)                 | City names, search URLs with their filters, or listing URLs; dates, guests, price range, minimum beds, bedrooms and bathrooms, currency, locale | Title, property and room type, capacity, total price for your dates with a breakdown when Airbnb sends one, rating with category scores, host rating and Superhost flag, amenities, house rules, photos, location | $2.59 per 1,000 listings |
| [Airbnb Reviews Scraper](https://scrape.ly/store/roamandroof/airbnb-reviews-scraper.md) | Listing URLs or IDs; sort order, date range, locale                                                                                             | Star rating, exact date, original text and a translation, stay length, host reply, reviewer's location                                                                                                            | $3.02 per 1,000 reviews  |

Prices are pay per result with platform usage included, as listed in the [Scrape.ly Store](https://scrape.ly/store.md) on 26 October 2026. For a REST endpoint with Python, JavaScript and cURL examples, see the [Airbnb API](https://scrape.ly/api/airbnb-api.md) page.

## The tool calls, from search to reviews

An Airbnb question usually chains both Actors, and each step uses the same four server tools:

1. **`search-actors`** with "airbnb" finds both Actors.
2. **`fetch-actor-details`** returns the input schema, so the agent learns that dates are `checkIn` and `checkOut` in `YYYY-MM-DD` and that reviews take `startUrls`.
3. **`call-actor`** runs the listings search and waits up to 45 seconds for it to finish.
4. **`get-actor-output`** reads the listing rows with only the fields the agent asks for. The agent picks a listing and repeats steps 3 and 4 with the Reviews Scraper.

Rows never come back inside `call-actor`. They're read separately and in pages, so 200 listings with photo captions don't crowd out the conversation.

## A real run: five Lisbon stays for a December weekend

The prompt: "Use scrapely to find five Airbnb apartments in Lisbon for 2 adults from 4 to 7 December, with the total price, guest rating and number of reviews."

The agent's `call-actor` request:

```json
{
  "actor": "roamandroof/airbnb-scraper",
  "input": {
    "locationQueries": ["Lisbon"],
    "maxResults": 5,
    "checkIn": "2026-12-04",
    "checkOut": "2026-12-07",
    "adults": 2,
    "currency": "USD",
    "locale": "en-US"
  },
  "waitSecs": 45,
  "callOptions": { "maxTotalChargeUsd": 0.05 }
}
```

Our run on 26 October 2026 finished in 9.5 seconds with "Saved 5 listings." and no failed inputs. The agent read `title,propertyType,personCapacity,price,rating,host.isSuperHost`:

| Listing                                           | Type                      | Guests | 3 nights | Before discount | Guest rating | Reviews | Superhost |
| ------------------------------------------------- | ------------------------- | ------ | -------- | --------------- | ------------ | ------- | --------- |
| Tram 28 - Amazing Balcony & Tagus River Views 3B  | Entire rental unit        | 4      | $356     | $670            | 4.93         | 708     | yes       |
| Chiado Loft 11 Brand New Loft                     | Entire rental unit        | 3      | $436     | —               | 4.95         | 655     | yes       |
| Brand new apartment right in the heart of Alfama. | Entire rental unit        | 4      | $320     | $353            | 4.82         | 485     | no        |
| Chiado with Amazing View to the Castle            | Entire serviced apartment | 4      | $444     | $587            | 4.93         | 254     | yes       |
| STYLISH & TRENDY APARTMENT - HEART OF BAIXA       | Entire rental unit        | 2      | $631     | —               | 4.98         | 368     | yes       |

Three of the five showed a discount for these dates; the Tram 28 flat was down from $670 to $356. Each row's breakdown gave the nightly rate behind the total, from $106.56 in Alfama to $210.14 in Baixa. Service fees, cleaning fees and taxes were empty on all five, because Airbnb didn't send those lines for these search results, and the Actor leaves them empty rather than estimating them. The listings are businesses' and private hosts' rentals, so we show listing titles and leave out host names.

Cost: 5 × $0.00259 = $0.01295 at list price, platform usage included.

## A real run: what recent guests wrote

The follow-up prompt: "Get the five most recent reviews of the Chiado loft and tell me if anyone mentions a problem."

```json
{
  "actor": "roamandroof/airbnb-reviews-scraper",
  "input": {
    "startUrls": [{ "url": "https://www.airbnb.com/rooms/10104462" }],
    "maxReviewsPerListing": 5,
    "sortBy": "most-recent",
    "locale": "en-US"
  },
  "waitSecs": 45,
  "callOptions": { "maxTotalChargeUsd": 0.05 }
}
```

It took 5.3 seconds. Guests are private people, so they appear as `[guest n]` here:

| Date       | Stars | Guest      | Stay         | Review, opening words                                                                                                    |
| ---------- | ----- | ---------- | ------------ | ------------------------------------------------------------------------------------------------------------------------ |
| 2026-10-10 | 5     | \[guest 1] | About a week | This apartment was awesome. They left me a small gift upon arrival and they were extremely responsive with my questions. |
| 2026-10-02 | 5     | \[guest 2] | —            | Great location and hosts, super helpful and responsive and a great way to experience Lisbon for the first time!          |
| 2026-09-22 | 4     | \[guest 3] | A few nights | Great stay overall. No issues for us as we are okay with climbing stairs (as one must do when they are in Portugal)      |
| 2026-09-20 | 5     | \[guest 4] | A few nights | Polecam                                                                                                                  |
| 2026-09-09 | 5     | \[guest 5] | —            | Brilliant location, gorgeous historical building, excellent host, fantastic place to stay in Lisbon                      |

The agent's answer: an average of 4.8 stars, and the only caveat was stairs, mentioned in the one four-star review. None of the five had a host reply. Cost: 5 × $0.00302 = $0.0151 at list price. Both runs together came to $0.02805 at list price; our account was billed $0.02244 after its plan's Store discount.

## Prompts that work well

Give the agent the Actor, the dates, the size of the job and a cap:

- "Use scrapely to compare Airbnb prices in Porto, Lisbon and Seville for 2 adults, 12 to 15 March, 20 listings each, and give me the median total per city."
- "Run roamandroof/airbnb-scraper on this Airbnb search URL and keep only Superhost listings rated 4.9 or higher."
- "Get the 50 most recent reviews of these three listings and summarize the complaints by theme."
- "Pull this listing's reviews in German with locale de-DE, newest first, since 1 January 2026."
- "Stop each run at $0.25."

The agent puts the last line into `callOptions.maxTotalChargeUsd`, and the run ends cleanly at that amount.

## What to watch out for with Airbnb data

- **Prices belong to the dates.** A total is what Airbnb showed for those dates and that guest count. Change either and you need a new run; for price tracking, schedule the same input.
- **Fee lines appear only when Airbnb sends them.** `price.label` is the figure from the search result. Our five rows had a nightly base price but no service fee, cleaning fee or taxes.
- **One search shows about 200 to 270 listings.** The run's status says when a search ran out. For a whole city, add neighborhoods or price bands as separate searches.
- **Reviews have their own edges.** Hosts' reviews of guests aren't public, and Experiences aren't covered. Relative dates such as "2 weeks ago" depend on the day you run it, so use `createdAt`. The `language` field is what Airbnb reports: a one-word Polish review in our run came back tagged `en`.
- **Private or removed listings are skipped,** and a search with no matches simply returns zero rows.
- **Hosts and guests are personal data.** Many hosts rent out their own home, and reviews carry first names and hometowns. Keep only the fields you need, and never publish the address of a private home.

## Spending limits when the agent runs alone

- **A per-run cap.** `maxTotalChargeUsd` limits everything a run can cost, and the run stops when it reaches the cap.
- **A key just for the agent.** Under **Settings → API & Integrations → API keys**, create a scoped key with `actors:run` and `runs:read` and a daily charge limit.
- **Prepaid usage.** Runs draw from your balance, so there's never a surprise bill.

## Is it legal to scrape Airbnb with an AI agent?

Both Actors read listing and review data that anyone can see without an account, and they never log in or book. Airbnb's terms set their own rules on automated access, and how they apply depends on where you are and how you use the data. Treat host and guest details as personal data under the GDPR and the CCPA, with a lawful basis and short retention. Our [Airbnb scraping guide](https://scrape.ly/blog/scrape-airbnb.md) quotes the terms and covers the legal side in more depth. This is not legal advice.

The same agent setup works for other property data: see [Zillow MCP](https://scrape.ly/blog/zillow-mcp.md) for homes for sale, our guide to [real estate data scraping](https://scrape.ly/blog/real-estate-data-scraping.md), and [review monitoring](https://scrape.ly/blog/review-monitoring.md) for keeping an eye on reviews over time.

Scrape.ly Store Give your agent Airbnb listings Public Airbnb listings from a city, a search URL or a listing link, priced for your dates: rating, host score, amenities and house rules. $2.59 per 1,000 listings, ready for Claude, Cursor or ChatGPT.

[Try it free](https://scrape.ly/store/roamandroof/airbnb-scraper.md) [Browse the Store](https://scrape.ly/store.md)

## FAQ

### Does Airbnb have an MCP server?

Not one that showed up on Google's first page on 26 October 2026. The top result is the community-built openbnb-org/mcp-server-airbnb, and the rest are directories, host software and scraping platforms. Scrape.ly's hosted server gives an agent Airbnb listings and reviews through two Store Actors.

### Can Claude search Airbnb?

Yes, once it has the tools. Connect Claude Code or Claude Desktop to `https://mcp.scrape.ly`, ask for stays in a city with dates and guests, and Claude runs the Airbnb Scraper and answers from the rows it gets back.

### Can my agent read Airbnb reviews?

Yes. The Airbnb Reviews Scraper returns every review Airbnb shows on a public listing, with the star rating, date, original text, a translation in the locale you pick, the stay length and the host's reply when there is one.

### Can the agent book a stay?

No. Both Actors read public pages and never sign in, so booking, messaging hosts and anything in your Airbnb account stay with you.

### How much does an Airbnb MCP setup cost?

The server is free. Listings cost $2.59 per 1,000 and reviews $3.02 per 1,000, platform usage included. Our two runs came to $0.028 at list price, and the free plan includes $5 every month.

### Do I need the Airbnb API?

No. The Actors read public listing and review data, so you don't need an Airbnb partner account or API key, only a Scrape.ly account.

About the author

[Scrape.ly Team](https://scrape.ly/blog/author/scrapely-team.md) The team behind Scrape.ly

Scrape.ly is the web data platform from TeraShift GmbH in Switzerland, powered by Evomi: ready-made scrapers in the Scrape.ly Store, a cloud runtime, an API with JavaScript and Python SDKs, proxies, a hosted anti-bot browser and an MCP server for AI agents.

- [Website](https://scrape.ly/index.md)

Keep reading

## More in AI agents

- [![Pixel-art robot with an orange >\_ on its terminal head carries a cable from a web page into a server rack labelled MCP, with the orange Claude spark in a speech bubble above the rack](https://scrape.ly/media/claude-mcp-web-data.png?w=750)](https://scrape.ly/blog/claude-mcp-web-data.md)
  ### [Claude MCP Server for Live Web Data: Setup for Claude Desktop and Claude Code](https://scrape.ly/blog/claude-mcp-web-data.md)
  [Connect a Claude MCP server that gives Claude live web data: Google results, full articles, Maps places, YouTube videos and more. Step-by-step setup for Claude Desktop, claude.ai and Claude Code, the exact tool calls, a real search-and-read run and what it cost.](https://scrape.ly/blog/claude-mcp-web-data.md)
- [![Pixel-art robot with an orange >\_ on its terminal head carries a cable from a stack of cardboard boxes marked with the Amazon logo into a server rack labelled MCP](https://scrape.ly/media/amazon-mcp.png?w=750)](https://scrape.ly/blog/amazon-mcp.md)
  ### [Amazon MCP: Product, Price and Review Data for AI Agents](https://scrape.ly/blog/amazon-mcp.md)
  [Amazon's own MCP servers are for ads and AWS. To give Claude, Cursor or ChatGPT live Amazon prices, ratings and reviews, connect Scrape.ly's hosted MCP server and its Amazon scrapers. Setup, tool calls, real keyboard comparisons and exact costs.](https://scrape.ly/blog/amazon-mcp.md)
- [![Pixel-art robot with an orange >\_ on its terminal head carries a cable from a feed of posts headed by the white X logo into a server rack labelled MCP](https://scrape.ly/media/twitter-mcp.png?w=750)](https://scrape.ly/blog/twitter-mcp.md)
  ### [Twitter (X) MCP: Give Your AI Agent Public Posts Without an X Developer App](https://scrape.ly/blog/twitter-mcp.md)
  [A Twitter MCP server lets Claude, Cursor or ChatGPT read public X posts and their engagement counts as tool calls. Connect Scrape.ly's hosted server in a minute, with no X developer app or API keys, and see the exact tool calls, real output from @NASA and @SpaceX, and what it cost.](https://scrape.ly/blog/twitter-mcp.md)

## The internet is full of data. Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes.

[Get Started Free](https://my.scrape.ly/register) [Chat with Support](mailto:hello@scrape.ly?subject=Question%20about%20Scrape.ly\&body=Hi%2C%20I%20have%20a%20question%20about%20Scrape.ly.)

No credit card. No setup calls.
