Different ways of getting SEC filings

Explore the different ways to get access to company filings using edgartools - the easiest way to navigate SEC filings

Different ways of getting SEC filings

When you start working with Edgar one of the first things you do is get a list of filings. Actually, you either get a list of filings without thinking about any specific company OR you get filings for a specific company. Both workflows are fully supported by edgartools.

There's actually a 3rd workflow. Companies push filings to Edgar around the clock, but the filings are published on a set schedule - generally by 10:30 pm EST weekdays. If you want to see fillings as soon as they are in Edgar you want to use the get the latest filings workflow.

All three workflows are supported by different SEC-Edgar endpoints, and there are some key differences that will help you decide which to use for your specific business need. In this article, let's just look at each of these workflows.

Getting filings

The first call get_filings works by reading the filing index files published on the SEC Edgar website. These filing index files are published on a fixed schedule so you will miss the filings that make it to the SEC after the cutoff. If you need access to the vast majority of SEC filings - including historical filings - without timeliness then this is the main API to use. You can access the index files directly here https://www.sec.gov/Archives/edgar/full-index/2024/QTR4/

The edgartools function call looks like this

from edgar import *

filings = get_filings()
filings

Small interesting caveat, I'm writing this as we speak on January 2nd 2025, and get_filings returns no filings. This reminds me that get_filings() by default returns the filings for a given year and quarter, and there are no filings as of yet in 2025. So the filings displayed in the image above are with get_filings(year=2024) . This also reminds me that the bug that used to happen at the beginning of a quarter when there is no data is finally fixed! Nice!

Getting company filings

The company filings workflow is different. You first get the company by cik or ticker, and then you can access the company's filings using get_filings().

c = Company("AAPL")
c.get_filings()

This works under the hood by querying the company submissions API using the CIK. This means if you know the company CIK, then it is slightly faster to get the company directly using Company(cik) rather than Company(ticker).

The company submissions API is listed on the SEC Edgar API page directly on Edgar e.g. example here are the company submissions for Tesla.

Get filings as soon as they arrive

In edgartools the function get_current_filings() returns the first page of filing data and allows you to page through and select the next page of filings. There are also alias functions - get_latest_filings(), current_filings() that do the same thing. I have been exploring with how the functionality should work within edgartools so maybe this will change in the future.

current_filings()

On Edgar the data is hosted at the latest filings endpoint.

Conclusion

This article listed a few ways to get filings. You can of course just use edgartools which is the easiest way to navigate SEC filings.

About edgartools

edgartools is the most powerful way to navigate SEC filings in Python. It is also the easiest.

pip install edgartools

If you like it please leave a star on Github

Subscribe to EdgarTools

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe