Airbnb Scraper — 16 Fields, Prices by Date, No Login avatar

Airbnb Scraper — 16 Fields, Prices by Date, No Login

Pricing

from $1.80 / 1,000 listing scrapeds

Go to Apify Store
Airbnb Scraper — 16 Fields, Prices by Date, No Login

Airbnb Scraper — 16 Fields, Prices by Date, No Login

Scrape Airbnb stay listings by location and dates: price, rating, review count, superhost status, property type, coordinates and photos. No login, no API key. Use as an MCP server in Claude & AI agents.

Pricing

from $1.80 / 1,000 listing scrapeds

Rating

0.0

(0)

Developer

The Mine Works

The Mine Works

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

20 hours ago

Last modified

Share

🏠 Airbnb Scraper: Listings, Prices, Ratings & Geo

Overview

Airbnb Scraper is a fast, pay-per-result Apify Actor that extracts Airbnb stay listings for any location, with nightly price, guest rating, review count, superhost status, GPS coordinates, property type, and photo. Give it a destination (and optionally your travel dates), and it returns clean, structured JSON, CSV, or Excel you can drop straight into a spreadsheet, dashboard, or AI agent.

Airbnb has no public listings API, and the numbers you see on the site are gated behind heavy client-side rendering. This actor handles search resolution, pagination, and price extraction for you, so you get the same data a visitor sees at scale, without writing parsing code or maintaining browser automation. Residential proxies are used by default for reliable results.

Reliability posture: blocked, empty, or failed runs are never charged. You only pay for a listing that was actually delivered.

✅ No login | ✅ No API key | ✅ Pay only per listing returned | ✅ MCP-ready for AI agents

Features

Date-aware pricing. Pass check-in and check-out dates to get the nightly price for that stay. Rich metadata. Rating, review count, superhost, badges, property type, coordinates, and photo. Price band filters. Cap by minimum and maximum nightly price to focus on your target segment. Volume control. Up to 2,000 listings per run. Split across cities or dates for wider pulls. Residential proxy default. Reliable results against Airbnb's IP fingerprinting.

How it works

Airbnb's public site renders listings client-side and paginates through a private API that changes without notice. This actor resolves your location string to Airbnb's internal place ID, walks the paginated results, and extracts the fields shoppers actually see, plus geo coordinates and photo URLs. If you pass dates and guest count, price reflects that stay; without them you get the default nightly rate.

You are billed only for listings actually returned. No subscription, no minimum.

🧾 Input configuration

{
"location": "Lisbon, Portugal",
"checkIn": "2026-09-01",
"checkOut": "2026-09-04",
"adults": 2,
"minPrice": 40,
"maxPrice": 250,
"maxItems": 100,
"proxyConfig": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}

📤 Output format

This is a real record captured from a live run against Lisbon, Portugal:

{
"listingId": "1698576250991138067",
"name": "Standard single room",
"title": "Gat Rossio",
"subtitle": "Hotel in Arroios",
"rating": 4.73,
"reviewsCount": 589,
"latitude": 38.7154,
"longitude": -9.1406,
"photoUrl": "https://a0.muscache.com/im/pictures/BnbProperty/BnbProperty-1698576250991138067/original/865d4676-a83d-4745-b7f6-8d8623e91f03.jpeg",
"badges": ["Featured hotel"],
"url": "https://www.airbnb.com/rooms/1698576250991138067",
"scraped_at": "2026-07-15T04:15:55.905Z"
}

Fields with no value for a given listing (for example price when Airbnb does not return a stay-specific rate for that result) are omitted rather than sent as null.

Every listing record contains these fields:

FieldDescription
🆔 listingIdAirbnb listing ID.
🏷️ nameRoom or unit name within the listing.
📝 titleListing title (property or hotel name).
📋 subtitleListing subtitle, typically the property type and neighborhood.
💵 priceNightly price (numeric), when Airbnb returns a stay specific rate.
💲 priceTextFormatted price string as shown on Airbnb.
🏷️ priceQualifierPrice qualifier text (e.g. "for 5 nights"), when present.
💱 currencyCurrency code, when a price is returned.
ratingAverage guest rating.
🗣️ reviewsCountTotal number of reviews.
📍 latitude / longitudeGPS coordinates for mapping.
🖼️ photoUrlPrimary photo URL.
🏅 badgesListing badges (e.g. Featured hotel, Guest favorite).
🔗 urlPublic Airbnb listing URL.
🕒 scraped_atISO timestamp when the record was captured.

💼 Common use cases

Revenue management and dynamic pricing Pull comparable listings for a market and date window to set competitive nightly rates. Ideal for property managers, hosts, and STR software vendors.

Market research for hosts and investors Measure supply, average price, and rating by neighborhood before buying or listing. Combine multiple runs to build a longitudinal view.

Travel apps and comparison tools Populate a product with structured stays, including photos, coordinates, and Superhost signals. Feed a live search UI without maintaining a scraper.

Geo analytics and mapping Use latitude and longitude to build heatmaps of price or availability across a city. Great for urban policy research and real-estate analytics.

AI agents Let an assistant answer "find the 20 cheapest Superhost stays in Bali this weekend" with live data. Exposed as an MCP tool for Claude and ChatGPT.

🚀 Getting started

  1. Open the Airbnb Scraper on Apify and click Try for free.
  2. Enter a location (e.g. Lisbon, Portugal, Austin, TX, Bali).
  3. Optionally set check-in and check-out dates and number of adults for date-specific pricing.
  4. Set max listings and, if you like, a minimum or maximum price filter.
  5. Click Start, then download results as JSON, CSV, Excel, or HTML.

FAQ

Do I need an Airbnb account or API key? No. There is no login and no API key. Enter a location and run.

How many listings can I scrape? Up to 2,000 per run via the max listings field. Run multiple locations or dates to go wider.

Can I get date-specific prices? Yes. Add check-in and check-out dates and prices reflect that stay.

How am I charged? Pay-per-result. You pay only for listings actually returned.

Why is a residential proxy used? Airbnb fingerprints and rate-limits by IP. Residential proxies (the default) keep runs reliable across sessions.

Use in Claude, ChatGPT & any MCP agent

https://mcp.apify.com/?tools=themineworks/airbnb-scraper

Or run it from code with the Apify client:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('themineworks/airbnb-scraper').call({
location: 'Lisbon, Portugal',
maxItems: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

🛠️ Complete your travel & real estate pipeline

Pair with the rest of the suite for a full short-term-rental and real-estate stack:

Found a bug or have a feature request? Open an issue on the actor's Apify Console page or reach out through the Apify profile.