Skip to content

dgunning/edgartools

Repository files navigation

EdgarTools Python SEC EDGAR library logo

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 SEC filing data extraction demo

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

How It Works

EdgarTools provides a clean abstraction layer over the SEC EDGAR database, handling all the complexity of SEC data access, parsing, and transformation:

%%{init: {'theme':'base', 'themeVariables': { 'primaryColor':'#FFD700', 'primaryTextColor':'#3d5875', 'primaryBorderColor':'#3d5875', 'lineColor':'#3d5875', 'secondaryColor':'#f8f9fa', 'tertiaryColor':'#ffffff'}}}%%

graph LR
    A[Your Code] -->|Simple API| B[EdgarTools]
    B -->|Fetches| C[SEC EDGAR]
    B -->|Parses| D[Structured Data]
    D -->|Returns| E[DataFrames]
    D -->|Returns| F[Objects]
    D -->|Returns| G[Clean Text]

    style A fill:#FFD700,stroke:#3d5875,stroke-width:2px,color:#3d5875
    style B fill:#3d5875,stroke:#FFD700,stroke-width:2px,color:#FFD700
    style C fill:#3d5875,stroke:#3d5875,stroke-width:2px,color:#FFD700
    style D fill:#f8f9fa,stroke:#3d5875,stroke-width:2px,color:#3d5875
    style E fill:#ffffff,stroke:#FFD700,stroke-width:2px,color:#3d5875
    style F fill:#ffffff,stroke:#FFD700,stroke-width:2px,color:#3d5875
    style G fill:#ffffff,stroke:#FFD700,stroke-width:2px,color:#3d5875
Loading
View Detailed Architecture

For a comprehensive view of EdgarTools' internal architecture, see the Architecture Documentation.

Quick Start

# 1. Install
pip install edgartools

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

# 3. Get company financials in 1 line
balance_sheet = Company("AAPL").get_financials().balance_sheet()

# 4. Explore with interactive documentation
company = Company("MSFT")

# 5. Or explore insider 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

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
  • Automatic rate limiting
  • Smart caching (30-second fresh filing cache)
  • Robust error handling
  • SSL verification with fail-fast retry
  • Type hints throughout

Developer Experience

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

Comparison with Alternatives

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

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.

πŸ’› 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

Fix
1️⃣ You Support

Buy Me A Coffee
contributions fund
Claude Max
2️⃣ AI Acceleration

Specialized agents
deliver 3-10x faster
development
3️⃣ Rapid Delivery

Features in days
instead of weeks
24 releases / 60 days
4️⃣ You Benefit

More features,
faster fixes,
free forever

Real Impact: Last 60 Days

πŸš€ 24

Releases
1 every 2.5 days

⚑ 322

Commits
5.4 per day

🎯 3-10x

Velocity
vs traditional dev

⏱️ 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:

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

Alternative ways to support:

  • ⭐ Star the repo on GitHub
  • πŸ› Report bugs and contribute fixes
  • πŸ“– Improve documentation
  • πŸ’¬ Answer questions in Discussions
  • πŸ”— 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.

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

About

The world's easiest, most powerful edgar library

Resources

License

Contributing

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

No packages published

Languages