AirROI APIairroi.com ↗
Access Airbnb short-term rental data from AirROI: occupancy rates, ADR, estimated revenue, amenities, ratings, and 60-month market metrics by city.
What is the AirROI API?
The AirROI API exposes 5 endpoints covering short-term rental property data from AirROI's Market Atlas, including individual listing details, city-wide property snapshots, and 60 months of historical market metrics. The get_market_metrics endpoint returns percentile distributions (p25/p50/p75/p90) for occupancy, ADR, revenue, and RevPAR aggregated at the market level. Coverage spans Airbnb listings across multiple countries, addressable by ISO country code, state, and city.
curl -X GET 'https://api.parse.bot/scraper/70d75792-6c3b-437c-90b6-7bf2ffa0da02/list_properties?city=Tulum&state=Quintana+Roo&sort_order=revenue_desc&country_code=MX' \ -H 'X-API-Key: $PARSE_API_KEY'
List short-term rental properties for a given location (country, state, city). Returns summary metrics for each listing including coordinates, occupancy rate, ADR, estimated revenue, and property details. Fetches full detail for every listing via batch lookups, so response includes bedrooms, baths, guests, star rating, reviews, listing name, type, and cover photo. Results are not paginated — all matching properties for the location are returned in a single response (typically hundreds to thousands). Includes a time-budget mechanism: for very large markets (tens of thousands of listings), detail enrichment proceeds as far as possible within the execution window; all listings are always returned but some may have sparse detail fields in extremely large markets. Larger markets require more internal round-trips and may take 10–50 seconds.
| Param | Type | Description |
|---|---|---|
| city | string | City name (e.g. 'Tulum', 'Miami'). Hyphens are converted to spaces automatically. |
| state | string | State or province name. Use spaces for multi-word names (e.g. 'Quintana Roo', 'New York'). Hyphens are converted to spaces automatically. |
| sort_order | string | Sort order for results. Omitting defaults to revenue_desc. |
| country_coderequired | string | ISO 2-letter country code (e.g. 'MX', 'US', 'FR'). |
{
"type": "object",
"fields": {
"total": "total count of properties returned",
"properties": "array of property summary objects with id, listing_id, listing_name, coordinates, city, state, country_code, bedrooms, beds, baths, guests, listing_type, occupancy_rate, average_daily_rate, revenue, star_rating, num_reviews, cover_photo_url"
},
"sample": {
"data": {
"total": 9074,
"properties": [
{
"id": "BHOV258BugQE9_p7EpKP",
"beds": 0,
"city": null,
"baths": 0,
"state": null,
"guests": 0,
"revenue": 6268975,
"bedrooms": 0,
"latitude": 20.37192857,
"longitude": -87.32906689,
"listing_id": null,
"num_reviews": 0,
"star_rating": 0,
"country_code": null,
"listing_name": null,
"listing_type": null,
"occupancy_rate": 0.438,
"average_daily_rate": 39028.5
}
]
},
"status": "success"
}
}About the AirROI API
Listing and Property Data
The list_properties endpoint accepts a required country_code (ISO 2-letter) and optional state and city parameters, and returns a summary array of matching STR properties. Each property object includes id, listing_id, listing_name, GPS coordinates, bedrooms, beds, baths, occupancy_rate, ADR, and estimated revenue. Results can be ordered via the sort_order parameter; omitting it defaults to revenue_desc.
For deeper detail on a single listing, get_property_details takes the internal property_id from list_properties and returns the full object: a complete amenities list, monthly_metrics covering historical occupancy, ADR, and revenue per month, guest ratings, capacity, fees, and booking settings. The get_city_details endpoint delivers the same structured detail objects for every active listing in a location in one call, batching individual lookups internally.
Market-Level Analytics
get_market_metrics returns 60 monthly rows for a given market, each containing location identifiers (country, region, locality, district), a date field in MM/DD/YYYY format, and metric columns for occupancy, ADR, revenue, and RevPAR — each with _avg, _p25, _p50, _p75, and _p90 variants. The response also includes a yoy object with year-over-year change ratios for key metrics, the market's ISO currency code, and a market_active_listings count.
Per-Listing Monthly Performance
get_listings_monthly_metrics returns up to 12 months of monthly history for every active listing in a city. Each entry in the listings array carries a property_id and a monthly_metrics array with per-row date, occupancy, adr, and revenue fields. This endpoint is suited for building cross-listing comparisons or feeding time-series models at the individual property level.
The AirROI API is a managed, monitored endpoint for airroi.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when airroi.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official airroi.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Rank STR listings in a target city by estimated revenue using
list_propertieswithsort_order=revenue_desc. - Analyze 60-month occupancy and ADR trends for a market using
get_market_metricspercentile distributions. - Compare amenities across competing properties in a city using the amenities list from
get_city_details. - Build a monthly revenue forecasting model using per-listing
monthly_metricsfromget_listings_monthly_metrics. - Evaluate a specific Airbnb listing's ratings, fees, and historical performance via
get_property_details. - Assess year-over-year RevPAR shifts for Tulum, Miami, or any supported market using the
yoyobject inget_market_metrics. - Screen markets by active listing count and median occupancy before committing to STR investment analysis.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does AirROI have an official developer API?+
What does `get_market_metrics` return, and how many months of history are included?+
get_market_metrics always returns exactly 60 monthly rows. Each row includes date (MM/DD/YYYY), plus _avg, _p25, _p50, _p75, and _p90 columns for occupancy, ADR, revenue, and RevPAR. The response also includes a yoy object with year-over-year change ratios and the market's ISO currency code.Can I retrieve data for neighborhoods or subdivisions below the city level?+
get_market_metrics includes neighborhood and subdivision fields, but the query parameters for filtering are country_code, state, and city. Sub-city filtering by neighborhood is not currently exposed as a direct input parameter. You can fork the API on Parse and revise it to add a neighborhood-level filter endpoint.Does the API return Vrbo or other non-Airbnb listings?+
Are there any known limitations around data freshness or listing coverage?+
get_listings_monthly_metrics returns up to 12 months of history per listing, while get_market_metrics returns 60 months at the market level. Coverage depends on what AirROI has indexed for a given market; less-trafficked cities may have fewer active listings than major STR destinations like Tulum or Miami.