Getting filings of various companies at once is really a pain, but SEC-Edgar does that for you. You can download all of a company’s periodic reports, filings and forms from the EDGAR database with a single command.
You can install the package using pip:
$ pip install secedgarOR
You can clone the project:
$ git clone https://github.com/sec-edgar/sec-edgar.git
$ cd sec-edgar
$ python setup.py installIf you are using Jupyter Notebook, you'll need to install and configure nest-asyncio:
pip install nest-asyncioThen add the following code at the start of your notebook:
import nest_asyncio
nest_asyncio.apply()from secedgar import filings, FilingType
# 10Q filings for Apple (ticker "aapl")
my_filings = filings(cik_lookup="aapl",
filing_type=FilingType.FILING_10Q,
user_agent="Your name ([email protected])")
my_filings.save('/path/to/dir')from secedgar import filings, FilingType
# 10Q filings for Apple and Facebook (tickers "aapl" and "fb")
my_filings = filings(cik_lookup=["aapl", "fb"],
filing_type=FilingType.FILING_10Q,
user_agent="Your name ([email protected])")
my_filings.save('/path/to/dir')from secedgar import filings
from datetime import date
daily_filings = filings(start_date=date(2021, 6, 30),
user_agent="Your name ([email protected])")
daily_urls = daily_filings.get_urls()Currently this crawler supports many different filing types. To see the full list, please refer to the docs. If you don't see a filing type you would like to be supported, please create an issue on GitHub.
To learn more about the APIs and latest changes in the project, read the official documentation.