Edgar-SEC API Overview#

Edgar-SEC provides a modular, typed client interface for interacting with the SEC EDGAR® API, supporting both synchronous and asynchronous workflows with a consistent dataclass model layer.

This page summarizes the main client components, supported endpoints, and enhanced runtime features.

Client Architecture#

Expand Client Class Hierarchy

Each interface shares a common internal design:

edgar_sec.EdgarAPI.get_submissions() → synchronous

edgar_sec.AsyncAPI.get_submissions() → asynchronous

Each class is accessed as an attribute:

Helpers are exposed via edgar_sec.EdgarHelpers for common tasks like CIK lookups, pagination, and data validation.

edgar_sec.EdgarHelpers.get_cik() → CIK search (synchronous) edgar_sec.EdgarHelpers.get_cik_async() → CIK search (asynchronous)

Client Capabilities#

Company Submissions Retrieve complete filing history and metadata for public companies by CIK or ticker.
Filings Extract detailed filing data including accession numbers, document types, and report dates.
Company Concepts Get standardized accounting disclosures and labels from XBRL submissions.
Company Facts Parse historical fundamental metrics for key entities.
Frames Explore cross-company time-sliced XBRL frames for a concept and period.
CIK Lookups Resolve tickers and names to CIKs via helper utilities.

Enhanced API Features#

File-Based Caching Enable disk-backed caching of responses using cache_mode=True and cache_size.
Retry & Timeout Robust retry logic with exponential backoff via tenacity for fault-tolerant requests.
Built-In Rate Limiting Configurable per-minute limits prevent SEC throttling.
Typed Dataclasses All responses are structured into typed Python objects like:
Async Compatibility Native async interface supports concurrent submission retrieval and scalable batch jobs.