Blog / Institutional holdings
Institutional holdings

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.

By the SecFeed teamOctober 12, 20265 min read
Key takeaways

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:

When are 13F filings due?

A 13F is due within 45 days after the end of each calendar quarter:

Quarter endsFiling deadline (approximately)
March 31May 15
June 30August 14
September 30November 14
December 31February 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.

Get a free API key →

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:

FieldWhat it means
nameOfIssuerThe company that issued the security
titleOfClassThe class of security, for example COM for common stock
cusipThe nine character CUSIP that identifies the security
valueMarket value at quarter end, in dollars
sshPrnamt and sshPrnamtTypeNumber of shares (SH) or principal amount (PRN)
putCallSet when the row is a put or call option position
investmentDiscretionSOLE, DFND (shared defined) or OTR (other)
votingAuthorityHow many shares carry sole, shared or no voting authority
Values have been reported to the nearest dollar since 2023. Older filings reported values in thousands of dollars, so adjust when you compare periods.

Comparing quarters

A single 13F is a snapshot. The useful signal usually comes from comparing two consecutive quarters for the same manager:

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:

  1. No short positions. A manager can be long a stock in its 13F while holding a larger short elsewhere.
  2. 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.
  3. It is delayed. Positions are as of quarter end and published up to 45 days later.
  4. Confidential treatment. Managers can ask the SEC to delay disclosing certain positions, which then appear later in an amendment.
  5. 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.

Get a free API key →

For information only, not investment advice. Data from public SEC filings; verify important figures on SEC.gov. See our AI Disclosure.