Institutions
Profile a 13F institutional filer and read its reported holdings quarter by quarter. All endpoints live under https://api.edgar.tools/v1.
Available on Professional and above. Free accounts can preview plans on the pricing page.
Institutions are identified by their SEC filer CIK (the 10-digit identifier on their Form 13F). Berkshire Hathaway, for example, is 0001067983.
GET /v1/institutions/{cik}#
Tier: Professional
Get a filer's profile: latest reported AUM and holdings count, the list of quarters available, and a portfolio trend series.
| Parameter | Type | Description |
|---|---|---|
cik | integer (path) | The institution's 13F filer CIK |
curl "https://api.edgar.tools/v1/institutions/0001067983" \
-H "Authorization: Bearer etk_your_key_here"{
"institution": {
"filer_cik": "0001067983",
"filer_name": "BERKSHIRE HATHAWAY INC",
"latest_report_date": "2026-03-31",
"latest_aum_thousands": 285000000,
"latest_holdings_count": 45,
"total_filings": 96
},
"available_quarters": ["2026-03-31", "2025-12-31", "2025-09-30"],
"portfolio_trend": {
"quarters": ["2025-09-30", "2025-12-31", "2026-03-31"],
"total_values": [270000000, 278000000, 285000000],
"holdings_counts": [43, 44, 45]
}
}latest_aum_thousands and the total_values series are in thousands of dollars, matching the 13F reporting unit. Returns 404 with { "error": "Institution not found", "cik": "1067983" } when the CIK has filed no 13F reports.
GET /v1/institutions/{cik}/holdings#
Tier: Professional
Get the holdings a filer reported for a given quarter, with per-position changes versus the prior quarter, a portfolio summary, and turnover statistics.
| Parameter | Type | Description |
|---|---|---|
quarter | string | Report date, e.g. 2026-03-31. Defaults to the latest quarter. |
search | string | Filter holdings by issuer name or ticker |
sector | string | Filter to a single sector |
sort | string (value or shares, default value) | Sort order |
limit | integer (default 50, range 1–500) | Max holdings to return |
offset | integer (default 0) | Pagination offset |
include_closed | boolean | Include positions closed since the prior quarter |
sparkline_quarters | integer (default 0) | Add a per-holding share-count sparkline over N quarters |
curl "https://api.edgar.tools/v1/institutions/0001067983/holdings?quarter=2026-03-31&limit=50&sort=value" \
-H "Authorization: Bearer etk_your_key_here"{
"institution_cik": "0001067983",
"quarter": "2026-03-31",
"holdings": [
{
"cusip": "037833100",
"ticker": "AAPL",
"issuer_name": "APPLE INC",
"shares": 905560000,
"value_thousands": 174300000,
"pct_portfolio": 12.34,
"sector": "Technology",
"change": {
"status": "increased",
"share_change_pct": 5.2,
"value_change": 1200000,
"prev_shares": 860000000,
"prev_value_thousands": 173100000
}
}
],
"summary": {
"total_value_thousands": 285000000,
"holdings_count": 45,
"top_sector": "Technology",
"top_sector_pct": 18.5,
"value_change_pct": 2.1,
"holdings_count_change": 1
},
"pagination": { "offset": 0, "limit": 50, "total": 45, "has_more": false },
"filters": { "search": null, "sector": null },
"change_summary": {
"new": 3,
"increased": 20,
"decreased": 10,
"unchanged": 12,
"closed": 2,
"total_current": 45,
"total_previous": 44,
"net_change": 1,
"turnover_pct": 11.36
}
}Notes on optional fields:
changeis present on each holding only when a prior quarter exists.statusisnew,increased,decreased, orunchanged.change_summaryis present only when there is a prior quarter to compare against.- A per-holding
sparklinearray appears only whensparkline_quartersis greater than 0. - A top-level
closed_positionsarray appears only wheninclude_closed=trueand there are closed positions.
Returns 404 with { "error": "Institution not found", "cik": ... } when the CIK has no 13F history. Sets Cache-Control: public, max-age=3600.
Related#
- Institutional Holdings guide — working with 13F data
- MCP ownership tools —
institutional_ownershipfor AI agents - Errors & Limits — status codes and rate limits