What Is a 13F Filing? How to Read Institutional Holdings
A plain guide to Form 13F: who files it, what it shows, what it leaves out, and how to pull every position as clean data.
- Institutional managers with at least $100 million in qualifying securities file Form 13F every quarter.
- Filings are due within 45 days after each quarter ends, so the data is a snapshot, not a live feed.
- 13F shows long positions in US listed stocks and certain options, but not short positions, cash or most bonds.
- You can read every holding as structured rows instead of parsing XML by hand.
Every quarter, the largest money managers in the United States tell the SEC what stocks they own. Those reports are called 13F filings, and they are one of the most widely used public datasets in finance. Investors use them to follow well known funds, journalists use them to report on big bets, and analysts use them to measure who owns a company.
This guide explains what a 13F filing is, how to read one, where its limits are, and how to work with the data in code.
What is a 13F filing?
Form 13F is a quarterly report required by Section 13(f) of the Securities Exchange Act of 1934. It must be filed by any institutional investment manager that exercises investment discretion over $100 million or more in "Section 13(f) securities".
Institutional investment managers include hedge funds, mutual fund companies, pension funds, insurance companies, banks, endowments and registered investment advisers. Individuals investing their own money do not file 13Fs.
The filing has two main parts:
- The cover page and summary, which name the manager, the quarter, the number of positions and their total value.
- The information table, which lists every qualifying position: the security, its CUSIP, the number of shares, the market value at quarter end, and how voting authority is split.
When are 13F filings due?
A 13F is due within 45 days after the end of each calendar quarter:
| Quarter ends | Filing deadline (approximately) |
|---|---|
| March 31 | May 15 |
| June 30 | August 14 |
| September 30 | November 14 |
| December 31 | February 14 |
Many managers file close to the deadline. That means the positions you read can be up to six weeks old by the time they become public, and the manager may have changed them since.
Get this data as clean JSON
SecFeed turns SEC filings into structured data with one API call: GET /v1/form-13f/holdings?cusip=037833100. 500 free calls a month.
How to read the information table
Each row in the information table describes one position. Since the SEC moved 13F to a structured XML format, every field has a fixed name:
| Field | What it means |
|---|---|
nameOfIssuer | The company that issued the security |
titleOfClass | The class of security, for example COM for common stock |
cusip | The nine character CUSIP that identifies the security |
value | Market value at quarter end, in dollars |
sshPrnamt and sshPrnamtType | Number of shares (SH) or principal amount (PRN) |
putCall | Set when the row is a put or call option position |
investmentDiscretion | SOLE, DFND (shared defined) or OTR (other) |
votingAuthority | How many shares carry sole, shared or no voting authority |
Comparing quarters
A single 13F is a snapshot. The useful signal usually comes from comparing two consecutive quarters for the same manager:
- New positions: securities that appear this quarter but not last quarter.
- Exits: securities that disappear.
- Increases and decreases: changes in share count for the same CUSIP.
Compare share counts rather than dollar values, because values also move with the stock price.
What a 13F does not show
13F data is valuable, but it is easy to read too much into it. Keep these limits in mind:
- No short positions. A manager can be long a stock in its 13F while holding a larger short elsewhere.
- Only Section 13(f) securities. Mostly US exchange listed stocks, some ETFs, listed options and certain convertible securities. Most bonds, cash, private investments and foreign listed shares are not included.
- It is delayed. Positions are as of quarter end and published up to 45 days later.
- Confidential treatment. Managers can ask the SEC to delay disclosing certain positions, which then appear later in an amendment.
- Amendments. A 13F-HR/A can restate or add to an earlier report, so always check for amendments before drawing conclusions.
How to find 13F filings
You can browse 13F filings for free on SEC.gov using EDGAR company search, by looking up a manager and filtering for form type 13F-HR. That works for one manager at a time, but the information table arrives as XML, and comparing quarters or searching across thousands of managers by hand is slow.
Working with 13F data in code
SecFeed parses every 13F information table into rows, so you can query holdings directly. For example, to see which managers reported holding Apple (CUSIP 037833100), sorted by value:
curl "https://secfeedapi.com/v1/form-13f/holdings?cusip=037833100&size=10" \
-H "Authorization: Bearer YOUR_API_KEY"
Each row in the response includes the filer, the period, the issuer, the CUSIP, value, shares and voting authority:
{
"filer": "EXAMPLE CAPITAL MANAGEMENT LLC",
"period": "06-30-2026",
"issuer": "APPLE INC",
"cusip": "037833100",
"value": 1250000000,
"shares": 4310000,
"sh_prn": "SH",
"put_call": null,
"vote_sole": 4310000
}
To read one manager's full portfolio, query by the filer's CIK instead, and use the period field to compare quarters. In Python:
from secfeed import Client
sf = Client("YOUR_API_KEY")
rows = sf.holdings_13f(cik="1067983", period="06-30-2026")
top = sorted(rows, key=lambda r: r["value"], reverse=True)[:10]
for r in top:
print(r["issuer"], r["shares"], r["value"])
The cover page fields (manager name, report type, number of entries, total value) are available from /v1/form-13f, and every structured field from the original XML is preserved.
Frequently asked questions
Who has to file a 13F?
Any institutional investment manager with investment discretion over at least $100 million in Section 13(f) securities on the last trading day of any month in a calendar year must file for the last quarter of that year and each quarter of the following year.
Is 13F data free?
Yes. 13F filings are public records published by the SEC on EDGAR at no cost. Paid services charge for convenience: parsed rows, history, search across all managers and alerts.
How current is 13F data?
Positions are as of the last day of the quarter and are published up to 45 days later. Treat 13F data as a delayed view of a manager's long portfolio, not a live record of trading.
What is the difference between 13F, 13D and 13G?
A 13F lists all qualifying holdings of a large manager each quarter. Schedules 13D and 13G are filed by anyone who acquires more than 5% of a company's voting shares, and 13D is required when the holder may seek to influence or control the company. You can read both in SecFeed under /v1/form-13d-13g.
Get this data as clean JSON
SecFeed turns SEC filings into structured data with one API call: GET /v1/form-13f/holdings?cusip=037833100. 500 free calls a month.
For information only, not investment advice. Data from public SEC filings; verify important figures on SEC.gov. See our AI Disclosure.