EdgarTools

效率与工作流编辑精选

by dgunning

EdgarTools 是无需 API 密钥即可解析 SEC EDGAR 财报的开源 Python 库。

这个工具解决了金融数据获取的痛点——直接让 AI 读取结构化财报,比如让 Claude 分析苹果的 10-K 文件。适合量化分析师或金融开发者快速构建数据管道。但注意,它依赖 SEC 网站稳定性,高峰期可能延迟。

2.4kGitHub

什么是 EdgarTools

EdgarTools 是无需 API 密钥即可解析 SEC EDGAR 财报的开源 Python 库。

README

<a href="https://github.com/dgunning/edgartools"> <img src="https://raw.githubusercontent.com/dgunning/edgartools/main/docs/images/edgartools-mark.svg" alt="EdgarTools logo" align="left" height="80" hspace="20"> </a>

EdgarTools — Python Library for SEC EDGAR Filings

<br clear="left"> <p> <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/dgunning/edgartools/blob/main/LICENSE"><img src="https://img.shields.io/github/license/dgunning/edgartools" alt="GitHub"></a> <a href="https://edgartools.readthedocs.io/"><img alt="Documentation" src="https://img.shields.io/badge/docs-edgartools-blue"></a> <img alt="Pepy Total Downloads" src="https://img.shields.io/pepy/dt/edgartools"> <a href="https://pepy.tech/project/edgartools"><img alt="Pepy Monthly Downloads" src="https://static.pepy.tech/badge/edgartools/month"></a> <a href="https://github.com/dgunning/edgartools/stargazers"><img alt="GitHub stars" src="https://img.shields.io/github/stars/dgunning/edgartools?style=social"></a> </p>

EdgarTools is a Python library for accessing SEC EDGAR filings as structured data. Parse financial statements, insider trades, fund holdings, proxy statements, and 20+ other filing types with a consistent Python API — in a few lines of code. Free and open source.

EdgarTools SEC filing data extraction demo

Why EdgarTools?

SEC EDGAR has every filing back to 1994, free — and almost none of it is ready to use. EdgarTools turns any filing into a typed Python object, so a 10-K's revenue is one line instead of an afternoon of XBRL parsing.

python
# Apple's latest income statement — rendered, standardized, done
from edgar import Company
Company("AAPL").get_financials().income_statement()
<table align="center"> <tr> <td align="center" width="33%"> <img src="https://raw.githubusercontent.com/dgunning/edgartools/main/docs/images/icons/icon-data.svg" width="96" alt="Financial Statements"><br> <b>Financial Statements</b><br> Income, balance sheet, cash flow in one call<br> XBRL-standardized for cross-company comparison </td> <td align="center" width="33%"> <img src="https://raw.githubusercontent.com/dgunning/edgartools/main/docs/images/icons/icon-filings.svg" width="96" alt="Every Filing Type"><br> <b>Every Filing Type</b><br> 13F holdings, Form 4 insiders, 8-K events, funds, proxies<br> Typed objects + pandas DataFrames for 20+ forms </td> <td align="center" width="33%"> <img src="https://raw.githubusercontent.com/dgunning/edgartools/main/docs/images/icons/icon-ai.svg" width="96" alt="Built for Pipelines & AI"><br> <b>Built for Pipelines &amp; AI</b><br> Rate-limit aware, smart caching, enterprise mirrors<br> Built-in MCP server + LLM-ready text for RAG </td> </tr> </table>

How It Works

Everything starts with a Company or a Filing. Call .obj() and you get a typed object built for that form — its data ready as pandas DataFrames and clean text.

<p align="center"> <img src="https://raw.githubusercontent.com/dgunning/edgartools/main/docs/images/how-it-works.svg" alt="How EdgarTools turns any SEC filing into a typed Python object"> </p>

The same typed output that reads cleanly in a notebook drops straight into a pipeline: DataFrames for your warehouse, LLM-ready text and an MCP server for your AI stack, rate-limit and enterprise-mirror aware for scale.

Quick Start

1. Install

bash
pip install edgartools

2. Identify yourself to the SEC — EDGAR requires an email with every request. No key, no signup, no rate-limit tier; set it once:

python
from edgar import *
set_identity("your.name@example.com")

3. Get data — every filing is now a few lines away:

