About EdgarTools
EdgarTools is an MCP server in the Finance category: open-source SEC EDGAR toolkit — 11 tools, 7 prompts, every filing type. No API key required.
Install
uvx edgartoolspip install edgartoolsThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about EdgarTools
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
README
EdgarTools is a Python library for accessing SEC EDGAR filings as structured data. Parse financial statements, insider trades, fund holdings, proxy statements, and dozens of other filing types with a consistent Python API.

Why EdgarTools?
EdgarTools turns SEC filings into Python objects. Every supported form type gives you structured data — not raw HTML, not XML, not JSON dumps. Actual Python objects with properties, methods, and DataFrames.
How It Works
pip install edgartools
from edgar import *
set_identity("your.name@example.com")
# Get a company's balance sheet
balance_sheet = Company("AAPL").get_financials().balance_sheet()
# Browse a company's filings
company = Company("MSFT")
# Parse insider transactions
filings = company.get_filings(form="4")
form4 = filings[0].obj()

Use Cases
Analyze 13F Institutional Holdings & Hedge Fund Portfolios
Track what hedge funds and institutional investors own by parsing SEC 13F filings. EdgarTools extracts complete portfolio holdings with position sizes, values, and quarter-over-quarter changes.
from edgar import get_filings
thirteenf = get_filings(form="13F-HR")[0].obj()
thirteenf.holdings # DataFrame of all portfolio positions
Institutional Holdings guide →
Track Insider Trading with SEC Form 4
Monitor insider buying and selling activity from SEC Form 4 filings. See which executives are purchasing or selling shares, option exercises, and net position changes.
company = Company("TSLA")
form4 = company.get_filings(form="4")[0].obj()
form4.transactions # Insider buy/sell transactions
Extract Financial Statements from 10-K and 10-Q Filings
Get income statements, balance sheets, and cash flow statements from SEC annual and quarterly reports. Data is parsed from XBRL with standardized labels for cross-company comparison.
financials = Company("MSFT").get_financials()
financials.balance_sheet() # Balance sheet with all line items
financials.income_statement() # Revenue, net income, EPS
Parse 8-K Current Reports for Corporate Events
Access material corporate events as they happen -- earnings releases, acquisitions, executive changes, and more. EdgarTools parses 8-K filings into structured items with full text extraction.
eightk = get_filings(form="8-K")[0].obj()
eightk.items # List of reported event items
Query XBRL Financial Data Across Companies
Access structured XBRL financial facts for any SEC filer. Query specific line items like revenue or total assets over time, and compare across companies using standardized concepts.
facts = Company("AAPL").get_facts()
facts.to_pandas("us-gaap:Revenues") # Revenue history as DataFrame
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 & Investment Data
- 13F institutional holdings & portfolio analysis
- N-PORT fund portfolio data
- N-MFP money market fund holdings
- N-CSR/N-CEN fund reports
- Position tracking over time
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
- Typed data objects for 20+ form types
- HTML to clean text extraction
- Section extraction (Risk Factors, MD&A)
- Subsidiaries (EX-21) and auditor extraction
Performance & Reliability
- 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
- 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), S-1 registration statements, N-CSR fund reports, N-MFP money market data, N-PORT fund portfolios, Schedule 13D/G ownership, Form D offerings, Form C crowdfunding, and Form 144 restricted stock. Parse XBRL financial data, extract text sections, and convert filings to pandas DataFrames.
Comparison with Alternatives
EdgarTools is a Python library that talks directly to SEC EDGAR. sec-api is a hosted API service that returns JSON. Both parse SEC filings — the difference is how you work with the data.
| EdgarTools | sec-api | Raw EDGAR | |
|---|---|---|---|
| What it is | Python library | REST API service | DIY |
| Cost | Free (MIT) | $49+/mo | Free |
| Data format | Typed Python objects | JSON | Raw XML/HTML |
| Parsed filing types | 24 (10-K, 8-K, 13F, N-PORT, proxy, etc.) | 15+ structured APIs | — |
| Financials | Parsed + standardized | Parsed (XBRL-to-JSON) | |
| Full-text search | via EFTS | ||
| AI/MCP integration | |||
| Language | Python | Any | Any |
| Open source | Proprietary | N/A |
Use EdgarTools with Claude Code & Claude Desktop
EdgarTools includes an MCP server and AI skills for Claude Desktop and Claude Code. Ask questions in natural language and get answers backed by real SEC data.
- "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?"
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 any AI client -- Claude Desktop, Cline, or your own containerized deployment.
Add to Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"edgartools": {
"command": "uvx",
"args": ["--from", "edgartools[ai]", "edgartools-mcp"],
"env": {
"EDGAR_IDENTITY": "Your Name your.email@example.com"
}
}
}
}
Requires uv. Alternatively, pip install "edgartools[ai]" and use python -m edgar.ai.
See AI Integration Guide for complete documentation.
Support This Project
EdgarTools replaces hundreds of hours of SEC parsing work — and it costs nothing to use. No API keys, no subscriptions, no rate limits. Free infrastructure for anyone working with SEC data.
But it doesn't maintain itself. The SEC updates filing formats every year. XBRL taxonomies change. New form types appear. One maintainer keeps all of it working, and your support makes that sustainable.
Sponsors aren't just giving back — you're investing in a shared resource and helping shape what gets built next.
What your support enables:
- Continued maintenance as SEC formats evolve
- New filing types and data objects
- Fast bug fixes and community support
- Free access for everyone, forever
Corporate sponsors: If your team depends on EdgarTools for compliance, financial analysis, or data pipelines, GitHub Sponsors offers tiers designed for organizations with mission-critical dependencies.
Documentation & Resources
Get Help & Connect
- GitHub Issues - Bug reports and feature requests
- Discussions - Questions and community discussions
Contributing
Contributions welcome:
- 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.
Professional Services
Need help building production SEC data infrastructure? The creator of EdgarTools offers consulting for teams building financial AI products:
- SEC Data Sprint (1–3 days) — Working prototype on your data
- Architecture Review (1–2 weeks) — Pipeline audit with prioritized fixes
- Pipeline Build (2–4 weeks) — Production-ready code, tests, and handoff
Star History
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.