AirROI API (1.0.1)

Download OpenAPI specification:

Elevate your short-term rental strategy with AirROI's Enterprise API, the leading solution for Airbnb and vacation rental market analytics. Surpass market expectations with unparalleled data depth, advanced property revenue forecasting, and comprehensive competitive intelligence. Our API delivers actionable insights for identifying high-yield investments, optimizing rental performance, and mastering market dynamics. Designed for discerning property managers, savvy investors, and data-driven analysts seeking a decisive advantage in the STR ecosystem. Experience the next level of STR data analytics and unlock superior returns with AirROI.

https://www.airroi.com/

Authentication:

This API is secured using an API key. Please include your assigned API key in the request headers as follows:

  • Header Name: X-API-KEY
  • Value: your-airroi-api-key

To obtain an API key, please contact us.

Listings

Access comprehensive Airbnb listings and vacation rental search capabilities through our property data API. Search and analyze short-term rental listing data across multiple markets to find investment opportunities and track competitor properties.

Search Listings by Location

Use our Airbnb listing search API for comprehensive vacation rental property search with STR location-based search capabilities. Perform short-term rental geographic queries and holiday rental market analysis using three flexible search methods:

  1. Market ID: Search within a specific market using base64-encoded market identifier
  2. Point & Radius: Find listings within a radius (1-100 miles) of geographic coordinates
  3. Polygon: Search within a custom geographic boundary (minimum 3 points)

Returns listing summaries with key performance metrics for vacation rental property search. For detailed property information, use the listing details endpoint with the returned listing ID.

Request Body Parameters

Parameter Type Required Description Example
market_id string Conditional¹ Base64-encoded market identifier from market search endpoint "RlLCp0lsZS1kZS1GcmFuY2XCp1BhcmlzwqfCpw=="
latitude number Conditional² Latitude for center point of radius search (-90 to 90) 48.8566
longitude number Conditional² Longitude for center point of radius search (-180 to 180) 2.3522
radius_miles integer Conditional² Search radius in miles (1-100) 5
polygon array Conditional³ Array of coordinate objects defining search boundary (min 3 points) See example below
currency string Optional Currency for financial data. Supported: "USD" or "native" (default: native) "USD"

Notes:

  • ¹ Required if using market search (cannot combine with other search methods)
  • ² All three required together for point/radius search
  • ³ Required if using polygon search (cannot combine with other search methods)
Request Body schema: application/json
required
market_id
string

Base64-encoded market identifier obtained from market search endpoint. Conditionally required: Use this OR point/radius OR polygon search.

latitude
number <double> [ -90 .. 90 ]

Latitude for center point of radius search. Conditionally required: Must be provided with longitude and radiusMiles.

longitude
number <double> [ -180 .. 180 ]

Longitude for center point of radius search. Conditionally required: Must be provided with latitude and radiusMiles.

radius_miles
integer [ 1 .. 100 ]

Search radius in miles from the center point. Conditionally required: Must be provided with latitude and longitude.

Array of objects (Geographic Coordinate) >= 3 items

Array of coordinates defining polygon vertices. Minimum 3 points required. Points should form a valid polygon; the system will automatically close it. Conditionally required: Use this OR market ID OR point/radius search.

currency
string
Enum: "USD" "native"

Optional currency for financial data conversion. If omitted, returns native currency. Supported values: "USD" or "native".

Responses

Request samples

Content type
application/json
Example
{
  • "market_id": "VVPCp0NhbGlmb3JuaWHCp0xvcyBBbmdlbGVzwqfCpw==",
  • "currency": "USD"
}

Response samples

Content type
application/json
Example
{
  • "listings": [
    ],
  • "total": 42000
}

Batch Retrieve Multiple Listings

Access our bulk Airbnb data API to fetch multiple listing details for STR portfolio analysis through a single vacation rental batch query. Ideal for property data bulk export, analyzing property portfolios, competitive sets, or processing up to 1000 listings simultaneously.

Returns comprehensive listing details including property characteristics, host information, amenities, pricing, reviews, and performance metrics (TTM and L90D) for vacation rental batch query operations. Non-existent or invalid IDs are silently omitted from the response.

Request Body Parameters

Parameter Type Required Description Example
listing_ids array[string] Yes Array of Airbnb listing IDs to retrieve (max 1000) ["864436643850114138", "1107064749452471365"]
currency string Optional Currency for financial data. Supported: "USD" or "native" (default: native) "USD"

