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, 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}
}
}
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.