https://github.com/john-friedman/datamule-python
A package to work with SEC data. Incorporates datamule endpoints.
https://github.com/john-friedman/datamule-python
Last synced: 2 months ago
JSON representation
A package to work with SEC data. Incorporates datamule endpoints.
- Host: GitHub
- URL: https://github.com/john-friedman/datamule-python
- Owner: john-friedman
- License: mit
- Created: 2024-09-06T18:44:01.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-08-25T00:36:05.000Z (2 months ago)
- Last Synced: 2025-08-25T03:23:32.599Z (2 months ago)
- Language: Python
- Size: 106 MB
- Stars: 398
- Watchers: 10
- Forks: 54
- Open Issues: 6
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
- trackawesomelist - datamule-python (⭐101) - A package to work with SEC data. Incorporates datamule endpoints. (Recently Updated / [Dec 24, 2024](/content/2024/12/24/README.md))
- awesome-quant - datamule-python - A package to work with SEC data. Incorporates datamule endpoints. (Python / Data Sources)
README
# datamule
[](https://pepy.tech/project/datamule)

A python package for working with SEC filings at scale. Integrated with [datamule's endpoints](https://datamule.xyz/products).
* [Documentation](https://john-friedman.github.io/datamule-python/datamule-python/quickstart/)
## Datamule's Endpoints (requires API Key)
I host a bunch of useful stuff in the cloud, such as:
* SEC Websocket (Free)
* SEC Archive without rate limits ($1/100,000 downloads)
* SEC MySQL RDS ($1/million rows retrieved)
- SEC XBRL
- Company Fundamentals
- Proxy Voting Records: (N-PX)
- Institutional Holdings: (13F-HR)
- Insider Transactions: (3,4,5)
Pricing is meant to cover usage + if I make money that's cool.
[Get an API Key](https://datamule.xyz/dashboard2.html)
> All cloud resources are built using this package. This package is under the MIT License. You are 100% allowed to use this package to create your own commercial offerings. If you do, please let me know! I think it's neat.
## Related:
### Packages
* [datamule-data](https://github.com/john-friedman/datamule-data/) Contains datasets for use with datamule-python
* [datamule-indicators](https://github.com/john-friedman/datamule-indicators/) Create economic indicators from SEC filings
* [txt2dataset](https://github.com/john-friedman/txt2dataset/) Create datasets from unstructured text
* [secsgml](https://github.com/john-friedman/secsgml/) Parse SEC filings in SGML format
* [doc2dict](https://github.com/john-friedman/doc2dict) Convert documents to dictionaries.
* [secxbrl](https://github.com/john-friedman/secxbrl) Fast, lightweight parser designed for SEC InLine XBRL.
### Articles/Cloud
* [Website](https://datamule.xyz)
* [SEC Census](https://github.com/john-friedman/SEC-Census)
## Installation
```
pip install datamule
```
## Quickstart
```
from datamule import Portfolio
portfolio = Portfolio('apple')
portfolio.download_submissions(ticker='AAPL',submission_type='10-K')
```
## Providers
You can use the `sec` (default) or `datamule` (no rate limit) which requires an [api key](https://john-friedman.github.io/datamule-python/datamule-python/data_provider/).
## Disclaimer
This package almost certainly solves your use case or will solve your use case soon.
However, the docs are incomplete. Feel free to post a github issue or [email me](mailto:johnfriedman@datamule.xyz) for clarification. I reply quickly, and this helps me improve the documentation.