Airbnb Occupancy Scraper avatar
Airbnb Occupancy Scraper

Pricing

$19.99/month + usage

Go to Apify Store
Airbnb Occupancy Scraper

Airbnb Occupancy Scraper

Scrape Airbnb occupancy data for any listing or region. Get availability, booked dates, calendar insights, and pricing trends to support market research, revenue planning, and competitive analysis. Outputs clean, structured data.

Pricing

$19.99/month + usage

Rating

0.0

(0)

Developer

Scraper Engine

Scraper Engine

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Airbnb Occupancy Calendar Scraper

Extract availability calendar data from Airbnb listings with intelligent proxy fallback and comprehensive error handling.

Why Choose This Actor?

This actor provides reliable extraction of Airbnb occupancy data with:

  • Smart Proxy Fallback: Automatically switches from no proxy → datacenter → residential proxy on failures
  • Bulk Processing: Handle multiple room IDs in a single run
  • Structured Output: Clean JSON format matching Airbnb's calendar data structure
  • Error Resilience: Continues processing even if some rooms fail
  • Apify Integration: Full Apify platform support with dataset storage

Key Features

  • 🚀 Fast & Reliable: Optimized requests with retry logic
  • 🔄 Proxy Intelligence: Automatic fallback to residential proxies on blocks
  • 📊 Structured Data: Clean calendar format with date/availability pairs
  • 🔧 Easy Configuration: Simple input parameters
  • 📈 Bulk Support: Process multiple rooms simultaneously
  • 🛡️ Error Handling: Graceful failure recovery

Input

JSON Schema

{
"roomIds": ["35329051", "769824007018240779"],
"month": 12,
"year": 2026,
"proxyConfiguration": {
"useApifyProxy": false
}
}

Field Descriptions

  • roomIds (required): Array of Airbnb room IDs as strings
  • month (optional): Month number (1-12), defaults to 12
  • year (optional): Year number, defaults to 2026
  • proxyConfiguration (optional): Apify proxy settings, defaults to no proxy

Output

Apify Dataset Format

Each record represents one date for one room with availability status:

{
"room_id": "35329051",
"date": "2026-12-01",
"available": false
}

Exported JSON Example

When exported from Apify dataset, the data appears as a flat array:

[
{"room_id": "35329051", "date": "2026-12-01", "available": false},
{"room_id": "35329051", "date": "2026-12-02", "available": true},
{"room_id": "769824007018240779", "date": "2026-12-01", "available": false}
]

Note on Output Format

The Apify dataset stores individual records for optimal querying and filtering. This is different from the original script's grouped JSON format, but provides better flexibility for data analysis and integration with other tools.

🚀 How to Use the Actor (via Apify Console)

  1. Log in at https://console.apify.com and go to Actors
  2. Find your actor (search for "airbnb-occupancy-scraper")
  3. Configure inputs:
    • Add Airbnb room IDs (comma-separated or array)
    • Set month/year for calendar data
    • Configure proxy settings if needed
  4. Run the actor and monitor progress in real-time logs
  5. Access results in the OUTPUT tab
  6. Export results to JSON, CSV, or download directly

Proxy Configuration

This actor implements intelligent proxy management:

  • Default: Starts with direct connection (no proxy)
  • On Block: Automatically falls back to datacenter proxy
  • On Failure: Falls back to residential proxy with 3 retries
  • Persistence: Sticks with residential proxy for remaining requests once successful

Best Use Cases

  • Market Analysis: Track occupancy rates across multiple listings
  • Price Optimization: Identify high/low occupancy periods
  • Competitor Research: Compare availability patterns
  • Investment Analysis: Historical occupancy trends
  • Booking Platforms: Sync availability data

Technical Details

Request Flow

  1. API Key Extraction: Fetches Airbnb API key from room page
  2. Operation ID Discovery: Dynamically finds GraphQL operation ID
  3. Calendar Data Fetch: Retrieves 12 months of availability data
  4. Data Extraction: Parses calendar months and days
  5. Dataset Storage: Saves structured data to Apify dataset

Error Handling

  • Network Errors: Automatic retry with exponential backoff
  • Proxy Blocks: Intelligent fallback to higher-tier proxies
  • Data Errors: Continues processing other rooms on individual failures
  • Rate Limits: Built-in delays and proxy rotation

Performance

  • Concurrent Processing: Handles multiple rooms efficiently
  • Memory Efficient: Processes data in-memory without file storage
  • Smart Caching: Reuses API keys across rooms

Frequently Asked Questions

Q: How do I find Airbnb room IDs? A: Room IDs are in the URL: https://www.airbnb.com/rooms/{ROOM_ID}

Q: What date range does it cover? A: Returns 12 months of data starting from the specified month/year.

Q: Can I scrape historical data? A: Yes, set past months/years to get historical availability.

Q: What if some rooms fail? A: The actor continues processing other rooms and logs errors.

Q: How does proxy fallback work? A: Starts direct → datacenter proxy → residential proxy with retries.

Support and Feedback

For issues or feature requests:

  • Check the logs for detailed error information
  • Ensure room IDs are valid and accessible
  • Verify proxy configuration if using proxies

⚠️ Important Notes

  • Legal Compliance: Ensure your usage complies with Airbnb's Terms of Service
  • Rate Limiting: Built-in delays prevent overwhelming Airbnb servers
  • Data Privacy: Only extracts publicly available calendar information
  • Fair Use: Respect Airbnb's robots.txt and rate limits

Built with ❤️ using Apify platform