Discover/AirDNA API
live

AirDNA APIairdna.co

Access AirDNA market performance data via API: ADR, occupancy, RevPAR, annual revenue, active listings, and market scores for STR markets worldwide.

This API takes change requests — .
Endpoint health
verified 3h ago
search_markets
get_market_overview
2/2 passing latest checkself-healing
Endpoints
2
Updated
3h ago

What is the AirDNA API?

The AirDNA API gives developers access to short-term rental market performance data across two endpoints, covering metrics like average daily rate, occupancy, RevPAR, annual revenue, and AirDNA Market Score. Use search_markets to find market and submarket IDs by name, then pass those location slugs to get_market_overview to retrieve trailing-twelve-month performance figures with year-over-year changes for any supported city or region.

This call costs1 credit / call— charged only on success
Try it
Maximum number of results to return (1-50).
Search query for a city, market, or neighborhood name (e.g. 'Denver', 'Miami Beach').
api.parse.bot/scraper/19809723-51f8-4a93-854b-914921c64414/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/19809723-51f8-4a93-854b-914921c64414/search_markets?query=Denver&limit=5' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace airdna-co-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: AirDNA SDK — search markets, then fetch full overview."""
from parse_apis.airdna_co_api import AirDNA, MarketNotFound

client = AirDNA()

# Search for markets matching a query; limit= caps total items fetched.
for market in client.markets.search(query="Miami", limit=5):
    print(market.market_name, market.state_name, market.region_level)

# Drill down: take the first result and fetch its full market overview.
hit = client.markets.search(query="Denver", limit=1).first()
if hit is not None:
    # Use the search result's location fields to get the overview.
    overview = client.market_overviews.get(
        city=hit.market_name.lower().replace(" ", "-"),
        state=hit.state_name.lower().replace(" ", "-"),
        country=hit.country_code,
    )
    print(overview.market.title)
    print("Overall score:", overview.market_score.overall)
    print("Rental demand:", overview.market_score.subscores.rental_demand)
    print("Occupancy:", overview.metrics.occupancy.value, overview.metrics.occupancy.yoy_change)
    print("ADR:", overview.metrics.average_daily_rate.value)
    print("Revenue:", overview.metrics.annual_revenue.value)
    print("Last updated:", overview.last_updated)

# Point lookup with error handling for a non-existent market.
try:
    client.market_overviews.get(city="nonexistentcity", state="colorado", country="us")
except MarketNotFound:
    print("Market not found — expected for invalid city slug")

print("exercised: markets.search / market_overviews.get / MarketNotFound")
All endpoints · 2 totalmissing one? ·

Search for short-term rental markets and submarkets by name. Returns market IDs, location hierarchy, and region level (market or submarket). Use the returned country_code, state_name, and market_name to construct inputs for get_market_overview.

Input
ParamTypeDescription
limitintegerMaximum number of results to return (1-50).
queryrequiredstringSearch query for a city, market, or neighborhood name (e.g. 'Denver', 'Miami Beach').
Response
{
  "type": "object",
  "fields": {
    "total": "integer count of results returned",
    "markets": "array of market objects with country_code, market_id, submarket_id, market_name, submarket_name, state_name, country_name, region_level, and relevance score"
  },
  "sample": {
    "data": {
      "total": 2,
      "markets": [
        {
          "score": 1463.72,
          "market_id": "airdna-163",
          "state_name": "Colorado",
          "market_name": "Denver",
          "country_code": "us",
          "country_name": "United States",
          "region_level": "market",
          "submarket_id": null,
          "submarket_name": null
        },
        {
          "score": 879.06,
          "market_id": "airdna-163",
          "state_name": "Colorado",
          "market_name": "Denver",
          "country_code": "us",
          "country_name": "United States",
          "region_level": "submarket",
          "submarket_id": "airdna-1490",
          "submarket_name": "Downtown Denver"
        }
      ]
    },
    "status": "success"
  }
}

About the AirDNA API

Endpoints and What They Return

The search_markets endpoint accepts a freeform query string (e.g. 'Denver', 'Miami Beach') and returns up to 50 matching market and submarket objects. Each result includes a market_id, submarket_id, market_name, submarket_name, state_name, country_code, country_name, and a region_ type flag indicating whether the result is a market or submarket. This is the entry point for resolving human-readable place names into the location slugs required by the overview endpoint.

Market Overview Data

get_market_overview takes three slug parameters — city, state, and country — and returns a structured performance snapshot for that STR market. The metrics object contains five keys: active_listings, annual_revenue, occupancy, average_daily_rate, and revpar. Each metric carries a value and a yoy_change field, enabling direct period-over-period comparison without any additional computation. The market_score object returns an integer score from 40 to 100 alongside five subscores: rental_demand, seasonality, revenue_growth, investability, and regulation.

