$npx skillfedfor your agent

edgartools

Python library to access and analyze SEC Edgar filings, XBRL financial statements, 10-K, 10-Q, and 8-K reports

Worth itPyPI Information AnalysisReleased Aug 2026941.6K downloads / moMITPure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — edgartools-5.48.0-py3-none-any.whl
v5.48.0 · released 2026-08-12 · Python >=3.10 · 21 runtime deps: beautifulsoup4, httpx, httpxthrottlecache, humanize, jinja2, lxml, nest-asyncio, orjson

Yes. EdgarTools is actively maintained, has low install friction, carries no security vulnerabilities, and solves a real problem—turning free but messy SEC data into usable Python objects. The MIT license is permissive. The 21 dependencies are all standard and well-maintained. Use it if you need to work with SEC filings programmatically. The main gotcha is that you must provide an email to the SEC with every request, but that is a documented requirement.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • SEC EDGAR requires an email address (set via set_identity) with every request; no API key or signup needed, but the email is mandatory.
  • Low friction: pure Python wheel with no compiled dependencies.
  • Active maintenance—last commit 2026-08-14, 2586 GitHub stars.

License · maintenance · safety

MIT (permissive) — MIT license (permissive): you can use, modify, and distribute EdgarTools freely in commercial and private projects with minimal restrictions. No copyleft obligations.

last release 2026-08-12 (2 days) · last repo commit 2026-08-14 · 2,586 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 941,567 downloads/mo, #4,677 on PyPI

Verify before relying

pip install edgartools

from edgartools import Company, set_identity
set_identity("your.name@example.com")
Company("AAPL").get_financials().income_statement()
  • Exact count of supported form types beyond the examples listed in the description.
  • Performance characteristics when querying large date ranges or many companies in sequence.
  • Whether the built-in rate limiting and caching are sufficient for high-volume pipelines without tuning.
Same gist for agents: .md · .json

What it is and what it does

EdgarTools is a Python library that fetches SEC EDGAR filings and converts them into typed Python objects and pandas DataFrames, eliminating the need to parse raw XBRL or HTML yourself. It wraps the free SEC EDGAR API and handles the messy work of standardizing financial statements, insider trades, fund holdings, proxy statements, and other forms into a consistent, queryable format. You identify yourself with an email, then call methods to get clean, structured data in a few lines.

The library is built for production use: it includes configurable rate limiting, smart caching, type hints throughout, and an MCP server for AI integration. It has 21 runtime dependencies (httpx, pandas, pydantic, lxml, beautifulsoup4, and others) that handle HTTP requests, data manipulation, parsing, and text processing. The dependency footprint is moderate but standard for a data-extraction tool of this scope. It supports Python 3.10 through 3.14 and is actively maintained.

Use it for

  • Extract standardized income statements, balance sheets, and cash flow from 10-K and 10-Q filings for cross-company financial analysis.
  • Query insider trading transactions from Form 4 filings as a DataFrame to track executive buy/sell activity.
  • Retrieve 13F institutional holdings to analyze hedge fund and mutual fund portfolios over time.
  • Parse 8-K current reports to identify corporate events programmatically.
  • Build time-series datasets of financial metrics across companies using the Company Facts API.
  • Feed SEC filing text and structured data into RAG pipelines or AI systems via the built-in MCP server.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

Worth it

Yes.

EdgarTools is actively maintained, has low install friction, carries no security vulnerabilities, and solves a real problem—turning free but messy SEC data into usable Python objects. The MIT license is permissive. The 21 dependencies are all standard and well-maintained. Use it if you need to work with SEC filings programmatically. The main gotcha is that you must provide an email to the SEC with every request, but that is a documented requirement.

Install

edgartools on PyPI

Before you install

Low friction: pure Python wheel with no compiled dependencies. Active maintenance—last commit 2026-08-14, 2586 GitHub stars. Supports Python 3.10 through 3.14. 21 runtime dependencies are all well-established, adding moderate but manageable footprint.

SEC EDGAR requires an email address (set via set_identity) with every request; no API key or signup needed, but the email is mandatory.

License in practice

MIT license (permissive): you can use, modify, and distribute EdgarTools freely in commercial and private projects with minimal restrictions. No copyleft obligations.

Quickstart

pip install edgartools

from edgartools import Company, set_identity
set_identity("your.name@example.com")
Company("AAPL").get_financials().income_statement()

