Skip to main contentSkip to main content

Market cycle classification (Pro+ tier)

GET/v1/suburbs/{state}/{suburb}/market_cycle1 credit

2-axis classification (heat x momentum x volatility) fusing 16 momentum signals (including the PropRadar 12-month growth outlook) with absolute-price gates that stop phase labels from contradicting headline growth. Pick a property type with `?property_type=houses|units` (default houses). Suburbs without enough sample to classify return 404 insufficient_data. Hobby/Starter callers get 403 plan_upgrade_required; the credits are refunded.

Parameters

NameInRequiredDescription
statepathyesTwo-letter state code
suburbpathyesSuburb name (URL-encoded)
property_typequerynohouses (default) or units
postcodequeryno4-digit postcode. Use to disambiguate when a suburb name spans multiple postcodes.

Example request

curl "https://api.propradar.com.au/v1/suburbs/VIC/Pascoe%20Vale/market_cycle?property_type=houses" \
  -H "X-API-Key: pr_live_..."

Example response

{
  "suburb": "PASCOE VALE", "state": "VIC", "postcode": 3044,
  "property_type": "houses",
  "market_cycle": {
    "phase": "rising", "confidence": "high",
    "dps": 62, "dps_level": "medium",
    "momentum_score": 0.80, "momentum_direction": "positive",
    "volatility_score": 0.32, "volatility_level": "moderate",
    "signal_quality_score": 0.81, "signal_alignment": 0.74,
    "estimated_months_to_next_phase": 15,
    "override_applied": false,
    "top_signals": [
      { "name": "Vacancy Pressure", "value": "1% vacancy rate",
        "metrics": [{ "key": "vacancy_rate_pct", "label": "Vacancy rate", "value": 1.0, "unit": "percent" }],
        "score": 2, "direction": "positive", "weight": 0.18, "contribution": 0.36, "available": true },
      ...
    ],
    "signals": [ ... 15 entries ... ]
  },
  "as_of": "2026-05-12T03:00:00Z"
}

Get an API key

Every endpoint takes an X-API-Key header. The free tier needs no credit card.

Other endpoints