Skip to content

Python library to access and analyze SEC Edgar filings, XBRL financial statements, 10-K, 10-Q, and 8-K reports

License

Notifications You must be signed in to change notification settings

dgunning/edgartools

Repository files navigation

EdgarTools Python SEC EDGAR library logo

EdgarTools - Python Library for SEC EDGAR Filings

The AI Native Python library for SEC EDGAR Data

PyPI - Version GitHub Workflow Status CodeFactor Hatch project GitHub PyPI - Downloads

AI Native 10x Faster Zero Cost Production Ready Open Source Financial Data

The only SEC EDGAR library built from the ground up for AI agents and LLMs. Extract financial data in 3 lines of code instead of 100+. Production-ready MCP server included.

Built with AI-assisted development • 3-10x faster velocity • Support this project

EdgarTools is a Python library for downloading and analyzing SEC EDGAR filings. Extract 10-K, 10-Q, 8-K reports, parse XBRL financial statements, and access insider trading data (Form 4) with a simple Python API. Free and open-source.

EdgarTools SEC filing data extraction demo

Image

Why EdgarTools?

EdgarTools is the fastest, most powerful open-source library for SEC EDGAR data extraction. Built for financial analysts, data scientists, and AI developers who need reliable, production-ready access to SEC filings.

Lightning Fast
Lightning Fast
10-30x faster than alternatives
Optimized with lxml & PyArrow
AI Native
AI Native
Built-in MCP server for Claude
LLM-optimized text extraction
Data Quality
Production Quality
1000+ tests, type hints
Battle-tested by analysts
XBRL Support
XBRL Native
Full XBRL standardization
Cross-company comparisons
Rich Data
Rich Data Objects
Smart parsing for every form
Pandas-ready DataFrames
Open Source
Open Source
MIT license, community-driven
Transparent & auditable

Image

How It Works

How EdgarTools Python library extracts SEC EDGAR filing data

Image

Quick Start

# Install the SEC EDGAR Python library
pip install edgartools

# Set your identity (required by SEC regulations)
from edgar import *
set_identity("[email protected]")

# Get SEC 10-K, 10-Q filings and XBRL financial statements
balance_sheet = Company("AAPL").get_financials().balance_sheet()

# Access any company's SEC filings
company = Company("MSFT")

# Parse Form 4 insider trading transactions
filings = company.get_filings(form="4")
form4_filing = filings[0]
form4 = form4_filing.obj()

Apple SEC Form 4 insider transaction data extraction with Python

Image

Key Features

Comprehensive SEC Data Access

Financial Statements (XBRL)

  • Balance Sheets, Income Statements, Cash Flows
  • Individual line items via XBRL tags
  • Multi-period comparisons with comparative periods
  • Standardized cross-company data
  • Automatic unit conversion
  • Metadata columns (dimensions, members, units)
  • Complete dimensional data support

Fund Holdings (13F)

  • Complete 13F filing history
  • Portfolio composition analysis
  • Position tracking over time
  • Ownership percentages
  • Value calculations

Company Dataset & Reference Data

  • Industry and state filtering
  • Company subsets with metadata
  • Standardized industry classifications
  • SEC ticker/CIK lookups
  • Exchange information

Insider Transactions

  • Form 3, 4, 5 structured data
  • Transaction history by insider
  • Ownership changes
  • Grant and exercise details
  • Automatic parsing

Filing Intelligence

  • Any form type (10-K, 10-Q, 8-K, S-1, etc.)
  • Complete history since 1994
  • Smart data objects for each form
  • Automatic HTML to clean text
  • Section extraction (Risk Factors, MD&A)

Performance & Reliability

  • 10-30x faster than alternatives
  • Configurable rate limiting (enterprise mirrors supported)
  • Custom SEC data sources (corporate/academic mirrors)
  • Smart caching (30-second fresh filing cache)
  • Robust error handling
  • SSL verification with fail-fast retry
  • Type hints throughout
  • Enterprise configuration →

Developer Experience

  • Intuitive, consistent API
  • Pandas DataFrame integration
  • Rich terminal output
  • Comprehensive documentation
  • 1000+ tests

EdgarTools supports all SEC form types including 10-K annual reports, 10-Q quarterly filings, 8-K current reports, 13F institutional holdings, Form 4 insider transactions, proxy statements (DEF 14A), and S-1 registration statements. Parse XBRL financial data, extract text sections, and convert filings to pandas DataFrames.