Notes:

  • Maximum 1000 listing IDs per request
  • Invalid or non-existent IDs are silently omitted from the response
  • If currency is not specified, each listing returns data in its native currency
  • Response is an array of listing objects, not wrapped in an object
Request Body schema: application/json
required
listing_ids
required
Array of strings [ 1 .. 1000 ] items

List of Airbnb listing IDs to retrieve. Maximum 1000 per request. These are numeric listing IDs like those returned in the 'listingId' field.

currency
string
Enum: "USD" "native"

Optional currency for financial data conversion. If omitted, returns each listing's native currency. Supported values: "USD" or "native".

Responses

Request samples

Content type
application/json
Example
{
  • "listing_ids": [
    ],
  • "currency": "USD"
}

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve Single Listing

Access our Airbnb property details API to retrieve comprehensive vacation rental listing data and STR property analytics for individual listing performance analysis. Get complete short-term rental property information using the listing's unique identifier.

Returns extensive property information including:

  • Property characteristics (bedrooms, bathrooms, amenities)
  • Host details and superhost status
  • Location data with coordinates
  • Pricing structure and fees
  • Guest reviews and ratings
  • Performance metrics (TTM and L90D) for vacation rental listing data
  • Availability and booking patterns for STR property analytics
path Parameters
id
required
string
Example: 43036533

Airbnb listing ID to fetch detailed information about a specific property. Use numeric listing IDs like those returned in the 'listingId' field.

query Parameters
currency
string
Enum: "USD" "native"
Example: currency=USD

Currency for financial data conversion. Default: native currency. Supported values: "USD" or "native" (listing's local currency).

Responses

Response samples

Content type
application/json
Example
{
  • "id": "uEKhLJcBHvEKf8-qhLNu",
  • "listing_id": 43036533,
  • "listing_name": "Beachfront Villa with Private Pool",
  • "listing_type": "Entire villa",
  • "room_type": "entire_home",
  • "property_type": "Villa",
  • "photos_count": 45,
  • "host_id": 156789234,
  • "host_name": "Alexandra",
  • "cohosts": [ ],
  • "superhost": true,
  • "country_code": "US",
  • "state": "California",
  • "city": "Malibu",
  • "neighborhood": "Malibu Beach",
  • "latitude": 34.0259,
  • "longitude": -118.7798,
  • "guests": 8,
  • "bedrooms": 4,
  • "beds": 5,
  • "baths": 3.5,
  • "registration": true,
  • "amenities": [
    ],
  • "instant_book": false,
  • "min_nights": 3,
  • "cancellation_policy": "strict_14_with_grace_period",
  • "currency": "USD",
  • "cleaning_fee": 350,
  • "extra_guest_fee": 75,
  • "security_deposit": 1000,
  • "num_reviews": 89,
  • "star_rating": 4.96,
  • "rating_overall": 4.96,
  • "rating_accuracy": 4.98,
  • "rating_checkin": 4.97,
  • "rating_cleanliness": 4.95,
  • "rating_communication": 4.98,
  • "rating_location": 5,
  • "rating_value": 4.92,
  • "ttm_revenue": 285000,
  • "ttm_avg_rate": 1250,
  • "ttm_occupancy": 0.625,
  • "ttm_adjusted_occupancy": 0.61,
  • "ttm_revpar": 781.25,
  • "ttm_adjusted_revpar": 762.5,
  • "ttm_total_days": 365,
  • "ttm_available_days": 350,
  • "ttm_blocked_days": 15,
  • "ttm_days_reserved": 219,
  • "l90d_revenue": 95000,
  • "l90d_avg_rate": 1500,
  • "l90d_occupancy": 0.7,
  • "l90d_adjusted_occupancy": 0.68,
  • "l90d_revpar": 1050,
  • "l90d_adjusted_revpar": 1020,
  • "l90d_total_days": 90,
  • "l90d_available_days": 88,
  • "l90d_blocked_days": 2,
  • "l90d_days_reserved": 62
}

Comparable Listings

Find Airbnb comparable properties using our STR competitive analysis and vacation rental comps API. Our property benchmarking tool identifies similar short-term rental properties for accurate short-term rental market comparison based on location and property characteristics.

Perfect for:

  • Setting competitive pricing strategies with vacation rental comps API
  • Understanding local market performance through STR competitive analysis
  • Benchmarking property potential using Airbnb comparable properties
  • Investment analysis and valuation with our property benchmarking tool

Returns up to 50 detailed comparable listings ranked by relevance for comprehensive short-term rental market comparison.

query Parameters
latitude
required
number <double> [ -90 .. 90 ]
Example: latitude=34.052235

Property latitude for comparison

longitude
required
number <double> [ -180 .. 180 ]
Example: longitude=-118.243683

Property longitude for comparison

bedrooms
required
integer [ 0 .. 20 ]
Example: bedrooms=2

Number of bedrooms in subject property

baths
required
number <double> [ 0 .. 20 ]
Example: baths=2

Number of bathrooms in subject property (supports half baths as decimals)

guests
required
integer [ 1 .. 30 ]
Example: guests=4

Guest capacity of subject property

limit
integer [ 1 .. 50 ]
Default: 30
Example: limit=20

Maximum comparable listings to return (default: 30)

currency
string
Enum: "USD" "native"
Example: currency=USD

Currency for financial data in comparable listings. Default: each listing's native currency. Supported values: "USD" or "native" (each listing's local currency).

