Airbnb MCP Server avatar

Airbnb MCP Server

Pricing

from $20.00 / 1,000 mcp tool calls

Go to Apify Store
Airbnb MCP Server

Airbnb MCP Server

Airbnb MCP server for AI agents. Claude, ChatGPT, Cursor or your own agent can search Airbnb stays and fetch listing detail, public host profile, guest reviews and availability live over MCP. Also runs as a one-shot stay search that writes a dataset.

Pricing

from $20.00 / 1,000 mcp tool calls

Rating

0.0

(0)

Developer

axly

axly

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Categories

Share

Give your AI assistant live access to Airbnb. This Actor runs as a Model Context Protocol (MCP) server so agents such as Claude, ChatGPT, Cursor and n8n can search Airbnb stays and pull listing detail, the host's public profile, guest reviews and the availability calendar on demand. It can also run once as a classic scraper that writes stay rows to a dataset.

It uses the same Airbnb web GraphQL endpoints the Airbnb website itself calls, so responses are structured JSON, not parsed HTML. No Airbnb account and no API key are needed.

Who it is for

  • AI builders and agent developers who want an Airbnb "skill" for an assistant without writing glue code.
  • Analysts using Claude or ChatGPT who ask natural-language questions ("compare stays in Lisbon for 10-13 December under 150") and want live data.
  • No-code automators wiring Airbnb lookups into n8n or Make agent flows.

MCP tools

ToolWhat it does
search_airbnb_staysSearch stays by place name with optional dates, adults and price filters. Returns id, name, price, rating, GPS, badges and photos.
get_airbnb_listingDetail for a listing id or /rooms/<id> URL: title, property type, capacity, rating, review count, description, amenities, GPS and host profile.
get_airbnb_reviewsGuest reviews for a listing: reviewer name and location, rating, date, text and the host's response when there is one.
get_airbnb_availabilityDay-by-day availability for the next 1-12 months with minimum and maximum nights. The per-day price is usually empty.

Good to know:

  • search_airbnb_stays returns price as Airbnb shows it for the stay length in price_qualifier (for example "for 3 nights"), after any discount; original_price holds the pre-discount figure when there is one. It is not always a nightly rate. Without dates Airbnb picks a default stay length.
  • The host object is the public profile only (name, superhost and verified flags, years hosting, ratings). Airbnb does not expose host email or phone.
  • Up to 100 stays and 100 reviews per call. Duplicate stays that Airbnb repeats across result pages are removed.
  • Airbnb resolves free text loosely: a place name it does not recognise can return stays from elsewhere, so use real place names.
  • A call that fails or returns nothing comes back as {"error": ...} or an empty list and is not billed as a tool call.

Connect it

  1. Open the Actor and enable Standby mode (the Actor then exposes an HTTPS endpoint).
  2. Point your MCP client at https://<your-username>--airbnb-mcp-server.apify.actor/mcp (Streamable HTTP) and send your Apify API token as a Bearer token.
  3. Ask your agent to use the Airbnb tools.

Example MCP client config (Claude Desktop, Cursor and similar):

{
"mcpServers": {
"airbnb": {
"url": "https://<your-username>--airbnb-mcp-server.apify.actor/mcp",
"headers": { "Authorization": "Bearer <APIFY_TOKEN>" }
}
}
}

Classic run mode (dataset)

Prefer a table? Start the Actor normally (not Standby) with a location. It runs one stay search and writes one row per stay to the dataset, ready for CSV, JSON or Excel export.

{
"location": "Austin, Texas",
"adults": 2,
"limit": 10
}
InputMeaning
locationPlace name Airbnb resolves, e.g. "Lisbon, Portugal"
checkInOptional check-in date, YYYY-MM-DD
checkOutOptional check-out date, YYYY-MM-DD
adultsNumber of adults (default 1)
minPriceOptional minimum price filter
maxPriceOptional maximum price filter
limitMax stays to return, 1-100 (default 18)

Output fields (dataset rows)

FieldDescription
listing_id, urlAirbnb listing id and room URL
name, title, subtitleListing name, "Home in Austin" style title, one-line subtitle
price, original_price, price_qualifier, price_labelPrice shown by Airbnb for the stay length, pre-discount price, stay length, full price text
ratingRating text as shown in search, e.g. 4.96 (505) or New
coordinate{lat, lng}
badges, imagesBadges such as "Guest favorite"; photo URLs
scraped_atUTC timestamp

Fields that need the detail tool (amenities, description, host, property type, capacity) are empty in dataset rows; call get_airbnb_listing for those.

Example tool call (trimmed)

search_airbnb_stays with {"location": "Austin, Texas", "adults": 2, "limit": 2}:

{
"location": "Austin, Texas",
"count": 2,
"results": [
{
"listing_id": "47965881",
"url": "https://www.airbnb.com/rooms/47965881",
"name": "Enjoy Heated Waterfall Pool + Art at SOCO Gallery",
"title": "Home in Austin",
"price": "$1,180",
"price_qualifier": "for 5 nights",
"rating": "4.96 (505)",
"coordinate": { "lat": 30.24656, "lng": -97.74578 }
}
]
}

FAQ

Which MCP clients work? Any client that speaks Streamable HTTP MCP: Claude Desktop, Cursor, ChatGPT custom connectors, n8n and custom agents.

Is the data live? Yes. Every tool call requests fresh data from Airbnb.

Can I use it on a schedule or from an API? Yes. The classic run mode can be scheduled and called through the Apify API like any Actor; Standby mode is reachable over HTTP from your own code.

Does it return host contact details? No, only the public host profile.

What if Airbnb changes something? Airbnb has no public API for this data, so the Actor depends on its website endpoints. If a tool starts returning errors, open an issue on the Actor page.