EDGAR 13F-HR holdings (institutional positions)
GET /api/edgar-13f-holdingsTop holdings from an institutional investment manager's most recent 13F-HR filing (managers >$100M AUM file quarterly). Parses the standard SEC informationtable.xml attached to the filing - returns issuer, CUSIP, shares, USD value, and voting authority for each position. Sorted by USD value, descending. Source: data.sec.gov + filing archive. ?cik=1067983 (Berkshire) or ?ticker=BRK-B
Input
| Field | Type | Description |
|---|---|---|
cik | string | SEC CIK of the institutional manager (e.g. 1067983 = Berkshire Hathaway) |
ticker | string | US ticker of a publicly-traded manager (alternative to cik; many funds aren't public) |
limit | number | Top N holdings by USD value, 1-500 (default 50) |
Example output
{
"cik": "0001067983",
"managerName": "Berkshire Hathaway Inc",
"accessionNumber": "0000950123-25-001234",
"filedDate": "2025-11-14",
"reportDate": "2025-09-30",
"informationTableUrl": "https://www.sec.gov/Archives/edgar/data/1067983/000095012325001234/informationtable.xml",
"totalHoldings": 38,
"returned": 10,
"totalValueUsd": 312456000000,
"holdings": [
{
"issuer": "APPLE INC",
"titleOfClass": "COM",
"cusip": "037833100",
"valueUsd": 176558000000,
"valueRaw": 176558000000,
"shares": 905560000,
"sharesOrPrincipalAmountType": "SH",
"putCall": null,
"investmentDiscretion": "DFND",
"votingSole": 905560000,
"votingShared": 0,
"votingNone": 0
}
]
}
Try it - see the 402 challenge (free)
curl -i "https://agent402.tools/api/edgar-13f-holdings?cik=1067983&limit=10"
The response is HTTP 402 Payment Required with exact payment requirements. Any x402 v2 client pays automatically and retries:
Paid call (JavaScript agent)
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
const client = new x402Client();
registerExactEvmScheme(client, { signer: privateKeyToAccount(KEY) });
const payFetch = wrapFetchWithPayment(fetch, client);
const res = await payFetch("https://agent402.tools/api/edgar-13f-holdings?cik=1067983&limit=10");
Part of these workflows
This tool is one step in 2 curated multi-tool workflows - agents can fetch the whole sequence as an MCP prompt or call https://agent402.tools/api/skill-packs/{slug}/prompt.
- SEC filings deep-dive - Pull the full EDGAR picture of a US public company in one workflow: recent filings, key financial time series, insider trades, and full-text search across the corpus.
- SEC regulatory monitoring - The 'who just filed / who just bought / what just IPO'd / what does the full-text search say' monitoring loop. Five EDGAR tools composed: full-text search for a keyword, surface recent filings on the matched companies, pull insider Form 4 transactions, pull 13F institutional holdings changes, and check the IPO calendar. Different from sec-filings-deep-dive (which goes deep on one company's earnings) - this is the wide-and-recent radar.
Related tools
US gov dataset search
GET /api/gov-dataSearch 300,000+ US government datasets on catalog.data.gov (CKAN): titles, publishing org, formats, and direct resource …
US weather alerts
GET /api/weather-alertsActive National Weather Service alerts for a US state as clean JSON: event, severity, headline, affected areas, onset/ex…
Recent earthquakes (USGS)
GET /api/earthquakesReal-time USGS earthquake feed: magnitude, place, time, depth, coordinates. Live government data, no key. ?minMag=4.5&pe…