sec-edgar-downloader
Download SEC filings from the EDGAR database using Python
What it is and what it does
sec-edgar-downloader is a Python library that automates retrieval of SEC company filings from the EDGAR database. It wraps the SEC's public filing search with a simple API, letting you fetch filings by stock ticker or Central Index Key (CIK) and filter by filing type, date range, and recency. The package handles the user-agent requirements mandated by SEC EDGAR's programmatic access policy.
You provide a company name and email address (used to form a compliant user-agent), then call get() with a filing type (8-K, 10-K, 10-Q, and many others) and a company identifier. The library downloads filings to a local directory, with optional filtering for amended filings, date ranges, and result limits. It depends on requests for HTTP access and pyrate-limiter to respect rate limits.
Use it for:
- Bulk download 10-K annual reports for a portfolio of companies to analyze financial statements programmatically.
- Retrieve all 8-K current reports for a ticker within a date range to track material events and corporate actions.
- Automate collection of 13F-HR filings from institutional investors to monitor portfolio holdings changes.
- Build a financial data pipeline that fetches the latest SEC filings for a watchlist of companies on a scheduled basis.
- Download DEF 14A proxy statements to analyze executive compensation and shareholder proposals.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Downloads SEC EDGAR company filings by ticker or CIK, supporting all SEC filing types with optional date filtering and amendment inclusion.
Yes. The package is actively maintained, has no known vulnerabilities, installs with minimal friction, and solves a real problem—automating SEC filing retrieval that would otherwise require manual downloads or web scraping. MIT licensing removes legal barriers. Suitable for financial research, compliance automation, and data pipeline work.
Install
sec-edgar-downloader on PyPI
pip
pip install sec-edgar-downloaderuv
uv add sec-edgar-downloaderpoetry
poetry add sec-edgar-downloaderInstalling sec-edgar-downloader
Before you install
Low friction install with only two runtime dependencies (requests and pyrate-limiter). Actively maintained with recent commits and a stable production release status.
License in practice
MIT license permits unrestricted use, modification, and distribution with minimal legal friction for commercial or private projects.
Quickstart
pip install sec-edgar-downloader
from sec_edgar_downloader import Downloader
dl = Downloader("MyCompanyName", "my.email@domain.com")
dl.get("10-K", "AAPL", limit=5)
Requires Python 3.10 or later. Must provide a company name and email address to form a user-agent string compliant with SEC EDGAR's fair access policy.
Verify before relying
- Whether rate limiting via pyrate-limiter is configurable or automatic per SEC guidelines
- Performance characteristics when downloading large batches of filings across multiple companies
- Whether filing details download includes parsed structured data or raw document files
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — requests, pyrate-limiter |
| Maintenance | actively maintained — 193 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 210,715/month — #9,489 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: sec_edgar_downloader-5.1.0-py3-none-any.whl
Keywords: sec, edgar, filing, financial, finance, stocks, mutual-funds, sec.gov
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
edgartoolsEdgarTools parses SEC EDGAR filings into typed…
permissive · top 5,000 on PyPI
sec-apiA Python client for the SEC-API.io service that…
permissive · top 15,000 on PyPI
openbb-secIntegrates SEC EDGAR data into the OpenBB…
agpl · top 15,000 on PyPI
yfinanceFetches financial and market data from Yahoo…
permissive · top 1,000 on PyPI
efinanceFetches historical and real-time stock, fund,…
permissive · top 15,000 on PyPI
yahooqueryRetrieves financial data from Yahoo Finance…
permissive · top 15,000 on PyPI
finance-datareaderFetches historical and current financial…
permissive · top 15,000 on PyPI
alpha-vantageFetches real-time and historical stock,…
permissive · top 15,000 on PyPI
investor-agentProvides financial research tools as an MCP…
permissive · top 15,000 on PyPI
arelle-releaseArelle is an end-to-end XBRL processor that…
permissive · top 15,000 on PyPI