/edgartools
Python library for accessing, analyzing, and extracting data from SEC EDGAR filings. Use when working with SEC filings, financial statements (income statement, balance sheet, cash flow), XBRL financial data, insider trading (Form 4), institutional holdings (13F), company
$ npx -y skills add foryourhealth111-pixel/Vibe-Skills --skill edgartools --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/edgartools
Context preview
The summary Claude sees to decide when to auto-load this skill.
Python library for accessing, analyzing, and extracting data from SEC EDGAR filings. Use when working with SEC filings, financial statements (income statement, balance sheet, cash flow), XBRL financial data, insider trading (Form 4), institutional holdings (13F), company
SKILL.md
edgartools.SKILL.mdname: edgartools
description: Python library for accessing, analyzing, and extracting data from SEC EDGAR filings. Use when working with SEC filings, financial statements (income statement, balance sheet, cash flow), XBRL financial data, insider trading (Form 4), institutional holdings (13F), company financials, annual/quarterly reports (10-K, 10-Q), proxy statements (DEF 14A), 8-K current events, company screening by ticker/CIK/industry, multi-period financial analysis, or any SEC regulatory filings.
license: MIT
metadata:
skill-author: K-Dense Inc.edgartools — SEC EDGAR Data
Python library for accessing all SEC filings since 1994 with structured data extraction.
Authentication (Required)
The SEC requires identification for API access. Always set identity before any operations:
from edgar import set_identity
set_identity("Your Name your.email@example.com")Set via environment variable to avoid hardcoding: `EDGAR_IDENTITY="Your Name your@email.com"`.
Installation
uv pip install edgartools
# For AI/MCP features:
uv pip install "edgartools[ai]"
Core Workflow
Find a Company
from edgar import Company, find
company = Company("AAPL") # by ticker
company = Company(320193) # by CIK (fastest)
results = find("Apple") # by name searchGet Filings
# Company filings
filings = company.get_filings(form="10-K")
filing = filings.latest()
# Global search across all filings
from edgar import get_filings
filings = get_filings(2024, 1, form="10-K")
# By accession number
from edgar import get_by_accession_number
filing = get_by_accession_number("0000320193-23-000106")Extract Structured Data
# Form-specific object (most common approach)
tenk = filing.obj() # Returns TenK, EightK, Form4, ThirteenF, etc.
# Financial statements (10-K/10-Q)
financials = company.get_financials() # annual
financials = company.get_quarterly_financials() # quarterly
income = financials.income_statement()
balance = financials.balance_sheet()
cashflow = financials.cashflow_statement()
# XBRL data
xbrl = filing.xbrl()
income = xbrl.statements.income_statement()
Access Filing Content
text = filing.text() # plain text
html = filing.html() # HTML
md = filing.markdown() # markdown (good for LLM processing)
filing.open() # open in browser
Key Company Properties
company.name # "Apple Inc."
company.cik # 320193
company.ticker # "AAPL"
company.industry # "ELECTRONIC COMPUTERS"
company.sic # "3571"
company.shares_outstanding # 15115785000.0
company.public_float # 2899948348000.0
company.fiscal_year_end # "0930"
company.exchange # "Nasdaq"
Form → Object Mapping
| Form | Object | Key Properties | |------|--------|----------------| | 10-K | TenK | `financials`, `income_statement`, `balance_sheet` | | 10-Q | TenQ | `financials`, `income_statement`, `balance_sheet` | | 8-K | EightK | `items`, `press_releases` | | Form 4 | Form4 | `reporting_owner`, `transactions` | | 13F-HR | ThirteenF | `infotable`, `total_value` | | DEF 14A | ProxyStatement | `executive_compensation`, `proposals` | | SC 13D/G | Schedule13 | `total_shares`, `items` | | Form D | FormD | `offering`, `recipients` |
**Important:** `filing.financials` does NOT exist. Use `filing.obj().financials`.
Common Pitfalls
- `filing.financials` → AttributeError; use `filing.obj().financials`
- `get_filings()` has no `limit` param; use `.head(n)` or `.latest(n)`
- Prefer `amendments=False` for multi-period analysis (amended filings may be incomplete)
- Always check for `None` before accessing optional data
Reference Files
Load these when you need detailed information:
- **[companies.md](references/companies.md)** — Finding companies, screening, batch lookups, Company API
- **[filings.md](references/filings.md)** — Working with filings, attachments, exhibits, Filings collection API
- **[financial-data.md](references/financial-data.md)** — Financial statements, convenience methods, DataFrame export, multi-period analysis
- **[xbrl.md](references/xbrl.md)** — XBRL parsing, fact querying, multi-period stitching, standardization
- **[data-objects.md](references/data-objects.md)** — All supported form types and their structured objects
- **[entity-facts.md](references/entity-facts.md)** — EntityFacts API, FactQuery, FinancialStatement, FinancialFact
- **[ai-integration.md](references/ai-integration.md)** — MCP server setup, Skills installation, `.docs` and `.to_context()` properties
Read more
name: edgartools
description: Python library for accessing, analyzing, and extracting data from SEC EDGAR filings. Use when working with SEC filings, financial statements (income statement, balance sheet, cash flow), XBRL financial data, insider trading (Form 4), institutional holdings (13F), company financials, annual/quarterly reports (10-K, 10-Q), proxy statements (DEF 14A), 8-K current events, company screening by ticker/CIK/industry, multi-period financial analysis, or any SEC regulatory filings.
license: MIT
metadata:
skill-author: K-Dense Inc.edgartools — SEC EDGAR Data
Python library for accessing all SEC filings since 1994 with structured data extraction.
Authentication (Required)
The SEC requires identification for API access. Always set identity before any operations:
from edgar import set_identity
set_identity("Your Name your.email@example.com")Set via environment variable to avoid hardcoding: `EDGAR_IDENTITY="Your Name your@email.com"`.
Installation
uv pip install edgartools # For AI/MCP features: uv pip install "edgartools[ai]"
Core Workflow
Find a Company
from edgar import Company, find
company = Company("AAPL") # by ticker
company = Company(320193) # by CIK (fastest)
results = find("Apple") # by name searchGet Filings
# Company filings
filings = company.get_filings(form="10-K")
filing = filings.latest()
# Global search across all filings
from edgar import get_filings
filings = get_filings(2024, 1, form="10-K")
# By accession number
from edgar import get_by_accession_number
filing = get_by_accession_number("0000320193-23-000106")Extract Structured Data
# Form-specific object (most common approach) tenk = filing.obj() # Returns TenK, EightK, Form4, ThirteenF, etc. # Financial statements (10-K/10-Q) financials = company.get_financials() # annual financials = company.get_quarterly_financials() # quarterly income = financials.income_statement() balance = financials.balance_sheet() cashflow = financials.cashflow_statement() # XBRL data xbrl = filing.xbrl() income = xbrl.statements.income_statement()
Access Filing Content
text = filing.text() # plain text html = filing.html() # HTML md = filing.markdown() # markdown (good for LLM processing) filing.open() # open in browser
Key Company Properties
company.name # "Apple Inc." company.cik # 320193 company.ticker # "AAPL" company.industry # "ELECTRONIC COMPUTERS" company.sic # "3571" company.shares_outstanding # 15115785000.0 company.public_float # 2899948348000.0 company.fiscal_year_end # "0930" company.exchange # "Nasdaq"
Form → Object Mapping
| Form | Object | Key Properties | |------|--------|----------------| | 10-K | TenK | `financials`, `income_statement`, `balance_sheet` | | 10-Q | TenQ | `financials`, `income_statement`, `balance_sheet` | | 8-K | EightK | `items`, `press_releases` | | Form 4 | Form4 | `reporting_owner`, `transactions` | | 13F-HR | ThirteenF | `infotable`, `total_value` | | DEF 14A | ProxyStatement | `executive_compensation`, `proposals` | | SC 13D/G | Schedule13 | `total_shares`, `items` | | Form D | FormD | `offering`, `recipients` |
**Important:** `filing.financials` does NOT exist. Use `filing.obj().financials`.
Common Pitfalls
- `filing.financials` → AttributeError; use `filing.obj().financials`
- `get_filings()` has no `limit` param; use `.head(n)` or `.latest(n)`
- Prefer `amendments=False` for multi-period analysis (amended filings may be incomplete)
- Always check for `None` before accessing optional data
Reference Files
Load these when you need detailed information:
- **[companies.md](references/companies.md)** — Finding companies, screening, batch lookups, Company API
- **[filings.md](references/filings.md)** — Working with filings, attachments, exhibits, Filings collection API
- **[financial-data.md](references/financial-data.md)** — Financial statements, convenience methods, DataFrame export, multi-period analysis
- **[xbrl.md](references/xbrl.md)** — XBRL parsing, fact querying, multi-period stitching, standardization
- **[data-objects.md](references/data-objects.md)** — All supported form types and their structured objects
- **[entity-facts.md](references/entity-facts.md)** — EntityFacts API, FactQuery, FinancialStatement, FinancialFact
- **[ai-integration.md](references/ai-integration.md)** — MCP server setup, Skills installation, `.docs` and `.to_context()` properties
VibeSkills is a general-purpose Skill that automatically routes local Skills and intelligently orchestrates harness workflows.
Repo: foryourhealth111-pixel/Vibe-Skills
Other skills on vibe-skills.
- /LQF_Machine_Learning_Expert_Guide
LQF Machine Learning Expert Guide - Routed skill for ML/Statistical Modeling with Critical Discussion Mode. Triggers on: machine learning, modeling, prediction, training, classification, regression, clustering, deep learning, neural network, model evaluation, feature
Open skill - /adaptyv
Cloud laboratory platform for automated protein testing and validation. Use when designing proteins and needing experimental validation including binding assays, expression testing, thermostability measurements, enzyme activity assays, or protein sequence optimization. Also use
Open skill - /aeon
This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search. Use when working with temporal data, sequential patterns, or time-indexed observations
Open skill - /algorithmic-art
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing
Open skill - /alpha-vantage
Access real-time and historical stock market data, forex rates, cryptocurrency prices, commodities, economic indicators, and 50+ technical indicators via the Alpha Vantage API. Use when fetching stock prices (OHLCV), company fundamentals (income statement, balance sheet, cash
Open skill - /architecture-patterns
Implement proven backend architecture patterns including Clean Architecture, Hexagonal Architecture, and Domain-Driven Design. Use when architecting complex backend systems or refactoring existing applications for better maintainability.
Open skill
