Airbnb Scraper avatar

Airbnb Scraper

Pricing

from $2.00 / 1,000 listing scrapeds

Go to Apify Store
Airbnb Scraper

Airbnb Scraper

Extract Airbnb listings, prices, ratings, host data, amenities & GPS coordinates for any location. Search by city or scrape direct listing URLs. Returns CRM-ready structured JSON. Export scraped data, run via API, schedule and monitor runs, or integrate with other tools.

Pricing

from $2.00 / 1,000 listing scrapeds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

14 hours ago

Last modified

Share

🏠 Airbnb Scraper — Extract Listings, Prices & Host Data

What does Airbnb Scraper do?

Airbnb Scraper extracts structured data from Airbnb listings for any location worldwide — prices, ratings, host info, amenities, GPS coordinates, and more. Search by city, region, or zip code, or pass in direct listing URLs for targeted extraction.

Why use Airbnb Scraper?

  • No manual browsing — scrape hundreds of listings in minutes, not hours
  • Structured JSON output — clean, analysis-ready data for spreadsheets, databases, or AI pipelines
  • Dual input mode — search by destination OR scrape specific listing URLs
  • Rich host data — Superhost status, response rate, response time per listing
  • MCP-compatible — works seamlessly with Claude, ChatGPT, and other AI agents via the Apify MCP server

What data can Airbnb Scraper extract?

FieldDescriptionExample
listing_idAirbnb's unique listing ID12345678
listing_urlDirect URL to the listinghttps://airbnb.com/rooms/12345678
nameListing titleCozy Downtown Loft with City Views
descriptionFull listing descriptionWelcome to our beautiful...
property_typeHome, room, hotel room, etc.Entire home
room_typeAirbnb room type categoryentire_home
price_per_nightNightly price (numeric)120
price_currencyCurrency codeUSD
original_price_per_nightPre-discount price150
cleaning_feeOne-time cleaning charge45
total_priceFull stay total (when dates given)385
ratingAverage guest rating (1–5)4.87
review_countNumber of reviews234
host_nameHost display nameSarah
host_idAirbnb host ID9876543
is_superhostSuperhost statustrue
host_response_rate% of messages responded to100%
host_response_timeTypical response speedwithin an hour
cityCityNew York
stateState or regionNY
countryCountryUnited States
neighborhoodNeighborhood / districtLower East Side
latitudeGPS latitude40.7128
longitudeGPS longitude-74.0060
bedroomsNumber of bedrooms2
bedsNumber of beds3
bathroomsNumber of bathrooms1.5
max_guestsMax guest capacity4
amenitiesList of amenities["WiFi", "Kitchen", "Pool"]
thumbnail_urlMain listing photo URLhttps://a0.muscache.com/...
photosAll photo URLs (array)[...]
minimum_nightsMinimum stay required2
cancellation_policyCancellation policy nameFlexible
check_in_timeCheck-in time3:00 PM
check_out_timeCheck-out time11:00 AM
is_availableAvailable for your datestrue
scraped_atISO timestamp of scrape2026-04-09T12:00:00.000Z
source_urlURL this record was scraped fromhttps://airbnb.com/s/...

Tutorial: How to Use Airbnb Scraper

Method 1 — Search by Location (most common)

  1. Open the actor and fill in Location / Search Query (e.g. Miami Beach, FL)
  2. Optionally set check-in/check-out dates to get accurate pricing and availability
  3. Set Maximum Results (1–300 recommended per search)
  4. Click Start — results arrive in the Output tab within minutes

