Extract financial data from SEC EDGAR filings in 3 lines of Python code instead of 100+. Access company financials, insider trades, fund holdings, and XBRL data with an intuitive API designed for financial analysis.
With EdgarTools | Without EdgarTools |
---|---|
✅ Instant access to any filing since 1994 | ❌ Hours spent navigating SEC.gov |
✅ Clean Python API with intuitive methods | ❌ Complex web scraping code |
✅ Automatic parsing into pandas DataFrames | ❌ Manual extraction of financial data |
✅ Specialized data objects for each form type | ❌ Custom code for each filing type |
✅ One-line conversion to clean, readable text | ❌ Messy HTML parsing for text extraction |
✅ LLM-ready text extraction for AI pipelines | ❌ Extra processing for AI/LLM compatibility |
✅ Automatic throttling to avoid blocks | ❌ Rate limiting headaches |
balance_sheet = Company("AAPL").get_financials().balance_sheet()
# 1. Import the library
from edgar import *
# 2. Tell the SEC who you are (required by SEC regulations)
set_identity("[email protected]") # Replace with your email
# 3. Find a company
company = Company("MSFT") # Microsoft
# 4. Get company filings
filings = company.get_filings()
# 5. Filter by form
insider_filings = filings.filter(form="4") # Insider transactions
# 6. Get the latest filing
insider_filing = insider_filings[0]
# 7. Convert to a data object
ownership = insider_filing.obj()
Problem: Need to analyze a company's financial health across multiple periods.
- GitHub Issues - Bug reports and feature requests
- Discussions - Questions and community discussions
- Coming Soon: Enhanced visualization tools for financial data
- In Development: Machine learning integrations for financial sentiment analysis
- Planned: Interactive dashboard for filing exploration
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.
If you find EdgarTools valuable, please consider supporting its development:
- Comprehensive Filing Access: Retrieve any SEC filing (10-K, 10-Q, 8-K, 13F, S-1, Form 4, etc.) since 1994.
- Financial Statement Extraction: Easily access Balance Sheets, Income Statements, Cash Flows, and individual line items using XBRL tags or common names.
- SEC EDGAR API: Programmatic access to the complete SEC database.
- Smart Data Objects: Automatic parsing of filings into structured Python objects.
- Fund Holdings Analysis: Extract and analyze 13F holdings data for investment managers.
- Insider Transaction Monitoring: Get structured data from Form 3, 4, 5 filings.
- Clean Text Extraction: One-line conversion from filing HTML to clean, readable text suitable for NLP.
- Targeted Section Extraction: Pull specific sections like Risk Factors (Item 1A) or MD&A (Item 7).
- AI/LLM Ready: Text formatting and chunking optimized for AI pipelines.
- Performance Optimized: Leverages libraries like
lxml
and potentiallyPyArrow
for efficient data handling. - XBRL Support: Extract and analyze XBRL-tagged data.
- Intuitive API: Simple, consistent interface for all data types.
EdgarTools is distributed under the MIT License.