Registry / data / sec-downloader

sec-downloader

JSON →
library0.12.2pypypi✓ verified 80d ago

sec-downloader is a Python library that provides useful extensions for sec-edgar-downloader, including the ability to download SEC filings asynchronously, cache filings, and handle concurrent rate limits. The current version is 0.12.2, compatible with Python >=3.7. It is actively maintained with periodic releases.

pip install sec-downloader
INSTALL
IMPORT
SIG · SEC-DOWNLOADER
S
sec-downloader
datapythonv0.12.2
Install
2.3s avg
Import
Disk
20MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v0.12.2 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.95 runs
installs and imports cleanly · install 0.0s · import 0.000s · 21.5MB
glibc
py 3.103.95 runs
installs and imports cleanly · install 2.3s · import 0.000s · 22MB
20MB installed
● package 20MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

Downloader
from sec_downloader import Downloader
from sec_downloader import AsyncEdgarDownloader
DownloadStorage
from sec_downloader import DownloadStorage
FileContent
from sec_downloader import FileContent

Async download of a 10-K filing for Apple using the default rate limiter.

import asyncio from sec_downloader import AsyncEdgarDownloader async def main(): async with AsyncEdgarDownloader() as downloader: details = await downloader.get_filing_details('AAPL', '10-K', limit=1) for d in details: print(d.filing_url) asyncio.run(main())
Debug
Known issues
breakingIn version 0.12.0, the method `download_filing` was renamed to `get_filing_details` and its return type changed from string to a list of `DownloadDetails` objects.
fix
Update your code to use `get_filing_details` and handle `DownloadDetails` objects instead of raw strings.
affects: <0.12.0
gotchaAsyncEdgarDownloader uses aiohttp.ClientSession internally. Do not reuse the same session after closing the context manager; create a new instance for each connection.
fix
Always use `async with AsyncEdgarDownloader() as edgar:` to ensure proper session lifecycle.
affects: all
Upgrade
Version history
0.12.2latest on PyPI · released May 20, 2025
Audit
Dependencies
sec-edgar-downloaderrequiredCore dependency for SEC EDGAR download functionality
aiohttprequiredAsync HTTP requests
Agent activity
10 hits · last 30 days
node
8
Amazon
1
OpenAI (training)
1
Resources
sec-downloader — pip install sec-downloader · libregistry