Method 2 — Scrape Specific Listings

  1. Copy the Airbnb listing URL(s) you want to scrape (e.g. https://www.airbnb.com/rooms/12345678)
  2. Paste them into Direct Listing URLs
  3. Leave Location / Search Query empty
  4. Click Start — each listing is scraped for full detail data

Using Filters

Narrow your results with optional filters:

  • Check-in / Check-out dates — filters to available properties, gives accurate pricing
  • Adults / Children / Pets — filters by guest capacity and pet-friendliness
  • Min / Max Price — set a nightly rate budget range
  • Minimum Bedrooms — filter by bedroom count
  • Property Type — Entire home, Private room, or Hotel room only

Input Parameters

ParameterTypeDefaultDescription
locationQuerystringCity, region, or address to search (e.g. "Paris, France")
startUrlsarrayDirect Airbnb listing URLs to scrape
checkInstringCheck-in date (YYYY-MM-DD)
checkOutstringCheck-out date (YYYY-MM-DD)
adultsinteger2Number of adult guests
childreninteger0Number of child guests
petsinteger0Number of pets
minPriceintegerMinimum nightly price (USD)
maxPriceintegerMaximum nightly price (USD)
minBedroomsintegerMinimum bedroom count
propertyTypestringallentire_home, private_room, hotel_room, or empty for all
maxResultsinteger50Maximum number of listings to scrape
proxyConfigurationobjectResidentialProxy settings (residential recommended)

Pricing

This actor uses pay-per-event pricing — you only pay for listings actually scraped. No subscription, no monthly fees.

VolumeCost
100 listings$0.20
500 listings$1.00
1,000 listings$2.00
10,000 listings$20.00

All costs include compute, proxy, and storage — no surprises.


Code Examples

JavaScript / Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('khadinakbar/airbnb-scraper').call({
locationQuery: 'Miami Beach, FL',
checkIn: '2026-06-01',
checkOut: '2026-06-07',
adults: 2,
maxResults: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Scraped ${items.length} listings`);
console.log(items[0]);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_API_TOKEN')
run = client.actor('khadinakbar/airbnb-scraper').call(run_input={
'locationQuery': 'Miami Beach, FL',
'checkIn': '2026-06-01',
'checkOut': '2026-06-07',
'adults': 2,
'maxResults': 100,
})
items = list(client.dataset(run['defaultDatasetId']).iterate_items())
print(f'Scraped {len(items)} listings')
print(items[0])

Via API (cURL)

curl -X POST "https://api.apify.com/v2/acts/khadinakbar~airbnb-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"locationQuery": "Miami Beach, FL",
"maxResults": 50
}'

Use Cases

Real estate investment research — Compare nightly rates across neighborhoods to identify high-performing vacation rental markets. Export to Excel and calculate projected annual revenue.

Competitive pricing analysis — Property managers can benchmark their listing against comps in the same area, same bedroom count, same guest capacity.

Travel market research — Researchers and analysts can track pricing trends, seasonal availability, and Superhost density across destinations.

AI-powered travel assistants — With the Apify MCP server, Claude and other AI agents can call this scraper directly in response to queries like "find me pet-friendly 2-bedroom listings in Austin under $200/night."

Hospitality industry data — Track inventory levels, average ratings, and amenity trends across specific markets for hotel and property management companies.


Works Great With

  • Apify Shopify Scraper — For e-commerce data alongside your rental research
  • Apify Dataset → Google Sheets integration — Export results directly to spreadsheets
  • Apify Scheduler — Run weekly to track price trends over time

FAQ

How many results can I get per search? Airbnb typically surfaces up to 300 results per search query. To get more, run multiple searches with different filters (price ranges, neighborhoods, etc.).

Does this require Airbnb login? No — this actor scrapes publicly available listing data. No Airbnb account or credentials required.

How accurate are the prices? Prices are most accurate when you provide check-in/check-out dates. Without dates, you'll see the base nightly rate but not cleaning fees or total stay costs.

Why did I get fewer results than expected? Airbnb may return fewer listings than requested if there aren't enough listings matching your filters. Try broadening your search (remove price filters, reduce guest count, expand the location).

Can I scrape reviews? The current version extracts the rating score and review count. Detailed individual reviews are not included in this version.

What proxy do I need? The actor uses Apify's residential proxy pool by default, which works well for Airbnb. Datacenter proxies may be blocked — residential is recommended.


This actor is intended for lawful data collection from publicly available information on Airbnb. Users are responsible for compliance with applicable laws, Airbnb's Terms of Service, and data protection regulations (GDPR, CCPA, etc.). The author does not condone unauthorized data collection or any use that violates platform terms. Always use scraped data responsibly.

Export scraped data, run the scraper via API, schedule and monitor runs, or integrate with other tools.