Homecastr Forecasts API

Probabilistic home value forecasts at every geographic level

GitHub OpenAPI

Operations 11

GET /api/v1/forecast Forecast by street address #
GET /api/v1/forecast/lot Forecast by tax parcel #
GET /api/v1/forecast/unit Forecast by condo/unit #
GET /api/v1/forecast/tabblock Forecast by Census tabulation block #
GET /api/v1/forecast/tract Forecast by Census tract #
GET /api/v1/forecast/zcta Forecast by ZIP code (ZCTA) #
GET /api/v1/forecast/zip3 Forecast by ZIP3 #
GET /api/v1/forecast/county Forecast by county #
GET /api/v1/forecast/state Forecast by state #
GET /api/v1/forecast/hex Forecast by H3 hex cell (legacy) #
GET /api/v1/outlook/county County outlook metrics #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/homecastr-com:homecastr-com-forecasts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

homecastr-com-forecasts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Homecastr Forecasts API
  version: 1.12.0
  description: Probabilistic home value forecasts and canonical public-data resources for US addresses and geographies. Public read endpoints allow anonymous demo access. An API key provides higher limits and account features. Catalog records distinguish metadata, samples, queryable rows, bulk downloads, restricted assets, and unavailable assets.
  contact:
    name: Homecastr Support
    url: https://www.homecastr.com/support
    email: support@homecastr.com
  termsOfService: https://www.homecastr.com/legal
  license:
    name: Proprietary
    url: https://www.homecastr.com/legal
servers:
- url: https://www.homecastr.com
  description: Production
tags:
- name: Forecasts
  description: Probabilistic home value forecasts at every geographic level
