Skip to main content

A tool to read through filings on the EDGAR site from the SEC

Project description

Edgar Agent Tool

Features

  • 🔍 Company Lookup — Convert stock tickers to SEC CIK numbers
  • 📑 Filing Retrieval — Fetch recent filings for any public company
  • 🧩 Automatic Section Parsing — Extract specific sections (Risk Factors, MD&A, etc.)
  • 🌐 Cross-Company Search — Find filings across all companies by date
  • 🤖 LLM-Friendly — Clean markdown output, structured returns, designed for AI agents
  • Smart Caching — Built-in TTL caches to respect SEC rate limits

Developer Guide

If you are new to using nbdev here are some useful pointers to get you started.

Install edgar_tool in Development mode

# make sure edgar_tool package is installed in development mode
$ pip install -e .

# make changes under nbs/ directory
# ...

# compile to have changes apply to edgar_tool
$ nbdev_prepare

Usage

Installation

pip install edgar-agent-tool

Or install from GitHub for the latest version:

pip install git+https://github.com/problemsolversguild/edgar-agent-tool.git

Documentation

Documentation can be found hosted on this GitHub repository’s pages. Additionally you can find package manager specific guidelines on conda and pypi respectively.

Quick Start

First, set up your SEC User-Agent (required by SEC):

export SEC_USER_AGENT="YourName your@email.com"
from edgar_agent_tool.filings import get_filing, get_recent_filings

# Get Apple's latest 10-K with automatic section parsing
filing = get_filing("AAPL", filing_type="10-K")
print(filing["summary"])
ModuleNotFoundError: No module named 'edgar_agent_tool'
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
Cell In[1], line 1
----> 1 from edgar_agent_tool.filings import get_filing, get_recent_filings
      3 # Get Apple's latest 10-K with automatic section parsing
      4 filing = get_filing("AAPL", filing_type="10-K")

ModuleNotFoundError: No module named 'edgar_agent_tool'
# Extract a specific section (e.g., Risk Factors)
filing = get_filing("AAPL", filing_type="10-K", section="1A")
print(f"Risk Factors: {len(filing['section']['content'])} characters")
# Get a list of recent 8-K filings
filings = get_recent_filings("MSFT", filing_type="8-K", count=5)
for f in filings:
    print(f"{f['filingDate']}: {f['form']} - {f['primaryDocDescription']} - {f['items']}")
2025-12-08: 8-K - 8-K - 5.02,5.07
2025-10-29: 8-K - 8-K - 2.02,7.01,9.01
2025-09-30: 8-K - 8-K - 5.02
2025-07-30: 8-K - 8-K - 2.02,9.01
2025-07-01: 8-K - 8-K - 5.03,9.01

Key Functions

Function Description
get_filing(ticker, filing_type, section) Get a parsed filing with automatic section extraction
get_recent_filings(ticker, filing_type, count) List recent filings for a company
get_latest_filings(filing_type, start_date, end_date) Search filings across all companies
ticker_to_cik(ticker) Convert ticker to SEC CIK number
get_filing_document(url) Fetch raw filing content as markdown

Filing Classes

For more control, use the typed filing classes directly:

Class Description
Filing10K Annual reports with 23 standard items across 4 parts
Filing10Q Quarterly reports with financial statements and MD&A
Filing8K Current reports for material events (earnings, exec changes, etc.)

Each class provides: - Lazy content loading — Content fetched only when accessed - Automatic section parsing — Structured access to all standard items - Convenience properties.business, .risk_factors, .mda, .financials - Summary generation — Human-readable filing overviews

Section Reference

10-K Sections

  • Item 1: Business description
  • Item 1A: Risk Factors ⭐
  • Item 7: Management’s Discussion & Analysis (MD&A) ⭐
  • Item 8: Financial Statements ⭐

10-Q Sections

  • I-1: Financial Statements
  • I-2: MD&A ⭐
  • II-1A: Risk Factor updates

8-K Items

  • 2.02: Results of Operations (earnings) ⭐
  • 5.02: Director/Officer changes
  • 7.01: Regulation FD Disclosure
  • 8.01: Other Events

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

edgar_agent_tool-0.0.3.tar.gz (22.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

edgar_agent_tool-0.0.3-py3-none-any.whl (19.4 kB view details)

Uploaded Python 3

File details

Details for the file edgar_agent_tool-0.0.3.tar.gz.

File metadata

  • Download URL: edgar_agent_tool-0.0.3.tar.gz
  • Upload date:
  • Size: 22.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for edgar_agent_tool-0.0.3.tar.gz
Algorithm Hash digest
SHA256 050ab4f8f023fea2fd1e0bc6666c0d06a33f4258aeeb3f68fe26083e22d37079
MD5 e6a0ca66fc122ff68751c8c4d6276c4b
BLAKE2b-256 54db5d81a5bc55c7e8ebf9aa10fecd66790f7992c9b887313a3b0e2aa352f465

See more details on using hashes here.

File details

Details for the file edgar_agent_tool-0.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for edgar_agent_tool-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 0e84085a5169bbbf42a60be0f8742f502b0e2d5f2dda2c6f72569ebeec9e70be
MD5 da266e2b5af46903d24eef2f79bc2c11
BLAKE2b-256 fb6c5616e10b73afb1a7d7695bb73b5afe8e55a022c63bf0b6c15b9a4ba50f46

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page