Public JSON API
Every ranked list, every ConvictionScore, every tracked manager — as static JSON under holdlens.com/api/v1/. No API key. No rate limit beyond CDN edge caching. Attribution appreciated, not required.
Dataroma has no API at all — HoldLens has 17 free endpoints powering everything on the site.
Quick start
Every endpoint is a static JSON file. Call it from anything — curl, Python, a React component, a Google Sheet:
curl https://holdlens.com/api/v1/big-bets.json | jq '.data[0]'
# or in Python
import requests
r = requests.get("https://holdlens.com/api/v1/scores/NVDA.json")
print(r.json()["data"]["score"])Responses are a thin envelope: { data, meta }. All prices derived from SEC 13F filings. Last refreshed every quarter within 45 days of period end.
Endpoints (17)
/api/v1/index.jsonCatalog of every endpoint exposed by the API.
{
"name": "HoldLens Public JSON API",
"version": "v1",
"base_url": "https://holdlens.com/api/v1",
"quarter": "2025-Q4",
"endpoints": [ /* ... */ ]
}/api/v1/scores.jsonEvery tracked ticker ranked by the unified signed −100..+100 ConvictionScore.
{
"data": [
{
"ticker": "NVDA",
"name": "NVIDIA Corp",
"sector": "Technology",
"score": 68,
"direction": "BUY",
"label": "High conviction BUY",
"buyer_count": 8,
"seller_count": 1,
"owner_count": 12
}
],
"meta": { "count": 94, "quarter": "2025-Q4" }
}/api/v1/scores/{ticker}.jsonFull breakdown for a single ticker — every layer of the conviction model.
{
"data": {
"ticker": "NVDA",
"score": 68,
"direction": "BUY",
"breakdown": {
"smartMoney": 22, "insiderBoost": 8, "trackRecord": 14,
"trendStreak": 10, "concentration": 7, "contrarian": 0,
"dissentPenalty": 3, "crowdingPenalty": 4
}
}
}/api/v1/signals/buys.jsonTop 100 buy signals sorted by score descending.
{ "data": [ { "ticker": "NVDA", "score": 68, "buyer_count": 8 } ] }/api/v1/signals/sells.jsonTop 100 sell signals sorted by score ascending.
{ "data": [ { "ticker": "BABA", "score": -22, "seller_count": 3 } ] }/api/v1/managers.jsonAll 30 tracked superinvestors with quality score and 10y CAGR.
{
"data": [
{
"slug": "warren-buffett",
"name": "Warren Buffett",
"fund": "Berkshire Hathaway",
"quality_score": 10,
"cagr_10y": 13.2,
"top_holding": "AAPL",
"top_holding_pct": 22.4
}
]
}/api/v1/managers/{slug}.jsonManager detail: holdings, recent quarterly moves, bio, philosophy.
{
"data": {
"slug": "warren-buffett",
"name": "Warren Buffett",
"cagr_10y": 13.2,
"holdings": [ { "ticker": "AAPL", "pct": 22.4 } ],
"recent_moves": [
{ "quarter": "2025-Q4", "ticker": "BAC", "action": "trim" }
]
}
}/api/v1/big-bets.jsonTop 100 conviction × position-size ranked bets across all managers.
{
"data": [
{
"rank": 1,
"manager": "Bill Ackman",
"fund": "Pershing Square Capital",
"ticker": "CMG",
"position_pct": 21.4,
"conviction_score": 34,
"combined_score": 727.6
}
]
}/api/v1/rotation.json12-sector × 8-quarter signed net-flow heatmap. Green = buying, red = selling.
{
"data": [
{
"sector": "Technology",
"quarters": {
"2025-Q4": { "net": 8.4, "buys": 12, "sells": 3 }
}
}
]
}/api/v1/sector/{slug}.jsonPer-sector drilldown: tickers ranked by conviction, top managers overweight in the sector, 8Q flow. One-click from the rotation heatmap. Slugs: technology, financials, energy, healthcare, consumer-discretionary, consumer-staples, industrials, materials, real-estate, communication, utilities.
{
"data": {
"sector": "Technology",
"slug": "technology",
"stats": { "ticker_count": 16, "avg_conviction": 7.9, "net_flow_4q": 75.3 },
"tickers": [ { "ticker": "NVDA", "conviction_score": 19, "direction": "BUY" } ],
"top_managers": [ { "name": "Michael Burry", "sector_pct": 62.4 } ]
}
}/api/v1/alerts.jsonTop 200 high-impact 13F moves where a single position change shifted more than 5% of a superinvestor's portfolio. The raw feed behind the /alerts page email digest.
{
"data": [
{
"ticker": "NVDA",
"action": "new",
"manager": "Michael Burry",
"quarter": "2025-Q1",
"portfolio_impact_pct": 49.0,
"conviction_score": 19
}
]
}/api/v1/consensus.jsonWidely-held tickers (≥5 superinvestor owners) that ALSO have positive ConvictionScore AND net-buying flow in the last 2 quarters. Where smart money agrees.
{
"data": [
{
"rank": 1,
"ticker": "META",
"owner_count": 15,
"conviction_score": 5,
"recent_buyers": 6,
"recent_sellers": 0,
"score": 177.0
}
]
}/api/v1/crowded.jsonTop 30 tickers by ownership, each tagged loading / unwinding / stable based on last 2Q flow. Crowded + unwinding = the exit is about to get ugly.
{
"data": [
{
"rank": 1,
"ticker": "META",
"owner_count": 15,
"conviction_score": 5,
"net_direction": "loading"
}
]
}/api/v1/contrarian.jsonTickers where ≥2 superinvestors are buying AND ≥2 others are selling in the same 4-quarter window. The disagreement signal Dataroma can't show. Returns per-ticker split of who's on each side.
{
"data": [
{
"rank": 1,
"ticker": "META",
"buyer_count": 16,
"seller_count": 9,
"buyers": [ { "slug": "bill-ackman", "name": "Bill Ackman" } ],
"sellers": [ { "slug": "david-tepper", "name": "David Tepper" } ]
}
]
}/api/v1/best-now.jsonTop 50 buy candidates — what the smartest investors are buying right now.
{ "data": [ { "ticker": "NVDA", "score": 68, "direction": "BUY" } ] }/api/v1/value.jsonTop 50 smart-money buys for value overlay with your own 52w-range feed.
{ "data": [ { "ticker": "BABA", "score": 42 } ] }/api/v1/quarters.jsonList of available 13F quarters with labels.
{ "data": [ { "quarter": "2025-Q4", "label": "Q4 2025" } ] }Embed a ConvictionScore badge
Drop the signed −100..+100 ConvictionScore for any tracked ticker onto your blog, newsletter, or Notion page. Static, no JS load, no API key, no rate limit. Shares the same glyph set as the live site so it looks native on any dark background.
<iframe
src="https://holdlens.com/embed/NVDA/"
width="200"
height="280"
loading="lazy"
style="border: 0; border-radius: 14px;"
title="NVDA ConvictionScore — HoldLens"
></iframe>Swap NVDA for any tracked ticker. Recommended size: 200×280 px. Responsive-safe.
94 supported tickers today (every entry on the ticker index). Pass the symbol as ALL-CAPS — /embed/AAPL/, not /embed/aapl/. Unknown symbols 404.
Every badge includes a holdlens.com ↗ link at the bottom. Please don’t strip it — it’s how we keep the widget free forever.
Data freshness + licensing
Source: SEC 13F filings (every tracked manager). Quarterly refresh cadence — typically within 45 days of quarter end.
License: Free for personal and commercial use. Attribution appreciated but not required. Do not redistribute as your own API.
Caching: All JSON is statically exported and served from Cloudflare’s edge — effectively unlimited throughput for normal usage.
Not investment advice. Backtest yourself. See methodology.
Want the data on HoldLens.com too?
Every endpoint above powers a page on the site. Start with the Big Bets screen or the Sector Rotation heatmap.