Homecastr Benchmarks API
Public benchmark catalogs, forecast vintages, score tables, and provenance manifests
Public benchmark catalogs, forecast vintages, score tables, and provenance manifests
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/homecastr-com:homecastr-com-benchmarks-api"
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.
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: 3.2.0
info:
title: Homecastr Benchmarks 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: Benchmarks
description: Public benchmark catalogs, forecast vintages, score tables, and provenance manifests
paths:
/api/v1/benchmarks/catalog:
get:
operationId: listBenchmarkDatasets
summary: List benchmark and public-data assets
description: Catalog of public-safe benchmark and public-data assets, including release phase, support level, benchmark role, and recommended surface.
security: []
tags:
- Benchmarks
parameters:
- name: asset_id
in: query
required: false
schema:
type: string
example: backtest.public_vintage_oeo_maricopa_2022
- name: asset_class
in: query
required: false
schema:
type: string
example: backtest_vintage_outputs
- name: phase
in: query
required: false
schema:
type: string
example: phase_1
- name: public_readiness
in: query
required: false
schema:
type: string
example: launch
- name: format
in: query
required: false
schema:
type: string
enum:
- json
- csv
example: json
responses:
'200':
description: Benchmark catalog
content:
application/json:
schema:
type: object
properties:
dataset_count:
type: integer
launch_ready_count:
type: integer
filters:
type: object
datasets:
type: array
items:
$ref: '#/components/schemas/BenchmarkCatalogEntry'
_links:
type: object
text/csv:
schema:
type: string
'404':
description: Unknown asset_id
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/api/v1/benchmarks/vintages:
get:
operationId: getBenchmarkVintages
summary: Retrieve validated public forecast vintages
description: Validated public-vintage rows with provenance-heavy fields such as vintage_id, publication_date, support_level, benchmark_role, and license_note.
security: []
tags:
- Benchmarks
parameters:
- name: vintage_id
in: query
required: false
schema:
type: string
example: az_oeo_maricopa_medium_2022_report
- name: support_level
in: query
required: false
schema:
type: string
example: county
- name: target
in: query
required: false
schema:
type: string
example: total_population
- name: format
in: query
required: false
schema:
type: string
enum:
- json
- csv
example: json
responses:
'200':
description: Public forecast vintage rows
content:
application/json:
schema:
type: object
properties:
vintage_count:
type: integer
row_count:
type: integer
filters:
type: object
records:
type: array
items:
$ref: '#/components/schemas/PublicForecastVintageRecord'
_links:
type: object
text/csv:
schema:
type: string
'404':
description: Unknown vintage_id
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/api/v1/benchmarks/backtests:
get:
operationId: getBenchmarkBacktests
summary: Retrieve public-safe benchmark score tables
description: Public-safe benchmark score summaries such as model-vs-persistence tables. Payloads carry asset IDs, artifact IDs, model version labels, and per-target score rows.
security: []
tags:
- Benchmarks
parameters:
- name: benchmark_id
in: query
required: false
schema:
type: string
example: acs_cutoff2016_horizon8_maricopa_realized_acs
- name: target
in: query
required: false
schema:
type: string
example: total_population
- name: format
in: query
required: false
schema:
type: string
enum:
- json
- csv
example: json
responses:
'200':
description: Benchmark score tables
content:
application/json:
schema:
type: object
properties:
benchmark_count:
type: integer
filters:
type: object
benchmarks:
type: array
items:
$ref: '#/components/schemas/BenchmarkBacktestResult'
_links:
type: object
text/csv:
schema:
type: string
'404':
description: Unknown benchmark_id
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/api/v1/benchmarks/sources:
get:
operationId: getBenchmarkSources
summary: Retrieve provenance manifests and source catalogs
description: Source catalogs, archive ledgers, and benchmark registry metadata with provenance-heavy fields. Use include_details=true to expand nested source lists.
security: []
tags:
- Benchmarks
parameters:
- name: asset_id
in: query
required: false
schema:
type: string
example: provenance.arizona_archive_status_ledger
- name: include_details
in: query
required: false
schema:
type: boolean
default: false
- name: format
in: query
required: false
schema:
type: string
enum:
- json
- csv
example: json
responses:
'200':
description: Benchmark source manifests
content:
application/json:
schema:
type: object
properties:
manifest_count:
type: integer
filters:
type: object
manifests:
type: array
items:
$ref: '#/components/schemas/BenchmarkSourceManifest'
_links:
type: object
text/csv:
schema:
type: string
'404':
description: Unknown asset_id
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
components:
schemas:
ErrorResponse:
type: object
properties:
error:
type: string
tip:
type: string
example:
type: string
required:
- error
BenchmarkBacktestResult:
type: object
required:
- asset_id
- benchmark_id
- benchmark_role
- support_level
- origin_year
- horizon_years
- metric
- data_snapshot_id
- license_note
- training_eligibility
- rows
properties:
asset_id:
type: string
benchmark_id:
type: string
benchmark_role:
type: string
support_level:
type: string
origin_year:
type: integer
horizon_years:
type: array
items:
type: integer
metric:
type: string
publication_date:
type:
- string
- 'null'
format: date
retrieval_date:
type:
- string
- 'null'
format: date
data_snapshot_id:
type: string
model_version:
type:
- string
- 'null'
license_note:
type: string
training_eligibility:
type: string
enum:
- benchmark_only
- consumer_feed
- training_candidate
- holdback
interpretation:
type: string
rows:
type: array
items:
$ref: '#/components/schemas/BenchmarkBacktestScoreRow'
_links:
type: object
additionalProperties:
type: string
PublicForecastVintageRecord:
type: object
required:
- asset_id
- vintage_id
- source
- support_level
- benchmark_role
- comparison_method
- geography
- target
- scenario
- year
- data_snapshot_id
- license_note
- training_eligibility
properties:
asset_id:
type: string
vintage_id:
type: string
source:
type: string
publication_date:
type:
- string
- 'null'
format: date
retrieval_date:
type:
- string
- 'null'
format: date
support_level:
type: string
benchmark_role:
type: string
comparison_method:
type: string
geography:
type: string
target:
type: string
scenario:
type: string
year:
type: integer
value:
type:
- number
- 'null'
notes:
type: string
source_url:
type:
- string
- 'null'
format: uri
source_file:
type:
- string
- 'null'
data_snapshot_id:
type: string
model_version:
type:
- string
- 'null'
license_note:
type: string
training_eligibility:
type: string
enum:
- benchmark_only
- consumer_feed
- training_candidate
- holdback
_links:
type: object
additionalProperties:
type: string
BenchmarkBacktestScoreRow:
type: object
required:
- target
- h0_model
- h0_persistence
- h0_improvement_vs_persistence_pp
- h7_model
- h7_persistence
- h7_improvement_vs_persistence_pp
properties:
target:
type: string
h0_model:
type: number
h0_persistence:
type: number
h0_improvement_vs_persistence_pp:
type: number
h7_model:
type: number
h7_persistence:
type: number
h7_improvement_vs_persistence_pp:
type: number
BenchmarkCatalogEntry:
type: object
required:
- asset_id
- asset_class
- support_level
- license_status
- sensitivity
- public_readiness
- phase
- benchmark_role
- license_note
- data_snapshot_id
- training_eligibility
- formats
- endpoint_family
properties:
asset_id:
type: string
asset_class:
type: string
current_surface:
type: string
support_level:
type: string
target_family:
type: string
source_family:
type: string
license_status:
type: string
sensitivity:
type: string
enum:
- low
- medium
- high
public_readiness:
type: string
enum:
- launch
- draft
- hold
recommended_surface:
type: string
phase:
type: string
blockers:
type: string
next_step:
type: string
title:
type: string
description:
type: string
benchmark_role:
type: string
license_note:
type: string
data_snapshot_id:
type: string
model_version:
type:
- string
- 'null'
publication_date:
type:
- string
- 'null'
format: date
retrieval_date:
type:
- string
- 'null'
format: date
training_eligibility:
type: string
enum:
- benchmark_only
- consumer_feed
- training_candidate
- holdback
formats:
type: array
items:
type: string
endpoint_family:
type: string
enum:
- catalog
- vintages
- backtests
- sources
- forecast
- download
- none
example_path:
type:
- string
- 'null'
_links:
type: object
additionalProperties:
type: string
BenchmarkSourceManifest:
type: object
required:
- asset_id
- manifest_type
- title
- support_level
- benchmark_role
- license_note
- data_snapshot_id
- training_eligibility
- summary
properties:
asset_id:
type: string
manifest_type:
type: string
title:
type: string
support_level:
type: string
benchmark_role:
type: string
license_note:
type: string
publication_date:
type:
- string
- 'null'
format: date
retrieval_date:
type:
- string
- 'null'
format: date
data_snapshot_id:
type: string
model_version:
type:
- string
- 'null'
training_eligibility:
type: string
enum:
- benchmark_only
- consumer_feed
- training_candidate
- holdback
summary:
type: object
details:
type: object
_links:
type: object
additionalProperties:
type: string
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