U.S. SEC EDGAR fetch interface — resolve a ticker to its CIK, list recent filings (10-K / 10-Q / 8-K and friends) with primary-document URLs, and pull XBRL companyfacts financial series. Free, no API key; rate-limited by IP so every request is throttled and carries a contact User-Agent. United States only.
64
77%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./agent/src/skills/sec-edgar/SKILL.mdThe U.S. Securities and Exchange Commission (SEC) publishes free, no-auth JSON endpoints for every reporting company on its EDGAR system: a ticker-to-CIK directory, a recent-filings index, and the full set of XBRL ("companyfacts") financial concepts a company has reported. This skill documents how Vibe-Trading fetches that data through the bundled sec_edgar_client transport and the get_sec_filings agent tool.
This is the fetch skill — it covers how to get filing-index rows, document URLs, and us-gaap metric series out of EDGAR. The separate edgar-sec-filings skill is the methodology layer (how to read a 10-K, score insider activity, interpret 8-K items); for any actual data retrieval it delegates here.
Scope is the United States only. EDGAR has no coverage of A-shares, HK, or other non-U.S. markets — route those through tushare / yfinance / akshare instead.
Link convention: every link below that points into
references/is written with the skill-name prefix (sec-edgar/references/...). Theread_filetool resolves paths withskills/as the root; dropping the prefix breaks the read. Keep the<skill-name>/references/...form when adding new docs.
Preferred path — the get_sec_filings tool (read-only, throttled, returns strict JSON):
{ "ticker": "AAPL", "form": "10-K", "limit": 5 }{ "ticker": "MSFT", "metric": "Revenues", "limit": 8 }The tool resolves the ticker to a CIK, fetches the filing index (optionally filtered by form), and — when metric is set — also pulls the XBRL series for that us-gaap concept. See sec-edgar/references/get_sec_filings_tool.md for the full parameter and envelope contract.
Script path — call the sec_edgar_client transport directly when you need raw JSON the tool does not surface (e.g. company address, all units of a concept):
from backtest.loaders.sec_edgar_client import cik_for, get_submissions, get_company_facts
cik = cik_for("AAPL") # "0000320193", or None if not in the SEC table
submissions = get_submissions(cik) # recent-filings index + company metadata
facts = get_company_facts(cik) # all reported XBRL conceptsA runnable end-to-end example lives at sec-edgar/scripts/sec_filings_example.py.
AAPL, msft). Resolved to a CIK via the SEC company-tickers table; an unlisted ticker returns an error envelope (tool) or None (cik_for).320193 → "0000320193"). The submissions and companyfacts endpoints require the padded form; document URLs use the un-padded form.10-K, 10-Q, 8-K, DEF 14A, 4). Omit to return all recent forms.us-gaap concept name (Revenues, NetIncomeLoss, Assets, StockholdersEquity). Case-sensitive — these are exact taxonomy element names.YYYY-MM-DD strings (e.g. 2023-09-30).dict).cik_for, get_submissions, get_company_facts, CIK padding, throttle bucket, contact User-Agent.filings[] and metric field shapes.User-Agent carrying a contact address; the client ships a compliant default and honors the VIBE_TRADING_SEC_UA override.backtest.loaders._http throttle under the "sec" host bucket (≈0.12s spacing floor, overridable via VIBE_TRADING_SEC_MIN_INTERVAL). Do not bypass the client with raw requests loops.sec_edgar_client is a thin REST client, not a DataLoaderProtocol. There is no source: "sec_edgar" backtest mode — EDGAR feeds the get_sec_filings tool, not the bar-loading layer.edgar-sec-filings methodology skill.8643fcd
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.