Airbnb Detailed Scraper avatar

Airbnb Detailed Scraper

Under maintenance

Pricing

from $3.00 / 1,000 listing details

Go to Apify Store
Airbnb Detailed Scraper

Airbnb Detailed Scraper

Under maintenance

Extract listing details, images, availability calendar, download images, host info using the Airbnb Detailed Scraper.

Pricing

from $3.00 / 1,000 listing details

Rating

0.0

(0)

Developer

Scraptivo

Scraptivo

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours ago

Last modified

Share

Airbnb Scraper - Extract Unlimited Listing Data from Any Search Query

Scrape unlimited Airbnb listings with full property details starting from just a location or search query. Enter "newyork", "paris beach house", or "tokyo apartment" and this Apify Actor automatically discovers every matching listing and extracts comprehensive property data — including pricing, amenities, host info, reviews, images, bedroom/bathroom details, location, and more. Optionally download listing images as zip files and extract 12-month availability calendars.

Powered by Apify platform for reliable cloud execution, automatic retries, proxy rotation, and seamless API access. Built on battle-tested scrapers used by thousands of users. Pay-per-event pricing — only pay for the data you extract.

Why Use This Airbnb Scraper?

  • Search-to-data pipeline — provide any search query, get complete listing details. No manual URL collection needed
  • Comprehensive data extraction — 50+ data points per listing: pricing, amenities, host profile, ratings, images, location, cancellation policy
  • Modular features — enable only what you need: listing details, availability calendar, and image downloads. Each feature uses its own proxy and runs independently
  • Auto-scaling concurrent architecture — discovers and scrapes listings in parallel using producer-consumer pattern for maximum speed
  • Built-in retry logic — automatic retries with exponential backoff for failed requests
  • Proxy rotation — per-request proxy rotation (Apify Residential by default) prevents IP blocks
  • Unlimited scale — no cap on listings per run; control via maxListings or maxPages
  • Multiple search queries — scrape multiple locations in a single run
  • Pay-per-event pricing — pay only for what you extract: listing URLs, details, calendars, and image downloads

How to Scrape Airbnb Listing Data

  1. Enter search queries — provide one or more location queries (e.g. "newyork", "paris", "tokyo")
  2. Choose features — enable listing details, calendar extraction, and image downloads as needed
  3. Configure proxy — Apify Residential proxies enabled by default for reliable scraping
  4. Set limits (optional) — cap by max listings or max search pages to control cost
  5. Run the Actor — execute on Apify platform or via API
  6. Download data — export as JSON, CSV, Excel, HTML, or XML from the dataset

Input

Configure these fields in the Input tab when running the Actor:

FieldTypeRequiredDescription
searchQueriesarray[string]YesLocation queries (e.g. ["newyork", "paris"])
maxListingsintegerNoMax listings to scrape (0 = unlimited)
maxPagesintegerNoMax search pages to scan (0 = unlimited)
listingDetailsbooleanNoExtract detailed listing info (default: true)
scrapeCalendarbooleanNoExtract 12-month availability calendar (default: false)
downloadImagesbooleanNoDownload listing images as zip (default: false)
proxyConfigurationobjectNoProxy settings (Apify Residential by default)

Input JSON Example