Responses

Response samples

Content type
application/json
Example
{
  • "listings": [
    ]
}

Markets

Analyze STR market analysis data including rental market data, occupancy rates, and ADR trends. Get insights into short-term rental market trends, historical performance metrics, and future market outlook to make informed investment decisions.

Search Markets by Name

Search for Airbnb market data and vacation rental market information using our comprehensive STR market identifier lookup. Find short-term rental location data by searching with city names, neighborhoods, states, or countries to discover holiday rental market opportunities. The endpoint supports partial matching, making it ideal for building autocomplete and typeahead functionality in location search interfaces.

Returns matching markets with their unique base64-encoded market IDs, active listing counts, and local currency information. Use the returned market ID for accessing historical performance data and future projections through our vacation rental market lookup system.

query Parameters
query
required
string non-empty
Example: query=Los Angeles

Location search query. Examples: "Los Angeles", "Manhattan", "California", "Seattle". Avoid using state abbreviations (use "California" not "CA").

Responses

Response samples

Content type
application/json
Example
{
  • "entries": [
    ]
}

Find Market by Coordinates

Convert coordinates to market ID using our latitude longitude market lookup system. This STR geographic resolver finds the nearest short-term rental listing to the provided coordinates and returns the associated market ID for vacation rental location analysis.

Our Airbnb market geocoding tool is perfect for converting property locations into market identifiers for further analysis. Returns a base64-encoded market ID that can be used with other market endpoints as a vacation rental location finder.

query Parameters
lat
required
number <double> [ -90 .. 90 ]
Example: lat=34.0522

Latitude coordinate (-90 to 90)

lng
required
number <double> [ -180 .. 180 ]
Example: lng=-118.2437

Longitude coordinate (-180 to 180)

Responses

Response samples

Content type
application/json
{
  • "market_id": "VVPCp0NhbGlmb3JuaWHCp0xvcyBBbmdlbGVzwqfCpw=="
}

Monthly Historical Metrics

Access comprehensive Airbnb historical data API for STR market performance history and vacation rental analytics. Analyze monthly occupancy trends, short-term rental revenue data, and market ADR analysis with detailed percentile distributions.

Our API provides 25th, 50th, 75th, and 90th percentiles for key metrics, enabling detailed market benchmarking of vacation rental analytics. Filter historical performance data by property characteristics including room type, bedroom count, bathroom count, and guest capacity to gain insights into STR market performance history.

query Parameters
market_id
required
string
Example: market_id=VVPCp0NhbGlmb3JuaWHCp0xvcyBBbmdlbGVzwqfCpw==

Base64-encoded market identifier obtained from market search

start_year
integer >= 2015
Example: start_year=2023

Starting year for historical data (e.g., 2023). Must be provided together with start_month. If omitted, returns the most recent 12 months of available data.

start_month
integer [ 1 .. 12 ]
Example: start_month=1

Starting month (1-12) for historical data. Required when start_year is provided.

number_of_months
integer [ 1 .. 60 ]
Default: 12
Example: number_of_months=24

Number of months to retrieve (default: 12)

room_types
Array of strings
Items Enum: "entire_home" "private_room" "shared_room"
Example: room_types=entire_home,private_room

Filter by room types. Valid values: "entire_home", "private_room", "shared_room". Can be provided as comma-separated values or multiple parameters.

bedrooms
integer [ 0 .. 10 ]
Example: bedrooms=2

Filter by exact number of bedrooms

