ArkolithData13F holdings
SEC 13F · institutional holdings · sourced to EDGAR

The 13F holdings API that's already resolved, point-in-time, and sourced

Who owns what, who's buying, who's crowding in, across 7,444 institutional filers and 85,300,000 holdings. CUSIP→ticker resolved, amendments handled, quarter-over-quarter deltas computed, every datapoint traced to the filing it came from. Built for AI agents: MCP-native + REST.

Start your $1 trial Read quickstartCompare plans$1 trial with 300 research credits for 3 days to start · paid starts at $29/mo
Funds tracked
7,444
Holdings
85,300,000
13F filings
106,321

Live demo: cluster buys this quarter

Where the most funds opened or added a position, straight off this API (signal.crowding, mode='bought').

15 names
First successful call

Ask which funds own a stock, then drill into the filing proof.

The clean activation path is simple: create a key, ask your agent who owns a ticker, then follow the provenance link back to the SEC filing. A new workspace gets a one-time $1 trial with 300 research credits for 3 days. Starter, Developer, and Pro add monthly included credits for real workflows.

REST
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://arkolith.com/api/v1/stocks/NVDA"
Agent prompt
Use Arkolith to show which funds own NVDA,
which funds added it last quarter, and link
each claim to the source filing.

Build it yourself vs. one key

What 13F data actually takes to acquire and keep clean

The trapped partDIY from the sourceWith Arkolith
CUSIP → ticker13Fs identify securities by CUSIP, a proprietary identifier you must license or reverse-map yourself.Every position resolved to ticker + issuer via our identifier service. You query by ticker.
Amendments13F/A restatements silently supersede originals; naive pipelines double-count or serve stale books.Supersession handled: you always read the latest non-superseded filing per fund.
Quarter deltasThe signal is the CHANGE (new / added / reduced / exited). You must diff filings yourself, per fund, every quarter.fund.holdings.diff and signal.crowding ship the change set precomputed.
Point-in-timeBacktests leak look-ahead bias unless you reconstruct what was known on each date.fund.holdings.as_of selects by exact SEC acceptance time, including same-day amendments. Date-only cutoffs mean end-of-day UTC; incomplete clocks are refused.

The tools your agent gets

Live from the MCP catalog, also available as REST endpoints

11 tools
fund.list1 cr

List the institutional managers (hedge funds, asset managers) that file SEC 13F reports, ranked by AUM. Returns each fund's name, AUM, latest reported quarter, holdings count, and its SEC CIK — the id you pass to fund.holdings, fund.holdings.diff, fund.holdings.as_of, and fund.position.history. Start here to find which funds to track. Public-domain SEC EDGAR data. Cost: 1 credit per call.

copy.leaderboard1 cr

Rank the institutional managers (13F funds) worth copying. Each row is a followable actor — name, manager, book size (AUM), holdings count, latest reported quarter, follower count, the slug (for copy.target.get), and CIK (to follow via watchlist / pull via fund.holdings). Price-derived copy-return fields are withheld unless the price-source policy and freshness gate are green. The agent-native 'who should I copy?' entry point. Sort by book size, recent activity, follower count, or gated track record. Public-domain SEC EDGAR 13F data. Cost: 1 credit per call.

copy.target.get1 cr

Get one copy target (13F fund) by slug (from copy.leaderboard): its latest disclosed book — the top holdings you'd mirror, each with % of book and its quarter-over-quarter change (NEW/ADDED/REDUCED/EXITED) — plus book size, latest quarter, and filing history. Pair with watchlist tools to follow it. Public-domain SEC EDGAR 13F data. Cost: 1 credit per call.

fund.holdings1 cr

Latest reported 13F equity holdings for a fund (by SEC CIK) — top positions by value, each with its CUSIP and quarter-over-quarter change (new/added/reduced/exited). Public-domain SEC EDGAR data. Cost: 1 credit per call.

fund.holdings.as_of5 cr