python
# Standardized financial statements, straight from XBRL
Company("AAPL").get_financials().income_statement()

# The latest insider Form 4 as a structured object
Company("AAPL").get_filings(form="4").latest().obj()

Apple SEC Form 4 insider transactions parsed into a structured Python object

Next: explore the Use Cases below, or dive into the documentation and Quick Guide.

Use Cases

Financial statements from 10-K and 10-Q filings

python
financials = Company("MSFT").get_financials()
financials.balance_sheet()     # all line items
financials.income_statement()  # revenue, net income, EPS

Financial Statements guide →

Insider trading from SEC Form 4

python
form4 = Company("TSLA").get_filings(form="4").latest().obj()
form4.to_dataframe()  # insider buy/sell transactions

Insider Trades guide →

13F institutional holdings & hedge fund portfolios

python
thirteenf = get_filings(form="13F-HR").latest().obj()
thirteenf.holdings  # every portfolio position as a DataFrame

Institutional Holdings guide →

8-K current reports & corporate events

python
eightk = get_filings(form="8-K").latest().obj()
eightk.items  # reported event items

Current Events guide →

XBRL financial data across companies

python
facts = Company("AAPL").get_facts()
facts.query().by_concept("Revenue").to_dataframe()  # revenue history as a DataFrame

XBRL Deep Dive →

Key Features

<table> <tr> <td width="50%" valign="top">

Financial data

  • Income, balance sheet, cash flow — XBRL-standardized for cross-company comparison
  • Individual line items, dimensional data, multi-period comparatives
  • Company Facts API: time-series for any concept across years

Funds & ownership

  • 13F holdings, N-PORT, N-MFP, N-CSR/N-CEN fund reports
  • Form 3/4/5 insider transactions; Schedule 13D/G ownership
  • Position tracking over time
</td> <td width="50%" valign="top">

Filings & text

  • Typed objects for 20+ forms; complete history since 1994
  • Section extraction (Risk Factors, MD&A), EX-21 subsidiaries, auditor info
  • HTML → clean text + markdown for RAG; full-text search
  • Ticker/CIK lookup, industry & exchange filtering

Built for production

</td> </tr> </table>

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 the best-known hosted API that returns JSON. Both parse filings — the difference is how you work with the data, and what it costs you.

EdgarToolssec-api
CostFree, MIT$49+/mo
Data formatTyped Python objects → DataFramesJSON you parse yourself
Where it runsIn your process — no key, no quotas, no vendor lock-inHosted API — key + rate tiers
Filing coverage20+ typed forms (10-K, 8-K, 13F, N-PORT, proxy…)15+ structured endpoints
AI / MCP<img src="https://raw.githubusercontent.com/dgunning/edgartools/main/docs/images/icons/compare-check.svg" width="20"> Built in<img src="https://raw.githubusercontent.com/dgunning/edgartools/main/docs/images/icons/compare-cross.svg" width="20">
Open source<img src="https://raw.githubusercontent.com/dgunning/edgartools/main/docs/images/icons/compare-check.svg" width="20"> Inspect, fork, self-host<img src="https://raw.githubusercontent.com/dgunning/edgartools/main/docs/images/icons/compare-cross.svg" width="20"> Proprietary

Bottom line: in Python, EdgarTools gives you typed objects, AI-native output, and the full SEC corpus — free, open, and inspectable, with no keys or bills. pip install edgartools and you're querying filings in two lines.

Library or hosted?

EdgarTools is the open-source library — SEC-filing primitives you compose in your own code, free and self-run.

edgar.tools is the hosted platform built on that same open engine: the full SEC corpus as a managed service, so your team gets the data without running the pipeline — and without the black box of a closed API.

Reach for the library when you want control in your own stack; reach for edgar.tools when you'd rather not operate it yourself.

AI Integration

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?"
<details> <summary><b>Setup Instructions</b></summary>

Option 1: AI Skills (Recommended)

Install the EdgarTools skill for Claude Code or Claude Desktop:

bash
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):

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.

</details>

❤️ Support This Project

EdgarTools runs in production at hedge funds, fintechs, and research desks — MIT-licensed, no keys, no subscriptions, and maintained by one person.

