lib-edgartoolslisted
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