
Airbnb Scraper
hipersoft/airbnb-scraper
Search Airbnb by location and scrape listings: name, property type, price, rating, reviews, coordinates, photos, badges and link. For short-term rental, pricing and market research.
Total users
2Monthly users
1Total runs
122Per listing scraped
$0.005Last rebuilt
Oct 28, 2026Overview
Scrape Airbnb listings by location or search URL and export name, property type, price, rating, reviews, coordinates, photos and badges as structured data. Feed a city or a full Airbnb search URL (with your own dates, guests and filters) and get back clean JSON, CSV, Excel or XML. No account and no API key — fast and reliable.

What does Airbnb Scraper do?
Airbnb Scraper is a crawler that extracts short-term rental listings from Airbnb search results. Give it one or more locations or search URLs and it collects every listing on the results pages — pricing, ratings, review counts, property type, map coordinates and photos — then exports the data points to a dataset you can download or pull through the API.
What data can you scrape from Airbnb?
| Data point | Description |
|---|---|
| Listing name & ID | Listing title and its unique Airbnb id |
| Property type | e.g. Entire rental unit, Private room |
| Price | Numeric price, currency, formatted string and label |
| Rating & reviews | Guest rating and total review count |
| New flag | Whether the listing is newly added |
| Badges | e.g. Guest favorite |
| Geo coordinates | Latitude and longitude for mapping |
| Photos | Lead photo URL and total photo count |
| URL | Direct link to the listing |
What you get

