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"])
# 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']}")

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.2.tar.gz (21.6 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.2-py3-none-any.whl (19.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: edgar_agent_tool-0.0.2.tar.gz
  • Upload date:
  • Size: 21.6 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.2.tar.gz
Algorithm Hash digest
SHA256 fb7ed878b23fd36edcfeb045cdff1e05a6314fb3435698c11eea3cf23b22917b
MD5 7d192deed76e1f7e42ef8721317c5b63
BLAKE2b-256 fba2ab1262d537e5b4a53a399f1beefb71dc8c6cc749c1d86a04b8f0968ffa37

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for edgar_agent_tool-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 21644a6dd4ecd17a622eb4fe346770fcec9753f6669092ec360fee6813b33dec
MD5 b26b0d88348d5034cbf2ab03c38dfc92
BLAKE2b-256 5e045449ee66990513c2f761efa41695a5d76124ca2760a2e85a1870bbe6be2b

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