Verify before relying

  • Exact count of supported form types beyond the examples listed in the description.
  • Performance characteristics when querying large date ranges or many companies in sequence.
  • Whether the built-in rate limiting and caching are sufficient for high-volume pipelines without tuning.

Package facts

LicenseMIT permissive
Python supportSupports the current Python release >=3.10
Install frictionLow. Pure-Python wheel
Runtime dependencies
21 packages
beautifulsoup4httpxhttpxthrottlecachehumanizejinja2lxmlnest-asyncioorjsonpandaspyarrowpydanticpyrate-limiterrank-bm25rapidfuzzrichstaminatabulatetextdistancetqdmtruststoreunidecode
MaintenanceActively maintained 2 days since the last release
Last repo commit
First released
Downloads941,567 / month, #4,677 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 4 - BetaIntended Audience :: DevelopersIntended Audience :: Financial and Insurance IndustryIntended Audience :: Science/ResearchLicense :: OSI Approved :: MIT LicenseProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Office/Business :: FinancialTopic :: Office/Business :: Financial :: InvestmentTopic :: Scientific/Engineering :: Information Analysis

Evidence: edgartools-5.48.0-py3-none-any.whl

Tags

Capabilities
sec edgar filings pythonparse 10-k 10-q financial statementsinsider trading form 4 dataxbrl financial data extraction13f institutional holdingssec filings structured dataedgar api python library
Topics
sec-filingsfinancial-dataxbrl-parsing
PyPI keywords
10-K10-Q13F8-Kannual reportcompany filingsedgaredgar apiedgar filingsfilingsfinancefinancial datafinancial statementsform 4insider tradinginstitutional holdingspythonquarterly reportsecsec apisec filingsstock filingsxbrl

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “parse 10-k 10-q financial statements”

  • edgartoolsEdgarTools parses SEC EDGAR filings into typed Python objects and…
  • sec-apiA Python client for the SEC-API.io service that provides programmatic…
  • sec-edgar-downloaderDownloads SEC EDGAR company filings by ticker or CIK, supporting all…

Give your agent the search over MCP, or paste the wish link into any chat.

More Information Analysis packages

regex Worth it
PyPI · Python Modules · released Jul 2026

A drop-in replacement for Python's standard `re` module that adds advanced regex features like nested sets, fuzzy matching, lookaround in conditionals, and full Unicode case-folding while maintaining backward compatibility.

Apache-2.0 AND CNRI-Pythoncompiled wheel · 3.10+
437.7Mdownloads / mo
pyarrow Worth it
PyPI · Information Analysis · released Aug 2026

pyarrow provides Python bindings to Apache Arrow's C++ libraries for efficient columnar data processing, serialization, and interoperability with pandas, NumPy, and other Python ecosystem tools.

Apache-2.0compiled wheel · 3.10+
432.9Mdownloads / mo
networkx Worth it
PyPI · Python Modules · released Dec 2025

NetworkX provides data structures and algorithms for creating, analyzing, and manipulating graphs and networks, supporting everything from simple undirected graphs to complex directed and weighted networks.

BSD-3-Clausepure Python
290.9Mdownloads / mo
snowflake-connector-python Worth it
PyPI · Software Development · released Aug 2026

Connects Python applications to Snowflake data warehouses using the DB API 2.0 specification, enabling SQL queries, data transfers, and warehouse operations.

Apache-2.0compiled wheel · 3.10+
193.6Mdownloads / mo
contourpy Worth it
PyPI · Information Analysis · released Jul 2025

ContourPy calculates contours of 2D quadrilateral grids using C++11 algorithms wrapped in Python, offering serial and multithreaded implementations without requiring Matplotlib as a dependency.

BSD-3-Clausecompiled wheel · 3.11+
191.2Mdownloads / mo
snowflake-snowpark-python Worth it
PyPI · Software Development · released Jul 2026

Snowpark Python provides APIs to query and process data directly in Snowflake without moving data to your local system, with support for both native Snowpark and pandas-compatible interfaces.

Install it if you use Snowflake and want to process data without moving it to your application layer.

Apache-2.0pure Python
100.7Mdownloads / mo

See also arelle-release · sec-api · sec-edgar-downloader · openbb-sec · yahooquery · finvizfinance · ofxparse · tradingeconomics · pandas-ta · vnstock