Image

Comparison with Alternatives

Feature EdgarTools sec-api (paid) OpenEDGAR Manual Scraping
AI/MCP Integration Image Image Image Image
Cost Free $150+/mo Free Free
Speed 10-30x baseline Fast (API) Slow Slow
XBRL Support Image Full Image Partial Image Image
Financial Statements Image Parsed Image Parsed Image Basic Image DIY
LLM-Ready Output Image Image Image Image
Type Hints Image Image Image Image
Rate Limiting Image Auto N/A (API) Image Manual Image Manual
Open Source Image MIT Image Proprietary Image Apache N/A

Image

AI Integration

Use EdgarTools with Claude Code & Claude Desktop

EdgarTools provides AI Skills that enable Claude and other AI assistants to perform sophisticated SEC filing analysis. Once configured, you can ask Claude questions like:

  • "Compare Apple and Microsoft's revenue growth rates over the past 3 years"
  • "Which Tesla executives sold more than $1 million in stock in the past 6 months?"
  • "Find all technology companies that filed proxy statements with executive compensation changes"

Claude will write the Python code, execute it, and explain the results - all powered by EdgarTools.

Setup Instructions

Option 1: AI Skills (Recommended)

Install the EdgarTools skill for Claude Code or Claude Desktop:

pip install "edgartools[ai]"
python -c "from edgar.ai import install_skill; install_skill()"

This adds SEC analysis capabilities to Claude, including 3,450+ lines of API documentation, code examples, and form type reference.

Option 2: MCP Server

Run EdgarTools as an MCP server for Claude Code or Claude Desktop:

pip install "edgartools[ai]"
python -m edgar.ai

Add to Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "edgartools": {
      "command": "python",
      "args": ["-m", "edgar.ai"],
      "env": {
        "EDGAR_IDENTITY": "Your Name [email protected]"
      }
    }
  }
}

See AI Integration Guide for complete documentation.

Image

Image Support AI Powered Development

I build and maintain EdgarTools solo using AI-assisted development. Your support directly funds the Claude Max subscription that makes this extraordinary velocity possible.

The Virtuous Cycle

Image
You Support

Buy Me A Coffee
contributions fund
Claude Max
Image
AI Acceleration

Specialized agents
deliver 3-10x faster
development
Image
Rapid Delivery

Features in days
instead of weeks
24 releases / 60 days
Image
You Benefit

More features,
faster fixes,
free forever

Real Impact: Last 60 Days

Image

24

Releases
1 every 2.5 days
Image

322

Commits
5.4 per day
Image

3-10x

Velocity
vs traditional dev
Image

Days

Not Weeks
for major features

Recent Examples

Feature Traditional Estimate With AI Speedup
XBRL Period Selection 3-4 weeks 5 days 7x faster
MCP Workflow Tools 2-3 weeks 2 days 10x faster
HTML Parsing Rewrite 2 weeks 3 days 4x faster
Standardized Concepts API 2 weeks 2-3 days 5x faster

GitHub Sponsors    Buy Me A Coffee

What your support enables:

  • Image Claude Max subscription (AI agents that write, test, and document code)
  • Image Continued 3-10x development velocity (features in days, not weeks)
  • Image Rapid response to SEC format changes and bug reports
  • Image New features based on community needs
  • Image Free access for everyone, forever (no API keys, no rate limits)

Alternative ways to support:

  • Image Star the repo on GitHub
  • Image Report bugs and contribute fixes
  • Image Improve documentation
  • Image Answer questions in Discussions
  • Image Share EdgarTools with colleagues

Corporate users: If your organization depends on EdgarTools for SEC compliance or regulatory reporting, GitHub Sponsors offers strategic sponsorship options designed for mission-critical dependencies.

Image

Community & Support

Documentation & Resources

Get Help & Connect

Contributing

We welcome contributions from the community! Here's how you can help:

  • Code: Fix bugs, add features, improve documentation
  • Examples: Share interesting use cases and examples
  • Feedback: Report issues or suggest improvements
  • Spread the Word: Star the repo, share with colleagues

See our Contributing Guide for details.


EdgarTools is distributed under the MIT License

Star History

Star History Chart