Edgar-SEC: A Modern Python Client for SEC EDGAR® API#
edgar-sec is a lightweight, typed, and modern Python package for accessing the U.S. Securities and Exchange Commission (SEC) EDGAR® API. It offers both synchronous and asynchronous endpoints, with structured dataclasses, built-in caching, rate limiting, and developer-friendly error handling.
Install Edgar-SEC#
pip install edgar-sec
conda install -c conda-forge edgar-sec
See Installing Edgar-SEC for advanced options.
—
Badges#
Github Actions build status.
Code linting and static analysis status.
Unit test coverage for critical components.
GitHub CodeQL security scanning.
Open Source Security Foundation (OpenSSF) Gold Badge.
Codecov test coverage report.
Security risk analysis via Socket.dev.
Repology packaging status across Linux distributions.
Latest version released on PyPI.
Download stats via Pepy.tech.
Conda-Forge published version.
Number of downloads from Conda-Forge.
Key Features#
Typed Models
Structured Python @dataclass models for filings, metadata, entities, and submissions.
Async + Sync Clients
Fully asynchronous and synchronous interfaces via edgar_sec.clients.EdgarAPI
and edgar_sec.clients.EdgarAPI.AsyncAPI
.
File Caching
Caches responses to disk to reduce redundant API calls and accelerate development.
Caches responses to disk to reduce redundant API calls and accelerate development.
- icon:
archive
Caches responses to disk to reduce redundant API calls and accelerate development.
Built-in Rate Limiting
Auto-throttling respects SEC EDGAR API limits — no extra config required.
Pythonic Error Handling
Designed for transparency and reliability — clear exceptions for all edge cases.
Resources#
Explore the documentation:
Get Started
Developer Reference