<p align="center">
<a href="https://github.com/dgunning/edgartools">
<img src="docs/images/edgartools-logo.png" alt="EdgarTools Python SEC EDGAR library logo" height="80">
</a>
</p>
<h3 align="center">Python Library for SEC EDGAR Data Extraction and Analysis</h3>
<p align="center">
<a href="https://pypi.org/project/edgartools"><img src="https://img.shields.io/pypi/v/edgartools.svg" alt="PyPI - Version"></a>
<a href="https://github.com/dgunning/edgartools/actions"><img src="https://img.shields.io/github/actions/workflow/status/dgunning/edgartools/python-hatch-workflow.yml" alt="GitHub Workflow Status"></a>
<a href="https://www.codefactor.io/repository/github/dgunning/edgartools"><img src="https://www.codefactor.io/repository/github/dgunning/edgartools/badge" alt="CodeFactor"></a>
<a href="https://github.com/pypa/hatch"><img src="https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg" alt="Hatch project"></a>
<a href="https://github.com/dgunning/edgartools/blob/main/LICENSE"><img src="https://img.shields.io/github/license/dgunning/edgartools" alt="GitHub"></a>
<a href="https://pypi.org/project/edgartools"><img src="https://img.shields.io/pypi/dm/edgartools" alt="PyPI - Downloads"></a>
</p>
<p align="center">
<b>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.</b>
</p>

## SEC Filing Data Extraction with Python
| 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 |
## Apple's income statement in 1 line of code
```python
balance_sheet = Company("AAPL").get_financials().balance_sheet()
```
## 🚀 Quick Start (2-minute tutorial)
```python
# 1. Import the library
from edgar import *
# 2. Tell the SEC who you are (required by SEC regulations)
set_identity("your.name@example.com") # 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()
```

## SEC Filing Analysis: Real-World Solutions
### Company Financial Analysis
**Problem:** Need to analyze a company's financial health across multiple periods.

