← ClaudeAtlas

lib-edgartoolslisted

edgartools is the default free SEC EDGAR client - typed objects for 20+ form types, XBRL statements, no API key - and it 403s on every request until you call set_identity(). TRIGGER - edgartools, "from edgar import Company, set_identity", set_identity, Company("AAPL"), get_filings, filing.xbrl(), get_facts, get_financials, accession number, CIK, ticker-to-CIK, 10-K, 10-Q, 8-K, 13F, Forms 3/4/5, EDGAR full-text search, "HTTP 403" from sec.gov, SEC User-Agent required, SEC 10 requests per second, edgartools MCP server, edgartools[ai]. 442 releases have moved the API repeatedly and the classifier is still Beta, so any snippet recalled from memory is probably wrong for the installed version. SKIP for lib-fredapi, which is the skill for macro series and revisions. SKIP when the question is WHICH library to choose, or names no library at all - both belong to the domain skill.
howard-lynn-ye/fin-skills · ★ 1 · AI & Automation · score 77
Install: claude install-skill howard-lynn-ye/fin-skills
# edgartools The default Python library for SEC EDGAR, and the only **free point-in-time US fundamentals** source in this repo — every EDGAR filing is as-filed, so a 2018 10-K is what a 2018 investor actually saw. | | | |---|---| | pip / import | `edgartools` / `from edgar import Company, set_identity` | | Version | 5.56.0 (2026-09-02) · **442 releases** · repo pushed 2026-09-04 | | Licence | MIT (PyPI `license_expression` + classifier + GitHub `spdx_id` all agree) | | Python | `>=3.10` · classifier is still `Development Status :: 4 - Beta` at 5.56.0 | | Status | The fastest-moving library in this catalog. 2,651★, 46 open issues | ## The trap that costs you money **`set_identity()` is mandatory, and its absence is a 403, not a helpful error.** The SEC enforces a User-Agent on every request: **no User-Agent → HTTP 403**, any UA → 200. The header is checked for *presence*, not content — and sending a fake browser UA is a policy violation that gets IPs blocked in practice. Call `set_identity("Your Name your@email.com")` once at import, before anything else. The companion limit: **the SEC caps you at 10 requests/second.** edgartools is rate-limit aware, but a parallel loop over thousands of CIKs will still get you throttled or IP-blocked. ## Point-in-time is a property of the filing, not of every accessor Reading a 2018 10-K gives you 2018-as-filed. But the XBRL **frames** API, and any "latest value for concept X in FY2018" query, return the figure **as it stands today, af