VerifiedBeta publishes a static, machine-readable API for agents, research tools, and spreadsheet workflows. Use these endpoints when you need structured ETF factor data instead of scraping HTML tables or fund pages.
Design Principles
- Static and crawlable. API files are generated at publish time and can be cached like the rest of the site.
- Latest-data semantics. Each file reflects the latest published dataset, not a pinned historical snapshot.
- No HTML parsing required. Fund records expose stable IDs, model metadata, betas, t-stats, expected and realized factor contributions, valuation, AUM, fees, and freshness fields directly.
- Browser URLs are separate. Universe page URLs with
uv=1reproduce a human view. The/api/v1/files are the stable machine-readable contract.
Core Endpoints
| Endpoint | Use |
|---|---|
/api/v1/status.json | Build status, data hashes, analysis-through dates, and market counts. |
/api/v1/funds/us.json | US funds with usable factor regression output. |
/api/v1/funds/ca.json | Canadian funds with usable factor regression output. |
/api/v1/leaders/us.json / .csv | Current US leaders as JSON or CSV. |
/api/v1/leaders/ca.json / .csv | Current Canadian leaders as JSON or CSV. |
/api/v1/search-index.json | Canonical ticker IDs, aliases, normalized tickers, and canonical URLs. |
/api/v1/models.json | Published factor-model names, families, bases, categories, and fund counts. |
/api/v1/openapi.json | OpenAPI description for discovery by agents and tooling. |
Similarity Endpoints
For funds with currently published factor-similar peers, use:
/api/v1/similar/us/{ticker}.json
Example: /api/v1/similar/us/AVUV.json. Similarity endpoints expose only the matches already published on VerifiedBeta comparison and cluster pages.
Stable Fund IDs and Ticker Aliases
Fund IDs are market-qualified to avoid ambiguity:
US:AVUVfor a US-listed ETF.CA:XEF.TOfor a TSX-listed ETF.
The search index maps aliases such as XEF and XEF.TO to the canonical fund ID when the alias is present in the published data.
Example Fund Fields
{
"id": "US:AVUV",
"ticker": "AVUV",
"market": "us",
"canonical_name": "Avantis U.S. Small Cap Value ETF",
"model": {
"family": "FF6 US",
"basis": "USD",
"category": "US Equity"
},
"metrics": {
"aum_m": 16800.0,
"mer_pct": 0.25,
"dividend_valuation": 117.0,
"adj_r2": 0.94,
"relative_sharpe_backtested": 1.12
},
"factors": {
"SMB": {"beta": 0.43, "t_stat": 8.7, "significant": true},
"HML": {"beta": 0.37, "t_stat": 7.9, "significant": true}
}
}
Factor-Return Contract
Every usable fund record contains a versioned factor_return object. It is generated from the same canonical decomposition used by the fund pages; clients should not scrape the waterfall chart from HTML.
factorsprovides beta, t-stat, significance, realized-window annualized contribution, and long-run modeled annualized contribution for every factor in the selected public model.subtotalsprovides market, non-market, alpha, and smart-beta-net contribution pairs.totals.realized_windowseparates the factor model's in-sample modeled total from the observed fund excess return.totals.long_run_modeledapplies the same fixed regression betas to the full available factor history.basis,windows, andcalculation_idmake currency, nominal/real treatment, history, frequency, annualization, and methodology version explicit.
"factor_return": {
"schema_version": "1.0",
"calculation_id": "vb.factor-return.fixed-beta-geometric-monthly.v1",
"available": true,
"basis": {
"return_type": "nominal",
"currency": "USD",
"regression_currency": "USD",
"factor_frequency": "monthly",
"annualization": "geometric",
"contribution_unit": "annualized_percent"
},
"factors": {
"SMB": {
"beta": 0.43,
"t_stat": 8.7,
"significant": true,
"realized_annualized_contribution_pct": 0.8,
"long_run_modeled_annualized_contribution_pct": 0.9
}
},
"subtotals": {
"smart_beta_net": {
"realized_annualized_pct": 1.4,
"long_run_modeled_annualized_pct": 2.1
}
},
"windows": {
"regression": {"start": "2019-Oct", "end": "2026-Jun", "months": 81},
"long_run_factor_history": {"start": "1963-Jul", "end": "2026-Jun", "months": 756}
}
}
Recommended Agent Workflow
- Read
/api/v1/status.jsonto check freshness. - Resolve ticker ambiguity using
/api/v1/search-index.json. - Load the relevant fund dataset, such as
/api/v1/funds/us.json. - Filter locally by stable fields such as
model.family,metrics.aum_m,metrics.mer_pct,metrics.dividend_valuation, and factor beta/t-stat fields. - Use
canonical_urlto send users to the corresponding HTML page for charts and explanations.
These endpoints are public and intended for structured use. If you need a field that is visible on the site but missing from the API contract, use the contact page or quick feedback flow and describe the workflow you are trying to support.