{
"searchQueries": ["newyork", "paris"],
"maxListings": 100,
"maxPages": 5,
"listingDetails": true,
"scrapeCalendar": false,
"downloadImages": false,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Output

Each dataset item is a complete Airbnb listing object. Download in JSON, CSV, HTML, or Excel from the Apify Console.

{
"identifier": "1234567890123456789",
"url": "https://www.airbnb.com/rooms/1234567890123456789",
"active": true,
"headline": "Stunning Manhattan studio with skyline views",
"name": "Cozy Studio in Midtown East",
"description": "Modern studio apartment in the heart of Manhattan...",
"unit": {
"name": "Cozy Studio in Midtown East",
"category": "PROPERTY_TYPE_APARTMENT",
"active": true
},
"images": [
{"identifier": "123...", "url": "https://a0.muscache.com/...", "title": ""}
],
"location": {
"address": {"city": "New York", "subdivision": "NY", "country": "United States"},
"coordinates": {"lat": "40.7531", "lng": "-73.9822"},
"show_exact": true
},
"host": {
"host": {"name": "Jane", "profilePictureUrl": "https://..."},
"superhost": true,
"verified": true,
"stats": [
{"label": "Response rate", "value": "100%", "type": "percentage"},
{"label": "Response time", "value": "within an hour", "type": "text"}
]
},
"rating": {
"total_reviews": 142,
"overall_rating": 4.85,
"ratings": [
{"categoryType": "cleanliness", "label": "Cleanliness", "percentage": 95},
{"categoryType": "accuracy", "label": "Accuracy", "percentage": 93}
]
},
"supplement": {
"max_guests": 3,
"allows_children": false,
"allows_pets": false,
"allows_events": true,
"cancellation_policy": "MODERATE"
},
"features": [{"name": "Wifi", "description": ""}, {"name": "Kitchen", "description": ""}],
"safety_features": [{"name": "Smoke alarm", "note": ""}],
"bathrooms": [{"name": "Bathroom 1", "category": "FULL_BATH", "amenities": []}],
"bedrooms": [{"name": "Bedroom 1", "category": "BEDROOM", "amenities": []}],
"calendar": [
{"available": true, "date": "2025-06-15", "availableForCheckin": true, "availableForCheckout": true}
],
"imageDownloadUrl": "https://api.apify.com/v2/key-value-stores/abc123/records/1234567890123456789_images.zip",
"imageDownloadStats": {"total": 24, "downloaded": 24}
}

Data Fields

FieldTypeDescription
identifierstringAirbnb listing ID
urlstringFull listing URL
activebooleanWhether listing is active
headlinestringSEO headline / og:description
namestringListing title
descriptionstringFull property description
unitobjectProperty type, name, category
imagesarrayProperty photos (URLs)
locationobjectAddress + coordinates
hostobjectHost profile, superhost status, stats
ratingobjectOverall rating, review count, breakdown
featuresarrayAmenities and property features
safety_featuresarraySafety equipment
bathroomsarrayBathroom details and amenities
bedroomsarrayBedroom details with bed types
supplementobjectMax guests, pets/children/events policy, cancellation
calendararray12-month availability calendar (if enabled)
imageDownloadUrlstringDownload link for zipped listing images (if enabled)
imageDownloadStatsobjectImage download total/downloaded counts (if enabled)

Pricing: Pay Per Event

This Actor uses pay-per-event (PPE) pricing — you only pay for the data you extract. Each listing goes through up to 4 chargeable events:

EventDescriptionWhen Charged
listing-urlsEach listing URL discovered from searchPer URL found
listing-detailsFull property details extractionPer successful detail scrape
listing-calendar12-month availability calendarPer successful calendar fetch
image-downloadsDownload and zip listing imagesPer successful image batch

Example costs (approximate, check Apify Console for current pricing):

  • 100 listings with details only → ~$0.50
  • 1,000 listings with details + calendar → ~$5.00
  • 100 listings with details + images → ~$2.00

Disable features you don't need (listingDetails, scrapeCalendar, downloadImages) to control costs. Actual pricing is configured in the Apify Console Publication tab.

  • Shifter — Reliable residential proxies worldwide. Cheap rates. Order Shifter Now. Get 10% off with code rigelbytes-YoBB.

  • OxyLabs — 100M+ proxies. Fastest residential IPs with quality assurance. Get Proxies

  • DataImpulse — 200+ countries. Residential proxies from $1/GB. Get Residential Proxies

Learn More About Proxies

Running via Apify Console

  1. Go to the Actor page on Apify Console
  2. Click Run and fill in the Input tab
  3. Provide at least one search query
  4. Enable proxy (Apify Residential recommended)
  5. Click Start and monitor progress

Running via API

Python

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run_input = {
"searchQueries": ["newyork"],
"maxListings": 100,
}
run = client.actor("rigelbytes/airbnb-detailed-scraper").call(run_input=run_input)

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });
const input = {
"searchQueries": ["newyork"],
"maxListings": 100,
};
const run = await client.actor("rigelbytes/airbnb-detailed-scraper").call(input);

cURL

API_TOKEN=<YOUR_API_TOKEN>
cat > input.json <<'EOF'
{
"searchQueries": ["newyork"],
"maxListings": 100
}
EOF
curl "https://api.apify.com/v2/acts/rigelbytes/airbnb-detailed-scraper/runs?token=$API_TOKEN" \
-X POST \
-d @input.json \
-H 'Content-Type: application/json'

Tips for Optimizing Runs

  • Use specific queries — "paris 3rd arrondissement" returns more targeted results than "paris"
  • Set maxListings — keep runs predictable by capping total listings
  • Enable only what you need — turn off listingDetails, scrapeCalendar, or downloadImages if you don't need them to reduce cost and speed up runs
  • Use residential proxies — essential for large-scale scraping. Apify Residential proxies (enabled by default) rotate per request
  • Multiple queries — pass multiple search queries in one run for batch scraping
  • Monitor logs — Actor logs show discovery progress and which features are running for each listing
  • Set a spending limit — configure a maximum total charge per run in Apify Console to control PPE costs

FAQ, Disclaimers, and Support

This tool scrapes publicly available data from Airbnb. Users are responsible for complying with Airbnb's Terms of Service and applicable laws. This scraper is designed for legitimate data analysis and research purposes.

How fast is it?

The scraper uses a concurrent producer-consumer architecture. Search pages are fetched sequentially (to respect rate limits), while listing detail pages, calendar data, and image downloads are scraped in parallel (5 concurrent workers, each with independent proxy rotation). A typical listing detail scrape takes 2-5 seconds.

What happens if a listing fails?

Each feature (details, calendar, images) runs independently with its own proxy. If one feature fails, the others continue unaffected. Failed operations are silently skipped — the dataset still includes whatever data was successfully extracted for that listing.

Need a custom solution?

Contact us at contact@rigelbytes.com or book an appointment for custom scraping solutions.

Other Tools by Rigel Bytes

Airbnb Images Downloader | Airbnb Reviews Scraper | Airbnb Availability Calendar | Airbnb Address Finder | Zillow Scraper | Google Maps Scraper

Understanding Proxies

Proxies act as intermediaries between your scraper and the target website, masking your IP address.

Why Use Proxies?

  • Avoid IP blocks — prevent Airbnb from recognizing your scraper IP
  • Access regional content — proxies from different locations show local pricing/availability
  • Scale reliably — rotating proxies distribute requests across many IPs

Types of Proxies

  1. Residential Proxies — Real ISP-assigned IPs. Hardest to detect. Best for long-term scraping.
  2. Data Center Proxies — Cheaper, faster, but easier to detect and block.
  3. Mobile Proxies — Carrier IPs (3G/4G/5G). Very hard to detect.

Rotating vs. Straight Proxies

  • Rotating — different IP per request. Essential for Airbnb scraping at scale.
  • Straight — same IP for all requests. Higher risk of detection.

About Rigel Bytes

Rigel Bytes specializes in web scraping, automation, and data analytics. We help businesses extract and leverage valuable data for informed decision-making.

Contact Us

Ready to unlock the power of data? Reach out to us at contact@rigelbytes.com or book an appointment to learn more about how we can help you achieve your data goals.