Developer API

Forecast any U.S. home value with one API call

Parcel-level and neighbourhood-level probabilistic price forecasts. P10/P50/P90 distributions across 1–5 year horizons. One endpoint, one address, instant results.

Quick Start

Try the API right now with the built-in demo key. No signup required.

curl -s -H "x-api-key: hc_demo_public_readonly" \
  "https://homecastr.com/api/v1/forecast?address=123+Main+St+Houston+TX"
Try It NowUses demo key — no signup required
curl equivalent
curl -s -H "x-api-key: hc_demo_public_readonly" \
  "https://homecastr.com/api/v1/forecast?address=123%20Main%20St%20Houston%20TX"
Get Your API KeyFree — instant — no sales call

Authentication

All API requests require an API key passed via the x-api-key header.

Key TypeRate LimitUse Case
hc_demo_public_readonly50 req/hourTesting & evaluation
hc_*Unlimited (fair use)Production

Endpoints

GET/api/v1/forecast

Forecast home values by address. Geocodes the address, maps to an H3 neighborhood cell, and returns probabilistic forecasts with P10/P50/P90 bands.

Parameters

NameTypeRequiredDescription
addressstringYesUS street address (e.g. '123 Main St Houston TX')
yearintegerNoTarget forecast year (default: 2030). Range: 2026–2030.

Example

curl -s -H "x-api-key: YOUR_API_KEY" \
  "https://homecastr.com/api/v1/forecast?address=123+Main+St+Houston+TX&year=2028"
GET/api/v1/forecast/hex

Forecast by H3 cell ID. For developers who already know the H3 index of their target neighborhood.

Parameters

NameTypeRequiredDescription
h3_idstringYesH3 cell ID at resolution 8 (e.g. '882a100c65fffff')
yearintegerNoTarget forecast year (default: 2026)

Example

curl -s -H "x-api-key: YOUR_API_KEY" \
  "https://homecastr.com/api/v1/forecast/hex?h3_id=882a100c65fffff&year=2028"
GET/api/v1/forecast/lot

Forecast by tax parcel account ID. For integrations with county appraisal districts.

Parameters

NameTypeRequiredDescription
acctstringYesCounty tax account / parcel ID

Example

curl -s -H "x-api-key: YOUR_API_KEY" \
  "https://homecastr.com/api/v1/forecast/lot?acct=1234567890123"
POST/api/v1/keys

Generate a new API key. Keys are free and issued instantly.

Parameters

NameTypeRequiredDescription
emailstring (body)YesYour email address

Example

curl -s -X POST "https://homecastr.com/api/v1/keys" \
  -H "Content-Type: application/json" \
  -d '{"email": "you@company.com"}'

Code Examples

JavaScript / Node.js
const res = await fetch(
  "https://homecastr.com/api/v1/forecast" +
  "?address=123+Main+St+Houston+TX",
  {
    headers: {
      "x-api-key": "YOUR_API_KEY"
    }
  }
);
const data = await res.json();
console.log(data.forecasts);
// { p10: 268000, p50: 345000, p90: 425000 }
Python
import requests

r = requests.get(
    "https://homecastr.com/api/v1/forecast",
    params={"address": "123 Main St Houston TX"},
    headers={"x-api-key": "YOUR_API_KEY"},
)
data = r.json()
print(data["forecasts"])
# {'p10': 268000, 'p50': 345000, 'p90': 425000}

Response Schema

{
  "address": "string — Geocoded address",
  "coordinates": { "lat": "number", "lng": "number" },
  "h3_cell": "string — H3 cell ID at resolution 8",
  "forecast_year": "number — Target year",
  "current_value": "number | null — Current median value ($)",
  "appreciation_pct": "number | null — Expected appreciation (%)",
  "forecasts": {
    "p10": "number — Conservative (10th percentile) value ($)",
    "p50": "number — Expected (median) value ($)",
    "p90": "number — Upside (90th percentile) value ($)"
  },
  "horizon_years": "number — Years from origin to forecast",
  "reliability": "number | null — Model confidence (0–1)",
  "fan_chart": {
    "years": "[2026, 2027, 2028, 2029, 2030]",
    "p10": "[number, ...]",
    "p50": "[number, ...]",
    "p90": "[number, ...]"
  },
  "property_count": "number | null — Properties in this cell",
  "_links": {
    "self": "string — This request URL",
    "hex": "string — Direct hex endpoint for this cell",
    "docs": "string — API docs URL"
  }
}

Ready to build?

Get your API key and start forecasting in under 30 seconds.