skillfed

sec-api

SEC EDGAR Filings API

sec-api v1.0.36 557.8K downloads/30d#6,010 on PyPI315
Permissive license Active released

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-api

uv

uv add sec-api

poetry

poetry add sec-api

Installing 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

Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Financial and Insurance IndustryIntended Audience :: Information TechnologyLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3Topic :: Office/Business :: FinancialTopic :: Office/Business :: Financial :: InvestmentTopic :: Software Development :: Build ToolsTopic :: Software Development :: Libraries :: Python Modules

Tags

SEC EDGAR filings API clientdownload SEC filings programmaticallyinsider trading data API10-K 10-Q form searchfinancial statement extractioninstitutional holdings 13FSEC filing bulk download
sec-filingsfinancial-dataapi-client

More Python Modules packages