paths:
  /api/v1/forecast:
    get:
      operationId: forecastByAddress
      summary: Forecast by street address
      description: 'Geocodes a US address to an H3 cell and returns probabilistic value forecasts. Best coverage: Houston metro. Returns P10/P50/P90 and a 5-year fan chart.'
      security: []
      tags:
      - Forecasts
      parameters:
      - name: address
        in: query
        required: true
        schema:
          type: string
        example: 5000 Westheimer Rd Houston TX 77056
      - name: year
        in: query
        required: false
        schema:
          type: integer
          minimum: 2026
          maximum: 2030
          default: 2030
      responses:
        '200':
          description: Forecast data
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Missing or invalid parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: No forecast for address
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Rate limit exceeded (demo tier)
  /api/v1/forecast/lot:
    get:
      operationId: forecastByParcel
      summary: Forecast by tax parcel
      description: 'Lot-level probabilistic forecasts by county assessor account number. Coverage: Florida statewide + Houston metro.'
      security: []
      tags:
      - Forecasts
      parameters:
      - name: acct
        in: query
        required: true
        schema:
          type: string
        description: County tax parcel account number.
        example: 00404328020003500
      responses:
        '200':
          description: Parcel forecast
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /api/v1/forecast/unit:
    get:
      operationId: forecastByUnit
      summary: Forecast by condo/unit
      description: 'Individual unit-level forecasts. Optionally returns all sibling units in the same condo building. Coverage: Florida statewide + Houston metro.'
      security: []
      tags:
      - Forecasts
      parameters:
      - name: acct
        in: query
        required: true
        schema:
          type: string
      - name: include_siblings
        in: query
        required: false
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: Unit forecast
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /api/v1/forecast/tabblock:
    get:
      operationId: forecastByTabblock
      summary: Forecast by Census tabulation block
      description: 'Sub-neighborhood probabilistic forecasts. 15-digit GEOID20. Coverage: NYC (32K tabblocks) + Houston metro (34K tabblocks).'
      security: []
      tags:
      - Forecasts
      parameters:
      - name: geoid
        in: query
        required: true
        schema:
          type: string
          minLength: 15
          maxLength: 15
        example: '360050002000001'
      responses:
        '200':
          description: Tabblock forecast
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /api/v1/forecast/tract:
    get:
      operationId: forecastByTract
      summary: Forecast by Census tract
      description: 'Neighborhood-level probabilistic forecasts. 11-digit GEOID20. Coverage: FL + Houston via jurisdiction model; all ~82K US tracts via ACS nationwide model.'
      security: []
      tags:
      - Forecasts
      parameters:
      - name: geoid
        in: query
        required: true
        schema:
          type: string
          minLength: 11
          maxLength: 11
        example: '48201231400'
      responses:
        '200':
          description: Tract forecast
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /api/v1/forecast/zcta:
    get:
      operationId: forecastByZcta
      summary: Forecast by ZIP code (ZCTA)
      description: ZIP-level probabilistic forecasts. ~20,000 ZCTAs nationwide with 6-year horizon.
      security: []
      tags:
      - Forecasts
      parameters:
      - name: zcta
        in: query
        required: true
        schema:
          type: string
          minLength: 5
          maxLength: 5
        example: '77056'
      responses:
        '200':
          description: ZCTA forecast
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /api/v1/forecast/zip3:
    get:
      operationId: forecastByZip3
      summary: Forecast by ZIP3
      description: ZIP3-level forecasts (first 3 digits of ZIP code). 6,210 areas nationwide.
      security: []
      tags:
      - Forecasts
      parameters:
      - name: zip3
        in: query
        required: true
        schema:
          type: string
          minLength: 3
          maxLength: 3
        example: '770'
      responses:
        '200':
          description: ZIP3 forecast
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /api/v1/forecast/county:
    get:
      operationId: forecastByCounty
      summary: Forecast by county
      description: County-level probabilistic forecasts. Nationwide coverage. Returns P10/P25/P50/P75/P90 fan chart with growth % and growth $ fields.
      security: []
      tags:
      - Forecasts
      parameters:
      - name: fips
        in: query
        required: true
        schema:
          type: string
          minLength: 5
          maxLength: 5
        example: '48201'
        description: 5-digit county FIPS (state 2 + county 3).
      responses:
        '200':
          description: County forecast
          content:
            application/json:
              schema:
                type: object
                properties:
                  fips:
                    type: string
                  level:
                    type: string
                    enum:
                    - county
                  origin_year:
                    type: integer
                  current_value:
                    type:
                    - integer
                    - 'null'
                  fan_chart:
                    type: array
                    items:
                      $ref: '#/components/schemas/FanChartPoint'
                  _links:
                    type: object
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /api/v1/forecast/state:
    get:
      operationId: forecastByState
      summary: Forecast by state
      description: State-level probabilistic forecasts. All 50 US states covered.
      security: []
      tags:
      - Forecasts
      parameters:
      - name: fips
        in: query
        required: true
        schema:
          type: string
          minLength: 2
          maxLength: 2
        example: '48'
        description: 2-digit state FIPS. TX=48, FL=12, NY=36, CA=06.
      responses:
        '200':
          description: State forecast
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /api/v1/forecast/hex:
    get:
      operationId: forecastByH3Cell
      summary: Forecast by H3 hex cell (legacy)
      description: Neighborhood-level forecasts by H3 cell ID at resolution 8. Houston metro only. Prefer forecast/tabblock or forecast/tract for new integrations.
      security: []
      tags:
      - Forecasts
      parameters:
      - name: h3_id
        in: query
        required: true
        schema:
          type: string
        example: 882a100c65fffff
      - name: year
        in: query
        required: false
        schema:
          type: integer
      responses:
        '200':
          description: H3 forecast
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /api/v1/outlook/county:
    get:
      operationId: getCountyOutlook
      summary: County outlook metrics
      description: 'Pre-computed county outlook: median appreciation, highest-upside estimate, median home value, and a value trajectory array. Updated weekly.'
      security: []
      tags:
      - Forecasts
      parameters:
      - name: fips
        in: query
        required: true
        schema:
          type: string
          minLength: 5
          maxLength: 5
        example: '48201'
      responses:
        '200':
          description: County outlook
          content:
            application/json:
              schema:
                type: object
                properties:
                  fips:
                    type: string
                  median_appreciation:
                    type:
                    - number
                    - 'null'
                  highest_upside:
                    type:
                    - number
                    - 'null'
                  median_value:
                    type:
                    - integer
                    - 'null'
                  trajectory:
                    type:
                    - array
                    - 'null'
                    items:
                      type: number
                  last_updated:
                    type:
                    - string
                    - 'null'
                    format: date-time
                  _links:
                    type: object
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    FanChartPoint:
      type: object
      properties:
        year:
          type: integer
          example: 2027
        horizon_months:
          type: integer
          example: 24
        p10:
          type:
          - integer
          - 'null'
        p25:
          type:
          - integer
          - 'null'
        p50:
          type:
          - integer
          - 'null'
        p75:
          type:
          - integer
          - 'null'
        p90:
          type:
          - integer
          - 'null'
        growth_pct:
          type:
          - number
          - 'null'
        growth_dollar:
          type:
          - integer
          - 'null'
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
        tip:
          type: string
        example:
          type: string
      required:
      - error
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: Include your Homecastr API key. Omit (or use `hc_demo_public_readonly`) for the free demo tier (50 req/hr per IP). Get a free key and integration docs at https://www.homecastr.com/docs