One record per listing:
{
"id": "12345678",
"name": "Charming Loft in Le Marais",
"propertyType": "Entire rental unit",
"rating": "4.92",
"reviewsCount": "218",
"isNew": false,
"price": 137,
"priceCurrency": "$",
"priceString": "$137",
"priceLabel": "$137 per night",
"badges": ["Guest favorite"],
"latitude": 48.8592,
"longitude": 2.3625,
"photo": "https://a0.muscache.com/im/pictures/....jpg",
"photoCount": 5,
"url": "https://www.airbnb.com/rooms/12345678"
}
Output schema
| Field | Type | Description |
|---|---|---|
id |
string | Unique Airbnb listing identifier. |
name |
string | Listing title as shown in search results. |
propertyType |
string | Type of place, e.g. Entire rental unit or Private room. |
rating |
string | Average guest rating for the listing. |
reviewsCount |
string | Total number of guest reviews. |
isNew |
boolean | True when the listing is newly added and has no reviews yet. |
price |
integer | Numeric price value for the selected stay. |
priceCurrency |
string | Currency symbol for the price, e.g. $. |
priceString |
string | Price as a formatted string, e.g. $137. |
priceLabel |
string | Human-readable price label, e.g. $137 per night. |
badges |
array | Marketing badges on the listing, e.g. Guest favorite. |
latitude |
number | Listing latitude coordinate. |
longitude |
number | Listing longitude coordinate. |
photo |
string (URL) | URL of the listing's lead photo. |
photoCount |
integer | Total number of photos on the listing. |
url |
string (URL) | Direct link to the listing page. |
Use cases
- Benchmark nightly prices and occupancy signals across a market.
- Track ratings and review counts of competing listings over time.
- Map available inventory in a neighborhood using the coordinates.
- Build datasets for revenue-management and dynamic-pricing models.
- Research property-type mix and amenities demand in a target city.
- Enrich real-estate and travel apps with live short-term rental comps.
How to scrape Airbnb data
- Add Airbnb Scraper to your Apify account and open the input.
- Enter one or more
locations— a city like "Paris, France" or a full airbnb.com/s/ search URL carrying your dates, guests and filters. - Set
maxItemsPerLocationto cap how many listings you collect per location. - Click Run and watch listings stream into the dataset.
- Export the results as JSON, CSV, Excel or XML, or pull them through the Apify API.
Input
{
"locations": ["Paris, France"],
"maxItemsPerLocation": 40,
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}
| Field | Description |
|---|---|
locations |
Cities/areas (e.g. "Paris, France") or full airbnb.com/s/ search URLs. |
maxItemsPerLocation |
Max listings per location (1–1000, ~18 per page, default 40). |
proxyConfiguration |
Proxy settings; residential is recommended and on by default. |
Need more property or travel data?
- 99.co Scraper
- PropertyGuru Scraper
- EdgeProp Scraper
- Redfin Scraper
- Crexi Scraper
- Google Maps Scraper
FAQ
How many listings can I scrape?
As many as the search results contain — set maxItemsPerLocation (1–1000) per location to control volume.
Do I need an Airbnb account or API key? No. There's no setup and no login — just add your locations and run.
Can I use my own dates, guests and filters? Yes. Paste a full airbnb.com/s/ search URL with your parameters and the scraper follows them.
What export formats are supported? JSON, CSV, Excel and XML, plus programmatic access via the Apify API.
How fresh is the data? Every run reads live Airbnb search results, so results reflect current availability and pricing.
Can Airbnb Scraper connect to my other tools? The Airbnb Scraper can be connected with almost any cloud service or web app thanks to integrations on the Apify platform. It works with Make, Zapier, Slack, Airbyte, GitHub, Google Drive and many more, plus the Apify API, JavaScript/Python clients and MCP. Or use webhooks to trigger an action whenever a run finishes.
Is scraping Airbnb legal? The scraper reads only publicly available search results. You are responsible for complying with Airbnb's terms and applicable laws.
Notes
Original clean-room implementation. Returns only public data; you are responsible for compliance with Airbnb's terms. Not affiliated with Airbnb.
Input
| Field | Type | Description |
|---|---|---|
locationsLocations | array | Cities/areas (e.g. "Paris, France") or full airbnb.com/s/ search URLs (URLs let you set dates, guests & filters). One per line. |
maxItemsPerLocationMax listings per location | integer | Cap listings per location (~18 per page). Default: 40 |
proxyConfigurationProxy | object | Proxy configuration. Leave the default — it is tuned for reliable results. Default: {"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]} |
API
curl -X POST "https://api.apify.com/v2/acts/hipersoft~airbnb-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"locations": [
"Paris, France"
]
}'from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("hipersoft/airbnb-scraper").call(run_input={
"locations": [
"Paris, France"
]
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('hipersoft/airbnb-scraper').call({
"locations": [
"Paris, France"
]
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Pricing
| Event | Price | Paid plans from |
|---|---|---|
| Listing scraped One listing with name, price, rating, reviews, coordinates, photo and link | $0.005 | $0.0025 |
| Search page fetched One Airbnb search page (~18 listings) fetched and parsed | $0.001 | $0.001 |
You pay only for what the run returns. Set a maximum cost per run and it stops cleanly at that limit.
Related scrapers
CNN Fear & Greed Index Scraper
Scrape the CNN Fear & Greed Index: current market-sentiment score and rating, a full historical timeline, and all seven component indicators. Clean structured JSON, CSV or Excel for trading signals, backtesting, dashboards and alerting.
547 runs · 6 users · $0.003 / item scrapedDivar Scraper
Scrape classified ads from Divar, Iran's largest marketplace: title, price (Toman), category, city, district, images and the listing URL. Search any Iranian city with an optional keyword and export one clean row per ad as JSON, CSV or Excel. For market research, price tracking and n8n.
224 runs · 22 users · $0.003 / listing scrapedSingapore HDB Property Information Scraper
Export master data for every HDB block in Singapore (~13,300 blocks): address, town, year completed, max floor, total units, unit mix by flat type (sold & rental) and amenities (market/hawker, carpark, commercial, pavilion). Filter by town, street, year. Public open data, no setup.
113 runs · 1 users · $0.002 / block scrapedPropertyGuru Singapore Scraper
Scrape PropertyGuru Singapore property listings: price, beds, baths, size, address, property type, agent and URL. For property research and lead generation.
106 runs · 3 users · $0.004 / listing scrapedEdgeProp Singapore Property Scraper
Scrape EdgeProp Singapore property listings for sale and rent: price, address, beds, baths, size, PSF and URL.
105 runs · 1 users · $0.004 / listing scrapedCrexi Commercial Real Estate Scraper
Scrape Crexi commercial real estate listings: price, address, property type, size, cap rate, broker and URL.
101 runs · 2 users · $0.0075 / listing scrapedSend the site and the fields. We build it and you get it first.