sec-api
SEC EDGAR Filings API
What it is and what it does
sec-api is a Python wrapper around the SEC-API.io service, a commercial API platform for SEC EDGAR data. It lets you search, filter, and download SEC filings, exhibits, and structured financial data programmatically. The library provides multiple specialized APIs: a query interface for searching filings by ticker, CIK, form type, and date; a download API for retrieving individual filings and exhibits; bulk dataset downloaders for complete form-type collections; and specialized extractors for insider trading (Forms 3/4/5), institutional holdings (Form 13F), investment advisor data (Form ADV), and structured material events from 8-K filings. The underlying data covers every SEC-regulated filer ever reported, including delisted and dissolved entities, with historical coverage back to 1993 and real-time updates.
To use it, you instantiate one of the API classes (QueryApi, DownloadApi, Datasets, etc.) with your sec-api.io API key, then call methods to search or download. The library depends only on requests for HTTP communication. It is intended for financial analysts, researchers, compliance teams, and developers building tools that need programmatic access to SEC filings and structured financial data.
Use it for:
- Search and retrieve all 10-K or 10-Q filings for a specific company over a date range to build a historical financial database.
- Download insider trading disclosures (Forms 3/4/5) to track changes in executive and director ownership positions.
- Extract institutional holdings from Form 13F filings to analyze large fund positions and portfolio changes.
- Bulk download entire datasets of a specific form type (e.g., all Form D private offerings) for research or compliance analysis.
- Retrieve and parse structured 8-K material event data (auditor changes, restatements, executive changes) for real-time monitoring.
- Map between CUSIP, CIK, and ticker symbols to normalize company identifiers across different data sources.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A Python client for the SEC-API.io service that provides programmatic access to SEC EDGAR filings, exhibits, and structured financial data covering 20+ million filings and 1.1M+ entities since 1993.
Yes, if you need programmatic access to SEC EDGAR data and are willing to use the sec-api.io service. The library is actively maintained, has low install friction, carries no security vulnerabilities, and is licensed permissively. The main constraint is that it requires an external API key and service account; it is not a standalone tool. Install it when you are already committed to using sec-api.io or are evaluating whether the service meets your needs.
Install
sec-api on PyPI
pip
pip install sec-apiuv
uv add sec-apipoetry
poetry add sec-apiInstalling sec-api
Before you install
Low install friction with a single runtime dependency (requests). The package is actively maintained with recent commits and stable production status, though it requires an API key from sec-api.io to function.
License in practice
Licensed under MIT (permissive), allowing free use, modification, and distribution with minimal restrictions.
Quickstart
pip install sec-api
from sec_api import QueryApi
queryApi = QueryApi(api_key="YOUR_API_KEY")
query = {"query": "ticker:TSLA AND formType:\"10-Q\"", "from": "0", "size": "10"}
filings = queryApi.get_filings(query)
print(filings)
Requires a free API key from sec-api.io; the package is a client library and cannot function without external API credentials.
Verify before relying
- Rate limits and throttling behavior beyond the stated '200+ requests / second per account'
- Whether all 500+ EDGAR form types are equally supported across all API endpoints
- Latency and availability guarantees for real-time filing stream and bulk dataset downloads
Package facts
| License | not declared (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — requests |
| Maintenance | actively maintained — 123 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 557,785/month — #6,010 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: sec_api-1.0.36-py3-none-any.whl
Keywords: SEC EDGAR API, SEC Filings API, SEC Filing Search API, SEC Full-Text Search API, EDGAR API, Finance, CIK, CUSIP, CUSIP to Ticker, CUSIP to CIK, 10-Q, 10-K, 8-K, S-1, 424B4, XBRL Converter, Financial Statements API, Insider Trading Data, Executive Compensation Data, Form D Offerings API, Form N-PORT API, Form ADV API, 10-K/10-Q/8-K Section Extractor API
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
instructure-dap-clientClient library for querying Instructure's Data…
permissive · top 15,000 on PyPI
sec-edgar-downloaderDownloads SEC EDGAR company filings by ticker…
permissive · top 15,000 on PyPI
openbb-secIntegrates SEC EDGAR data into the OpenBB…
agpl · top 15,000 on PyPI
openbbUnified interface to fetch financial market…
agpl · top 15,000 on PyPI
yahooqueryRetrieves financial data from Yahoo Finance…
permissive · top 15,000 on PyPI
finnhub-pythonFinnhub-python is a client library for the…
permissive · top 15,000 on PyPI
polygon-api-clientProvides REST and WebSocket client libraries…
permissive · top 15,000 on PyPI
pypistatsQueries the PyPI Stats API to retrieve download…
permissive · top 15,000 on PyPI
arelle-releaseArelle is an end-to-end XBRL processor that…
permissive · top 15,000 on PyPI