The market reports and neighborhood data endpoints give you external context for your listings — occupancy trends, rates, RevPAR, and demand signals at the market and neighborhood level. Use them to benchmark your listings against the broader market or build competitive analysis tools.
Plan requirement
Market report endpoints require at least one Pro tier listing in the requested market. Neighborhood data endpoints require an active listing with location data.
GET /market_report
List available markets for a country. Use this to look up a market_id for the endpoints below.
curl "https://api.usewheelhouse.com/ss_api/v1/market_report?country_code=US" \
-H "X-Integration-Api-Key: your_api_key_here"
Query parameters:
country_code(required) — ISO 3166-1 alpha-2, e.g.US,GB
Response:
[{ "market_id": 0, "market_name": "string", "geometry": {...}, "postal_codes": [...] }]
Response fields:
market_id— integer identifier, used as the path parameter belowmarket_name— human-readable market namegeometry— market boundary geometrypostal_codes— postal codes covered by the market
GET /market_report/:market_id/time_series
Daily time-series data for one or more market-level metrics over a date range.
curl "https://api.usewheelhouse.com/ss_api/v1/market_report/42/time_series?metric=occupancy&metric=asking_rate_w_fees&start_date=2026-01-01&end_date=2026-06-30" \
-H "X-Integration-Api-Key: your_api_key_here"
Path parameters:
market_id(required) — integer, fromGET /market_report
Query parameters:
metric(string, repeatable) — Metrics to include, omit for all. Available:asking_rate_w_fees,occupancy,occupancy_adjusted,adr_w_fees,lead_time,revpar_adjusted_w_fees,revpar_w_fees,revenue_w_fees,nights_bookablestart_date(date) — YYYY-MM-DD, defaults to today, within 3 years past / 1 year futureend_date(date) — YYYY-MM-DD, defaults to 1 year from todayperformance(string) —low,average,high, omit for allbedrooms(string) —0,1,2,3,4+, omit for allproperty_type(string) — e.g.apartment,house,cabin, omit for all
Response
{ "currency": "USD", "updated_at": "2026-07-01T00:00:00Z", "data": [{...}] }
Response fields
currency— currency code for rate/revenue metricsupdated_at— timestamp the underlying data was last refresheddata— array of daily entries for the requested metric(s)
GET /market_report/:market_id/distribution
Histogram distributions for one or more market metrics for a given calendar month.
curl "https://api.usewheelhouse.com/ss_api/v1/market_report/42/distribution?metric=occupancy&month=2026-06-01" \
-H "X-Integration-Api-Key: your_api_key_here"
Path parameters
market_id(required) — integer, fromGET /market_report
Query parameters
metric(string, repeatable) —occupancy,occupancy_adjusted,asking_rate_w_fees,adr_w_fees,lead_time,revpar_adjusted_w_fees,revpar_w_fees,length_of_staymonth(date) — YYYY-MM-DD, first of the target month
Response
{ "currency": "USD", "month": "2026-06-01", "updated_at": "2026-07-01T00:00:00Z", "data": {...} }
Response fields
currency— currency code for rate metricsmonth— the month the distribution coversupdated_at— timestamp the underlying data was last refresheddata— histogram buckets for the requested metric(s)
GET /listings/:listing_id/neighborhood/pricing
Daily neighborhood pricing — median nightly price, p25/p75 percentiles, and cluster size — scoped to the listing's local comparable cluster (same bedroom count, nearby). Requires channel.
curl "https://api.usewheelhouse.com/ss_api/v1/listings/12345678/neighborhood/pricing?channel=airbnb" \
-H "X-Integration-Api-Key: your_api_key_here"
Path parameters
listing_id(required) — integer
Query parameters
channel(required) — e.g.airbnb
Response
{ "data": [{...}], "currency": "USD" }
Response fields
data— daily entries with median price,low_price(p25),high_price(p75), cluster listing countcurrency— currency code for price fields
Status codes
404— listing has no neighborhood cluster or no location data406— listing is inactive422— listing is not covered by a Wheelhouse market
GET /listings/:listing_id/neighborhood/occupancy
Daily occupancy and booking model data for the listing's local comparable cluster. Requires channel.
curl "https://api.usewheelhouse.com/ss_api/v1/listings/12345678/neighborhood/occupancy?channel=airbnb" \
-H "X-Integration-Api-Key: your_api_key_here"
Path parameters
listing_id(required) — integer
Query parameters
channel(required) — e.g.airbnb
Response
{ "data": [{...}] }
Response fields (each entry in data)
occupancy— raw occupancy rate (booked nights / calendar nights)adjusted_occupancy— occupancy against bookable (unblocked) nights onlyexpected_bookings— model-predicted booking count for the stay dateexpected_bookings_sd— standard deviation of the expected bookings predictionobserved_bookings— actual booking count observed for that daycalendar_nights— total calendar nights in the cluster for that day
Status codes
404— no neighborhood cluster or occupancy data found406— listing is inactive422— listing is not covered by a Wheelhouse market
Related
How to access market and neighborhood data · How to monitor listing performance (KPIs)