Skip to main content

Airbnb Revenue, Occupancy & ROI Analyzer — Python SDK

Python client for the Airbnb Revenue, Occupancy & ROI Analyzer Apify Actor. Send public Actor inputs, wait for the hosted run, and receive clean Dataset rows without maintaining scraping infrastructure.

Apify Actor Python 3.9+ License: MIT

Results

  • Weekly, monthly and annual revenue estimates
  • ADR, occupancy, RevPAR and NOI
  • Cap rate and cash-on-cash ROI
  • Listing and market-comparable modes

The Actor uses public marketplace signals and returns estimates or ranges where a platform does not publish exact figures.

Install

pip install airbnb-revenue-analyzer

Create an Apify token at Console → Integrations, then:

from airbnb_revenue_analyzer import AirbnbRevenueAnalyzerClient

client = AirbnbRevenueAnalyzerClient(api_token="apify_api_xxxxxx")
rows = client.run({'mode': 'market', 'searchLocation': 'Austin, Texas', 'maxComparableListings': 10})
print(rows[0] if rows else "No results")

You can set APIFY_API_TOKEN instead of passing the token in code.

Public input options

Field Type Default Description
mode string listing Analyze supplied listing URLs or discover and rank comparable listings for a location.
listingUrls array Public Airbnb room links or numeric listing IDs. One analysis row is returned per successful listing.
searchLocation string `` City, neighborhood or destination used to discover public comparable listings in market mode.
maxComparableListings integer 10 Number of discovered properties to analyze and rank in market mode.
searchBedrooms integer 0 Optional minimum bedroom filter for market comparable discovery. Use 0 for any.
searchGuests integer 0 Optional guest-count filter for market comparable discovery. Use 0 for Airbnb defaults.
calendarMonths integer 6 Analyze 1–12 months of forward availability. Longer windows improve seasonality coverage.
currency string USD Three-letter currency requested for published Airbnb prices and used for your financial assumptions.
nightlyRateOverride number 0 Optional ADR assumption. Set 0 to use published forward calendar prices.
bookingShareOfBlockedPercent number 75 Blocked nights may also be owner blocks or maintenance. This assumption converts the public blocked-night rate into estimated occupancy.
averageStayNights number 3 Average booked nights per reservation, used for cleaning revenue and cost modeling.
cleaningFeeRevenuePerStay number 0 Cleaning fee revenue collected from the guest for each estimated reservation.
cleaningCostPerStay number 0 Your cleaning expense for each estimated reservation.
platformFeePercent number 3 Estimated booking-platform fee as a percentage of gross revenue.
managementFeePercent number 15 Property-management cost as a percentage of gross revenue.
maintenancePercent number 5 Maintenance and replacement reserve as a percentage of gross revenue.
utilitiesMonthly number 300 Average monthly utilities paid by the property owner.
insuranceAnnual number 1500 Annual insurance cost for the property.
propertyTaxAnnual number 0 Annual property-tax expense.
hoaMonthly number 0 Monthly homeowners-association or building fee.
mortgageMonthly number 0 Debt service is excluded from NOI and included in annual cash flow and cash-on-cash return.
purchasePrice number 0 Required for cap rate and acquisition return metrics. Set 0 for operations-only analysis.
downPaymentPercent number 20 Down payment as a percentage of purchase price, used to calculate cash invested.
closingCosts number 0 One-time acquisition closing costs included in cash invested.
furnishingCosts number 0 One-time furnishing and launch costs included in cash invested.
emitProjectionRows boolean False Also emit each weekly and monthly projection as a separate uncharged Dataset row for CSV and spreadsheet workflows.
previousSnapshots array [] Optional prior property metrics used to calculate occupancy, ADR and annual-revenue changes and monitoring alerts.
maxConcurrency integer 3 Parallel property analyses. The default balances speed and upstream reliability.
proxyConfiguration object {"useApifyProxy":true,"apifyProxyGroups":["RESIDENTIAL"],"co Residential proxy is recommended for public Airbnb availability.

The complete, versioned schema is also available on the Actor page.

Pricing

Pay per delivered result through Apify, starting around $5/1,000 results on paid tiers. Free-plan pricing and platform usage can differ; check the Actor page before large runs.

Examples

  • examples/quickstart.py — first run
  • examples/bulk_analysis.py — expand a target list
  • examples/export_csv.py — save flat result fields
  • examples/save_json.py — preserve nested output
  • examples/cost_estimate.py — estimate result-event charges
  • examples/environment_token.py — keep credentials out of code

Architecture and privacy

This repository is intentionally a thin API client. Collection, retries, analysis and billing run inside the hosted Apify Actor. No private implementation, credentials, scoring weights or infrastructure configuration are included.

License

MIT. The hosted Actor is a separate paid service governed by Apify terms.

Release files for airbnb-revenue-analyzer 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for airbnb-revenue-analyzer 0.1.0
File Size Uploaded
airbnb_revenue_analyzer-0.1.0.tar.gz 6.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for airbnb-revenue-analyzer 0.1.0
File Interpreter ABI Platform
airbnb_revenue_analyzer-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 13.5 kB

Release files / airbnb_revenue_analyzer-0.1.0.tar.gz

Download URL airbnb_revenue_analyzer-0.1.0.tar.gz
Size 6.3 kB
Tags Source
SHA-256 checksum
How to use checksums
db2b75c8df66782db6529ef2d738d4e11047b4d26b0cc78178c4a3a1a5d321e9
BLAKE2b-256 checksum
How to use checksums
703a72e5e4018269a38a544a0136efcb9681c79141dd127ca5f18c123f279308
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / airbnb_revenue_analyzer-0.1.0-py3-none-any.whl

Download URL airbnb_revenue_analyzer-0.1.0-py3-none-any.whl
Size 7.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3b16dc56d7ac638ae50a54786cfbdad1f08cd43681dedbeba30b113774d36373
BLAKE2b-256 checksum
How to use checksums
bf2410eced4ea0fb5bb0d52ad9f4d8de30d63ce24c6991ab50a56eee878af251
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page