Coverage and Freshness

All performance data covers the trailing twelve months, with the exact date range surfaced in the temporal_coverage field. The last_updated field returns an ISO date string (YYYY-MM-DD) indicating when AirDNA last refreshed the figures. Location inputs must be formatted as lowercase hyphenated slugs (e.g. miami-beach, new-york), which can be derived directly from the market_name and state_name values returned by search_markets.

Reliability & maintenanceVerified

The AirDNA API is a managed, monitored endpoint for airdna.co — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when airdna.co 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 airdna.co 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.

Last verified
3h ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Screen STR investment markets by comparing annual_revenue and occupancy values across multiple cities.
  • Track year-over-year ADR trends in a target market using the yoy_change field on average_daily_rate.
  • Rank markets by market_score overall or by individual subscores like investability or regulation.
  • Build a market-selection tool that lets users search by city name and retrieve live performance benchmarks.
  • Alert users when occupancy or RevPAR shifts significantly by polling get_market_overview periodically and comparing against stored values.
  • Evaluate seasonality risk in a market using the seasonality subscore before committing to a property acquisition.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 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.

Frequently asked questions
Does AirDNA have an official developer API?+
Yes. AirDNA offers a paid developer API described at https://www.airdna.co/api. It provides property-level and market-level data with direct access tiers. This Parse API surfaces the publicly available market overview data from AirDNA's website, which does not require an AirDNA subscription.
What does `search_markets` return beyond a market name?+
Each result in the markets array includes a market_id, submarket_id, market_name, submarket_name, state_name, country_code, country_name, and a region type flag. The region flag distinguishes top-level markets from submarkets (e.g. a neighborhood within a city). You use market_name and state_name to construct the slug inputs for get_market_overview.
Does the API return property-level or listing-level data?+
No. Both endpoints return market-level aggregates only. active_listings gives you a count of listings in the market, but individual property addresses, listing URLs, nightly prices, or host data are not exposed. You can fork this API on Parse and revise it to add a property-level endpoint if that data is accessible from AirDNA's public pages.
How current is the data returned by `get_market_overview`?+
The last_updated field in the response carries an ISO date string showing when AirDNA last refreshed the market figures. All metrics reflect the trailing twelve months, and the exact date range is in the temporal_coverage field. Refresh cadence is controlled by AirDNA's own publication schedule, not by how frequently you call the API.
Can I retrieve historical time-series data, such as monthly ADR trends over multiple years?+
Not currently. The API returns a single trailing-twelve-month snapshot per market, with one year-over-year change figure per metric. Month-by-month historical series are not exposed. You can fork this API on Parse and revise it to add a historical trends endpoint if AirDNA surfaces that data on its public pages.
Page content last updated . Spec covers 2 endpoints from airdna.co.
Related APIs in Real EstateSee all →
airroi.com API
Discover short-term rental investment opportunities by accessing comprehensive Airbnb property data including occupancy rates, daily rates, estimated revenue, amenities, and guest ratings across worldwide markets. Analyze individual property performance metrics and browse listings to identify the most profitable rental properties for your portfolio.
airbnb.com API
Search Airbnb stays by destination and dates, then retrieve listing details, availability calendars, and recent guest reviews for a specific listing.
airbnb.pt API
Search for rental listings in any location, view detailed information about properties including availability and guest reviews. Browse hundreds of accommodations to find the perfect place that fits your travel needs and budget.
airbnb.es API
Search Airbnb listings across multiple cities and retrieve detailed information about properties and hosts, including availability, pricing, and reviews. Access comprehensive rental data to compare accommodations and make informed booking decisions.
airbnb.co.uk API
Search Airbnb UK listings and access detailed information including pricing, availability calendars, and guest reviews. Plan your trips by comparing properties and experiences across locations with real-time data on rates and booking availability.
domain.com.au API
Search and compare property listings for sale, rent, or sold properties across Australia, view detailed property information and agent profiles, and explore suburb insights to make informed real estate decisions. Access comprehensive data on agents, neighborhoods, and properties all in one place.
vrbo.com API
Search and browse vacation rental listings on Vrbo by location, date range, and guest count. Retrieve detailed information about specific properties including descriptions, amenities, photos, pricing, guest reviews, and availability — everything needed to compare rental options in one place.
realtor.com API
Search millions of real estate listings on Realtor.com, view detailed property information, find qualified agents in your area, and access market analytics to understand pricing trends. Get location suggestions and property insights all in one place to help you make informed decisions about buying, selling, or investing in real estate.