[See full code](docs/examples.md#company_financial_analysis)
## 📚 Documentation
- [User Journeys / Examples](https://edgartools.readthedocs.io/en/latest/examples/)
- [Quick Guide](https://edgartools.readthedocs.io/en/latest/quick-guide/)
- [Full API Documentation](https://edgartools.readthedocs.io/)
- [EdgarTools Blog](https://www.edgartools.io)
## 👥 Community & Support
- [GitHub Issues](https://github.com/dgunning/edgartools/issues) - Bug reports and feature requests
- [Discussions](https://github.com/dgunning/edgartools/discussions) - Questions and community discussions
## 🔮 Roadmap
- **Coming Soon**: Enhanced visualization tools for financial data
- **In Development**: Machine learning integrations for financial sentiment analysis
- **Planned**: Interactive dashboard for filing exploration
## 🤝 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](CONTRIBUTING.md) for details.
## ❤️ Sponsors & Support
If you find EdgarTools valuable, please consider supporting its development:
<a href="https://www.buymeacoffee.com/edgartools" target="_blank">
<img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 40px !important;width: 144px !important;" >
</a>
Your support helps maintain and improve EdgarTools for the entire community!
## Key Features for SEC Data Extraction and Analysis
- **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 potentially `PyArrow` 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](LICENSE).
## 📊 Star History
[](https://star-history.com/#dgunning/edgartools&Timeline)
Raw data
{
"_id": null,
"home_page": null,
"name": "edgartools",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "company, edgar, filings, finance, financial, python, reports, sec",
"author": null,
"author_email": "Dwight Gunning <dgunning@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/fd/59/1a5d4d5ac501522a5e513b404e705573113495fb1f21399495b01363e2cd/edgartools-4.5.1.tar.gz",
"platform": null,
"description": "<p align=\"center\">\n<a href=\"https://github.com/dgunning/edgartools\">\n <img src=\"docs/images/edgartools-logo.png\" alt=\"EdgarTools Python SEC EDGAR library logo\" height=\"80\">\n</a>\n</p>\n\n<h3 align=\"center\">Python Library for SEC EDGAR Data Extraction and Analysis</h3>\n\n<p align=\"center\">\n <a href=\"https://pypi.org/project/edgartools\"><img src=\"https://img.shields.io/pypi/v/edgartools.svg\" alt=\"PyPI - Version\"></a>\n <a href=\"https://github.com/dgunning/edgartools/actions\"><img src=\"https://img.shields.io/github/actions/workflow/status/dgunning/edgartools/python-hatch-workflow.yml\" alt=\"GitHub Workflow Status\"></a>\n <a href=\"https://www.codefactor.io/repository/github/dgunning/edgartools\"><img src=\"https://www.codefactor.io/repository/github/dgunning/edgartools/badge\" alt=\"CodeFactor\"></a>\n <a href=\"https://github.com/pypa/hatch\"><img src=\"https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg\" alt=\"Hatch project\"></a>\n <a href=\"https://github.com/dgunning/edgartools/blob/main/LICENSE\"><img src=\"https://img.shields.io/github/license/dgunning/edgartools\" alt=\"GitHub\"></a>\n <a href=\"https://pypi.org/project/edgartools\"><img src=\"https://img.shields.io/pypi/dm/edgartools\" alt=\"PyPI - Downloads\"></a>\n</p>\n\n<p align=\"center\">\n <b>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.</b>\n</p>\n\n\n\n## SEC Filing Data Extraction with Python\n\n| With EdgarTools | Without EdgarTools |\n|-----------------------------------------------|---------------------------------------------|\n| \u2705 Instant access to any filing since 1994 | \u274c Hours spent navigating SEC.gov |\n| \u2705 Clean Python API with intuitive methods | \u274c Complex web scraping code |\n| \u2705 Automatic parsing into pandas DataFrames | \u274c Manual extraction of financial data |\n| \u2705 Specialized data objects for each form type | \u274c Custom code for each filing type |\n| \u2705 One-line conversion to clean, readable text | \u274c Messy HTML parsing for text extraction |\n| \u2705 LLM-ready text extraction for AI pipelines | \u274c Extra processing for AI/LLM compatibility |\n| \u2705 Automatic throttling to avoid blocks | \u274c Rate limiting headaches |\n\n## Apple's income statement in 1 line of code\n\n```python\nbalance_sheet = Company(\"AAPL\").get_financials().balance_sheet() \n```\n\n## \ud83d\ude80 Quick Start (2-minute tutorial)\n\n```python\n# 1. Import the library\nfrom edgar import *\n\n# 2. Tell the SEC who you are (required by SEC regulations)\nset_identity(\"your.name@example.com\") # Replace with your email\n\n# 3. Find a company\ncompany = Company(\"MSFT\") # Microsoft\n\n# 4. Get company filings\nfilings = company.get_filings() \n\n# 5. Filter by form \ninsider_filings = filings.filter(form=\"4\") # Insider transactions\n\n# 6. Get the latest filing\ninsider_filing = insider_filings[0]\n\n# 7. Convert to a data object\nownership = insider_filing.obj()\n```\n\n\n\n\n## SEC Filing Analysis: Real-World Solutions\n\n### Company Financial Analysis\n\n**Problem:** Need to analyze a company's financial health across multiple periods.\n\n\n\n[See full code](docs/examples.md#company_financial_analysis)\n\n\n\n## \ud83d\udcda Documentation\n\n\n- [User Journeys / Examples](https://edgartools.readthedocs.io/en/latest/examples/)\n- [Quick Guide](https://edgartools.readthedocs.io/en/latest/quick-guide/)\n- [Full API Documentation](https://edgartools.readthedocs.io/)\n- [EdgarTools Blog](https://www.edgartools.io)\n\n## \ud83d\udc65 Community & Support\n\n- [GitHub Issues](https://github.com/dgunning/edgartools/issues) - Bug reports and feature requests\n- [Discussions](https://github.com/dgunning/edgartools/discussions) - Questions and community discussions\n\n## \ud83d\udd2e Roadmap\n\n- **Coming Soon**: Enhanced visualization tools for financial data\n- **In Development**: Machine learning integrations for financial sentiment analysis\n- **Planned**: Interactive dashboard for filing exploration\n\n## \ud83e\udd1d Contributing\n\nWe welcome contributions from the community! Here's how you can help:\n\n- **Code**: Fix bugs, add features, improve documentation\n- **Examples**: Share interesting use cases and examples\n- **Feedback**: Report issues or suggest improvements\n- **Spread the Word**: Star the repo, share with colleagues\n\nSee our [Contributing Guide](CONTRIBUTING.md) for details.\n\n## \u2764\ufe0f Sponsors & Support\n\nIf you find EdgarTools valuable, please consider supporting its development:\n\n<a href=\"https://www.buymeacoffee.com/edgartools\" target=\"_blank\">\n <img src=\"https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png\" alt=\"Buy Me A Coffee\" style=\"height: 40px !important;width: 144px !important;\" >\n</a>\n\nYour support helps maintain and improve EdgarTools for the entire community!\n\n## Key Features for SEC Data Extraction and Analysis\n\n- **Comprehensive Filing Access**: Retrieve **any** SEC filing (10-K, 10-Q, 8-K, 13F, S-1, Form 4, etc.) since 1994.\n- **Financial Statement Extraction**: Easily access **Balance Sheets, Income Statements, Cash Flows**, and individual line items using XBRL tags or common names.\n- **SEC EDGAR API**: Programmatic access to the complete SEC database.\n- **Smart Data Objects**: Automatic parsing of filings into structured Python objects.\n- **Fund Holdings Analysis**: Extract and analyze **13F holdings** data for investment managers.\n- **Insider Transaction Monitoring**: Get structured data from **Form 3, 4, 5** filings.\n- **Clean Text Extraction**: One-line conversion from filing HTML to clean, readable text suitable for NLP.\n- **Targeted Section Extraction**: Pull specific sections like **Risk Factors (Item 1A)** or **MD&A (Item 7)**.\n- **AI/LLM Ready**: Text formatting and chunking optimized for AI pipelines.\n- **Performance Optimized**: Leverages libraries like `lxml` and potentially `PyArrow` for efficient data handling.\n- **XBRL Support**: Extract and analyze XBRL-tagged data.\n- **Intuitive API**: Simple, consistent interface for all data types.\n\nEdgarTools is distributed under the [MIT License](LICENSE).\n\n## \ud83d\udcca Star History\n\n[](https://star-history.com/#dgunning/edgartools&Timeline)",
"bugtrack_url": null,
"license": "MIT",
"summary": "Navigate Edgar filings with ease",
"version": "4.5.1",
"project_urls": {
"Documentation": "https://dgunning.github.io/edgartools/",
"Issues": "https://github.com/dgunning/edgartools/issues",
"Source": "https://github.com/dgunning/edgartools"
},
"split_keywords": [
"company",
" edgar",
" filings",
" finance",
" financial",
" python",
" reports",
" sec"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "008891559014a3ab1d46a89793074e2c1ea7845e9c48c39751de6e2ffba71b1a",
"md5": "b63a20095dd06c9078278ea0009d5272",
"sha256": "86c32e72795c3dfa7a9cf51a03d113762a74252e234b56276b87973f0dcc1721"
},
"downloads": -1,
"filename": "edgartools-4.5.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b63a20095dd06c9078278ea0009d5272",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 1340850,
"upload_time": "2025-07-31T20:18:57",
"upload_time_iso_8601": "2025-07-31T20:18:57.270433Z",
"url": "https://files.pythonhosted.org/packages/00/88/91559014a3ab1d46a89793074e2c1ea7845e9c48c39751de6e2ffba71b1a/edgartools-4.5.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "fd591a5d4d5ac501522a5e513b404e705573113495fb1f21399495b01363e2cd",
"md5": "9b1c119d7240619bac5eb74196eeb419",
"sha256": "393e80479edc15695e711a8ad16db6c3e81ed15f2b84702256c478a5ac991210"
},
"downloads": -1,
"filename": "edgartools-4.5.1.tar.gz",
"has_sig": false,
"md5_digest": "9b1c119d7240619bac5eb74196eeb419",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 1279851,
"upload_time": "2025-07-31T20:18:59",
"upload_time_iso_8601": "2025-07-31T20:18:59.240422Z",
"url": "https://files.pythonhosted.org/packages/fd/59/1a5d4d5ac501522a5e513b404e705573113495fb1f21399495b01363e2cd/edgartools-4.5.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-31 20:18:59",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "dgunning",
"github_project": "edgartools",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "edgartools"
}