The SEC amends filing formats every quarter and ships a new XBRL taxonomy every year. Sponsorship is what keeps 20+ parsers current and funds new extractors as fresh disclosure types appear.

<p align="center"> <a href="https://github.com/sponsors/dgunning" target="_blank"> <img src="https://img.shields.io/badge/Sponsor-30363D?style=for-the-badge&logo=GitHub-Sponsors&logoColor=EA4AAA" alt="Sponsor on GitHub" height="44"> </a> &nbsp;&nbsp; <a href="https://www.buymeacoffee.com/edgartools" target="_blank"> <img src="https://img.shields.io/badge/Buy_me_a_coffee-FFDD00?style=for-the-badge&logo=buymeacoffee&logoColor=black" alt="Buy Me A Coffee" height="44"> </a> </p> <p align="center"> <sub>Recurring sponsorship + corporate tiers via GitHub · One-time thanks via Buy Me a Coffee</sub> </p>

For teams running EdgarTools in production

If EdgarTools is in your data pipeline, GitHub Sponsors offers corporate tiers from $250 to $1,500/mo with:

  • Response SLAs (24h–48h first response on critical issues)
  • Quarterly strategy calls and roadmap input
  • Logo placement in this README
  • 7-day early access for internal regression testing
  • Annual invoicing through GitHub — procurement-friendly

See sponsor tiers

Community & Support

Documentation & Resources

Get Help & Connect

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

Learn more →


<p align="center"> EdgarTools is distributed under the <a href="LICENSE">MIT License</a> </p>

Star History

Star History Chart

<!-- mcp-name: io.github.dgunning/edgartools -->

常见问题

EdgarTools 是什么?

Open-source SEC EDGAR toolkit — 11 tools, 7 prompts, every filing type. No API key required.

相关 Skills

技能工坊

by anthropics

Universal
热门

覆盖 Skill 从创建到迭代优化全流程:起草能力、补测试提示、跑评测与基准方差分析,并持续改写内容和描述,提升效果与触发准确率。

技能工坊把技能从创建、迭代到评测串成闭环,方差分析加描述优化,特别适合把触发准确率打磨得更稳。

效率与工作流
未扫描157.8k

PPT处理

by anthropics

Universal
热门

处理 .pptx 全流程:创建演示文稿、提取和解析幻灯片内容、批量修改现有文件,支持模板套用、合并拆分、备注评论与版式调整。

涉及PPTX的创建、解析、修改到合并拆分都能一站搞定,连备注、模板和评论也能处理,做演示文稿特别省心。

效率与工作流
未扫描157.8k

PDF处理

by anthropics

Universal
热门

遇到 PDF 读写、文本表格提取、合并拆分、旋转加水印、表单填写或加解密时直接用它,也能提取图片、生成新 PDF,并把扫描件通过 OCR 变成可搜索文档。

PDF杂活别再来回切工具了,文本表格提取、合并拆分到OCR识别一次搞定,连扫描件也能变可搜索。

效率与工作流
未扫描157.8k

相关 MCP Server

文件系统

编辑精选

by Anthropic

热门

Filesystem 是 MCP 官方参考服务器,让 LLM 安全读写本地文件系统。

这个服务器解决了让 Claude 直接操作本地文件的痛点,比如自动整理文档或生成代码文件。适合需要自动化文件处理的开发者,但注意它只是参考实现,生产环境需自行加固安全。

效率与工作流
88.0k

by wonderwhy-er

热门

Desktop Commander 是让 AI 直接执行终端命令、管理文件和进程的 MCP 服务器。

这工具解决了 AI 无法直接操作本地环境的痛点,适合需要自动化脚本调试或文件批量处理的开发者。它能让你用自然语言指挥终端,但权限控制需谨慎,毕竟让 AI 执行 rm -rf 可不是闹着玩的。

效率与工作流
6.2k

by stickerdaniel

热门

LinkedIn Profile and Job Scraper 是让 Claude 直接抓取 LinkedIn 个人资料、公司信息和职位详情的工具。

这个服务器解决了招聘和商业调研中手动复制粘贴 LinkedIn 数据的痛点,适合猎头或市场分析师快速获取候选人背景和公司动态。不过,LinkedIn 反爬机制频繁更新,数据稳定性需要持续维护,使用时建议搭配人工验证。

效率与工作流
2.6k

评论