bathrooms
number <double> [ 0 .. 10 ]
Example: bathrooms=1.5

Filter by exact number of bathrooms (supports decimals, e.g., 1.5)

accommodates
integer [ 1 .. 16 ]
Example: accommodates=4

Filter by exact guest capacity

currency
string
Default: "native"
Enum: "native" "USD" "usd"
Example: currency=USD

Currency for financial metrics. Default: "native". Supported values: "USD" or "native" (market's local currency). Case-insensitive.

Responses

Response samples

Content type
application/json
Example
{
  • "market_id": "VVPCp0NhbGlmb3JuaWHCp0xvcyBBbmdlbGVzwqfCpw==",
  • "currency": "USD",
  • "monthly_stats": [
    ]
}

Daily Future Metrics

Access our STR market forecast API for comprehensive Airbnb future pricing data and vacation rental demand projections. Analyze short-term rental availability forecast data including booking patterns, booking rate predictions, and market occupancy outlook.

Get detailed percentile distributions (25th, 50th, 75th, 90th) for both booked and available rates through our vacation rental demand projections system. Filter future pricing data by property characteristics to focus on specific market segments and optimize your short-term rental availability forecast strategies.

query Parameters
market_id
required
string
Example: market_id=VVPCp0NhbGlmb3JuaWHCp0xvcyBBbmdlbGVzwqfCpw==

Base64-encoded market identifier obtained from market search

start_date
string <date>
Example: start_date=2024-08-15

Starting date for projections (YYYY-MM-DD format). If omitted, starts from tomorrow or the earliest available future date.

number_of_days
integer [ 1 .. 365 ]
Example: number_of_days=90

Number of days to retrieve. If omitted, returns default forecast period (typically 90-365 days).

room_types
Array of strings
Items Enum: "entire_home" "private_room" "shared_room"
Example: room_types=entire_home

Filter by room types. Valid values: "entire_home", "private_room", "shared_room". Can be provided as comma-separated values or multiple parameters.

bedrooms
integer [ 0 .. 10 ]
Example: bedrooms=1

Filter by exact number of bedrooms

bathrooms
number <double> [ 0 .. 10 ]
Example: bathrooms=1

Filter by exact number of bathrooms (supports decimals)

accommodates
integer [ 1 .. 16 ]
Example: accommodates=2

Filter by exact guest capacity

currency
string
Default: "native"
Enum: "native" "USD" "usd"
Example: currency=USD

Currency for rate metrics. Default: "native". Supported values: "USD" or "native" (market's local currency). Case-insensitive.

Responses

Response samples

Content type
application/json
Example
{
  • "market_id": "VVPCp0NhbGlmb3JuaWHCp0xvcyBBbmdlbGVzwqfCpw==",
  • "currency": "USD",
  • "daily_stats": [
    ]
}

Calculator

Calculate accurate Airbnb revenue projections using our rental property valuation and investment analysis tools. Generate property revenue estimates and performance projections based on real market data and competitive insights.

Estimate Listing Revenue Potential

Use our Airbnb revenue calculator and vacation rental income estimator to generate comprehensive STR profit projections for potential short-term rental properties. This powerful short-term rental ROI calculator serves as your complete property investment analysis tool based on location and property characteristics.

Our vacation rental income estimator analyzes comparable properties in the area to provide:

  • Projected annual occupancy rate using STR profit projection models
  • Expected Average Daily Rate (ADR) from our Airbnb revenue calculator
  • Monthly revenue distribution across the year
  • List of comparable properties used in the short-term rental ROI calculator analysis

Perfect for property investors, real estate professionals, and homeowners using our property investment analysis tool to enter the short-term rental market.

query Parameters
lat
required
number <double> [ -90 .. 90 ]
Example: lat=34.052235

Property latitude for revenue estimation

lng
required
number <double> [ -180 .. 180 ]
Example: lng=-118.243683

Property longitude for revenue estimation

bedrooms
required
number <double> [ 0 .. 20 ]
Example: bedrooms=2

Number of bedrooms (use 0 for studios)

baths
required
number <double> [ 0.5 .. 20 ]
Example: baths=2

Number of bathrooms (supports decimals for half baths)

guests
required
number <double> [ 1 .. 30 ]
Example: guests=4

Maximum guest capacity

Responses

Response samples

Content type
application/json
Example
{
  • "occupancy": 0.82,
  • "average_daily_rate": 285.5,
  • "monthly_revenue_distributions": [
    ],
  • "comparable_listings": [
    ]
}