Point-in-time 13F holdings as publicly knowable at a cutoff, selected by the SEC acceptance timestamp with no filing-date fallback. YYYY-MM-DD means end-of-day UTC; timestamps must include a timezone. This is source-publication replay, not a claim about when Arkolith first stored or served the filing. Cost: 5 credits per call.

fund.position.history2 cr

Time-series of a single security position (by ticker or CUSIP) across a fund's filings — shares and USD value per quarter. Cost: 2 credits per call.

fund.holdings.diff3 cr

Quarter-over-quarter change set for a fund's most recent filing: new positions, adds, reduces, exits, and reviewed reporting-universe changes. Each entry in `changes.new` carries `newly_reportable`: true means the SECURITY first appears in 13F filings this quarter (an IPO, direct listing or spin-off) and several other funds report it too, so the stake became reportable rather than being bought — report those separately from purchases; null means we could not determine it. Cost: 3 credits per call.

signal.trending5 cr

Stocks trending on SEC filings, not prices or page views: the ranking behind https://arkolith.com/trending. Blends four measured signals, each z-scored against its own distribution in the window: qualified insider buy clusters (2+ distinct open-market buyers, $10K+ each), open-market insider trade surges (3+ Form 4 buys/sells at 2x the name's own 90-day pace; awards, exercises and tax withholding never count), 13F holder momentum (quarter over quarter) and rising Google search interest. Every row carries per-signal evidence numbers and plain-English reasons, strongest first. Cost: 5 credits per call.

stock.owners2 cr

Institutional (13F) owners of a stock by ticker — which funds hold it, position value, share count, and the quarter-over-quarter change. The 'who owns this stock' join across all tracked funds. Cost: 2 credits per call.

signal.crowding5 cr

Cross-fund 'smart money' consensus from every tracked fund's latest 13F: the securities the MOST funds are collectively holding (mode='held'), buying this quarter (mode='bought' — NEW/ADDED cluster-buys), or selling (mode='sold' — REDUCED). The inverse of stock.owners: surfaces WHAT to look at, ranked by how many funds agree. Served from the consensus snapshot the refresh-signals cron rebuilds twice daily (computed_at and snapshot_age_hours in the response); never computed live, and refused uncharged if the snapshot is older than 26h. Cost: 5 credits per call.

signal.confluence10 cr

The moat join — where do informed INSIDERS (Form 4 open-market buys), institutional SMART MONEY (13F cluster-buys), and CONGRESS (US House STOCK Act trades) AGREE? Pass a `ticker` for all three legs on one name (insider + fund + congress net buy/sell + a verdict that escalates to triple_confluence_buy when all three are buying). Omit `ticker` for the market-wide ranked list — insider×fund names, surfaced first when Congress is buying too (triple_confluence). Joined on ticker — never a fuzzy name match. Each leg carries source provenance; congress $ are amount-range midpoints (approximate). Cost: 10 credits per call.

Every datapoint traced to its source

provenance.get: anti-hallucination grounding for agents

Any figure your agent quotes can be traced to the primary source: the origin URL, the fetch timestamp, and the parser version that produced it. Your agent cites the filing. It doesn't hallucinate one. That audit trail is first-class on every tool, REST and MCP.

> provenance.get { datapoint: "holding:BRK-NVDA-2026Q1" }
{
  "source_url": "https://www.sec.gov/Archives/edgar/data/...",
  "fetched_at": "2026-06-04T07:12:03Z",
  "parser": "edgar-13f v2.4.1",
  "license": "public domain (SEC EDGAR)"
}

Query every 13F filing from your agent in 60 seconds

Mint a key, add one line to Claude Code (or any MCP client), and your agent can answer money questions against the live dataset. Metered per call, with 300 research credits over three days for $1 to try the data first.

Start your $1 trial Read quickstartCompare plans$1 trial with 300 research credits for 3 days to start · paid starts at $29/mo
Claude Code
claude mcp add --transport http arkolith \
  https://arkolith.com/api/mcp \
  --header "Authorization: Bearer YOUR_API_KEY"

REST too: curl -H "Authorization: Bearer KEY" https://arkolith.com/api/v1/… · full docs