API DocsProperty Market Intel
Getting StartedServiced Accommodation
AI & Integrations
Pricing
API Reference
1. Property Identity & Lookup
2. Valuations & Pricing
3. Rental Market Intelligence
5. Listings & Sourcing
6. Location Intelligence
7. Environmental & Risk
8. Planning & Regulatory
9. Account & Platform
Free Tier

Get 100 credits free, no card required. Try every endpoint with your own key.

Get a free keyNo credit card · cancel anytime

STR Market Analysis

GET3 credits
GET/str/market

Complete UK short-term-rental market intelligence — ADR, occupancy, RevPAR, 24 months of historical data, supply, ratings, amenities, breakdowns, demand, grade.

Overview

Full short-term-rental market analysis for any UK location — postcode, outcode, lat+lng+radius, or polygon.

Built from continuously-refreshed listing-level Airbnb + Vrbo data with 24 months of history at the listing level.

Why this endpoint exists

UK-wide SA intelligence at postcode granularity, billed per-call — roughly £0.02 per area snapshot.

Includes a letter-grade market score, 24 months of listing-level history, and every breakdown (bedrooms, listing type, price tier) in one call. Nothing else in the UK market bundles this as a callable REST API.

Highlights
✓

~£0.02 per call, UK-wide, postcode-granular

✓

24 months of listing-level history with YoY revenue change per month

✓

Headline metrics — ADR, occupancy %, RevPAR, monthly and annual revenue, active listings

✓

Breakdowns by bedrooms / listing type / price tier without extra calls

✓

Letter-grade (A–F) market score with strongest / weakest dimensions

✓

Ratings + amenity prevalence for all listings in the area

✓

Supply growth and demand signals (booked vs available nights, lead time, length of stay)

Query parameters
postcodestringOne of

Full postcode or sector.

outcodestringOne of

District (e.g. BA1).

lat+lng+radius_mOne of

Radius up to 5 km.

polygonstringOne of

"lng,lat lng,lat …" (≥3 pairs).

listing_typestringOptional

entire_home | private_room | shared_room.

bedroomsintegerOptional

Exact bedroom count.

min_bedroomsintegerOptional

Minimum.

max_bedroomsintegerOptional

Maximum.

property_typestringOptional

house | apartment.

min_ratingnumberOptional

Floor on guest rating (e.g. 4.0).

price_tierstring (repeatable)Optional

Budget | Economy | Midscale | Upscale | Luxury.

includestring (csv)Optional

One or more of: summary, historical, supply, ratings, amenities, by_bedrooms, by_listing_type, by_price_tier, demand, grade. Default: all.

Response Schema
location

Location label.

country

"England" | "Wales" | "Scotland".

currency

Always "GBP".

summary

{ adr, occupancy_pct, revpar, revenue_pcm, revenue_annual, active_listings }.

historical

Array of 24 months × { month, adr, occupancy_pct, revenue_pcm, revpar, yoy_revenue_change }.

supply

{ active_listings, yoy_growth_pct, new_listings_30d, blocked_listings }.

ratings

{ overall_avg, count_with_rating, cleanliness, accuracy, communication, location, check_in, value }.

amenities

Object of {*_pct} floats (wifi, kitchen, washing_machine, parking, …).

by_bedrooms

Array of { bedrooms, listings, adr, occupancy_pct, revenue_pcm }.

by_listing_type

Array of { listing_type, listings, adr, occupancy_pct }.

by_price_tier

Array of { tier, listings, adr, occupancy_pct, revenue_pcm }.

demand

{ booked_nights_30d, available_nights_30d, lead_time_avg_days, length_of_stay_avg }.

grade

{ letter: "A"–"F", score_0_100, strongest: [...], weakest: [...] }.

Example

RequestLive key
curl -G https://api.propertymarketintel.com/v1/str/market \
  --data-urlencode "outcode=BA1" \
  --data-urlencode "bedrooms=2" \
  --data-urlencode "include=summary,historical,grade" \
  -H "Authorization: Bearer pmi_live_xxxxxxxxxxxxxxxx"

Try this endpoint with your own key

100 free credits, no card required.

Sign up free →
Response200 OK
{
  "location": "BA1",
  "country": "England",
  "currency": "GBP",
  "summary": {
    "adr": 142,
    "occupancy_pct": 68,
    "revpar": 97,
    "revenue_pcm": 2955,
    "revenue_annual": 35460,
    "active_listings": 418
  },
  "historical": [
    {
      "month": "2024-05",
      "adr": 138,
      "occupancy_pct": 70,
      "revenue_pcm": 2940,
      "revpar": 97,
      "yoy_revenue_change": 0.08
    },
    {
      "month": "2024-06",
      "adr": 159,
      "occupancy_pct": 82,
      "revenue_pcm": 3914,
      "revpar": 130,
      "yoy_revenue_change": 0.11
    }
  ],
  "grade": {
    "letter": "A",
    "score_0_100": 86,
    "strongest": [
      "revpar",
      "occupancy"
    ],
    "weakest": [
      "supply_growth"
    ]
  }
}

More about this endpoint

Use Cases
1

Acquisition underwriting: "Before buying a £280k flat in Bath, I check /str/market for BA1 1. ADR £142, occupancy 68%, RevPAR £97, grade A. Projected ~£35k/yr gross. I proceed." — a 3-credit call answers a £280k decision.

2

Pricing / revenue management: Compare your listing's ADR to the by_price_tier summary each Monday. Dynamic-pricing tooling typically charges 1% of revenue for the same signal — you replicate it with one daily call.

3

SA vs long-let comparison: Pair /str/market (3 cr) + /rents/long-term (2 cr) for the same location. Decide strategy in 5 credits.

4

Market saturation screening: The supply section flags when listings are up 40% YoY but RevPAR is flat — over-supplied.

5

Lender / broker due diligence: SA mortgage lenders need revenue projections signed off. A reproducible, timestamped API response is stronger evidence than a hand-compiled screenshot pack.

Base URL: https://api.propertymarketintel.com/v1API version 1.1