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 4,080 institutional filers and 79,500,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.

Get a free API key Read quickstartCompare plans500 evaluation credits to start · paid starts at $29/mo
Funds tracked
4,080
Holdings
79,500,000
13F filings
83,386

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 500-credit evaluation grant. 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

10 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.

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.

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.

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.

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.

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.

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.

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.

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.

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).

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 a one-time grant of 500 evaluation credits to verify the data first.

Get a free API key Read quickstartCompare plans500 evaluation credits 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