Unofficial facade for the sec-api.io, SEC EDGAR 10-Q document downloader
Project description
sec-api-io
Unofficial wrapper for the sec-api.io API. Built with nbdev.
Install and Setup
Run in terminal:
pip install sec_api_io
How to use
(Optional) Set API key with .env
file
It’s highly recommended to set your API key in a .env
file to avoid
setting it in the code.
- Make a copy of the
.env.template
file in the root directory of the project. - Rename the copied file to
.env
. - Open the
.env
file and locate theSECAPIO_API_KEY
variable. - Fill in the value for the
SECAPIO_API_KEY
variable.- You can obtain a free key from sec-api.io.
- Note: The first 100 requests are free.
- Save the
.env
file next to your notebook or script.
Important Note: Depending on your geographical location, you might need to use a VPN set to a United States location to access sec-api.io API.
Let’s load the API key from .env file into the environment variable SECAPIO_API_KEY
!pip install -q python-dotenv
from dotenv import load_dotenv
load_dotenv() # Load the API key from .env file into the environment variable SECAPIO_API_KEY
True
import os
from dotenv import load_dotenv
if 'SECAPIO_API_KEY' not in os.environ:
assert load_dotenv()
assert 'SECAPIO_API_KEY' in os.environ
import os
from dotenv import load_dotenv
if 'SECAPIO_API_KEY' not in os.environ:
assert load_dotenv()
assert 'SECAPIO_API_KEY' in os.environ
assert os.environ['SECAPIO_API_KEY'].strip()
Get latest 10-Q report by ticker
from sec_api_io.secapio_data_retriever import SecapioDataRetriever
retriever = SecapioDataRetriever()
# retriever = SecapioDataRetriever(api_key=...) # If you don't want to use .env file
metadata = retriever.retrieve_report_metadata('10-Q', latest_from_ticker='AAPL')
url = metadata["linkToFilingDetails"]
assert url.startswith('https://www.sec.gov/Archives/edgar/data/')
url
'https://www.sec.gov/Archives/edgar/data/320193/000032019323000077/aapl-20230701.htm'
Download 10-Q HTML split into sections
html = retriever.get_report_html('10-Q', url)
assert html
for line in html.splitlines():
print(line[:65] + '...')
<top-level-section-separator id="part1item1" title="Financial Statemen...
<span style="color:#000000;font-family:'Helvetica',sans-serif;fon...
<top-level-section-separator id="part1item2" title="Management's Discu...
<span style="color:#000000;font-family:'Helvetica',sans-serif;fon...
<top-level-section-separator id="part1item3" title="Quantitative and Q...
<span style="color:#000000;font-family:'Helvetica',sans-serif;fon...
<top-level-section-separator id="part1item4" title="Controls and Proce...
<span style="color:#000000;font-family:'Helvetica',sans-serif;fon...
<top-level-section-separator id="part2item1" title="Legal Proceedings"...
<span style="color:#000000;font-family:'Helvetica',sans-serif;fon...
<top-level-section-separator id="part2item1a" title="Risk Factors" com...
<span style="color:#000000;font-family:'Helvetica',sans-serif;fon...
<top-level-section-separator id="part2item2" title="Unregistered Sales...
<span style="color:#000000;font-family:'Helvetica',sans-serif;fon...
<top-level-section-separator id="part2item3" title="Defaults Upon Seni...
<span style="color:#000000;font-family:'Helvetica',sans-serif;fon...
<top-level-section-separator id="part2item4" title="Mine Safety Disclo...
<span style="color:#000000;font-family:'Helvetica',sans-serif;fon...
<top-level-section-separator id="part2item5" title="Other Information"...
<span style="color:#000000;font-family:'Helvetica',sans-serif;fon...
<top-level-section-separator id="part2item6" title="Exhibits" comment=...
<span style="color:#000000;font-family:'Helvetica',sans-serif;fon...
Contributing
Follow these steps to install the project locally for development:
- Install the project with the command
pip install -e ".[dev]"
.
Note We highly recommend using virtual environments for Python development. If you’d like to use virtual environments, follow these steps instead: - Create a virtual environment
python3 -m venv .venv
- Activate the virtual environmentsource .venv/bin/activate
- Install the project with the commandpip install -e ".[dev]"
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file sec-api-io-0.0.17.tar.gz
.
File metadata
- Download URL: sec-api-io-0.0.17.tar.gz
- Upload date:
- Size: 15.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41b9a4d500d02924d605c94132b39353e326120b6a1898fbff6173b347a3871f |
|
MD5 | 89935d7d34259e6b0589262502d5ce00 |
|
BLAKE2b-256 | eea4d3ce4fdfc4f1ca0dcb9b51e05aa169e614b199a6aef21cc2b2ea1a382a31 |
File details
Details for the file sec_api_io-0.0.17-py3-none-any.whl
.
File metadata
- Download URL: sec_api_io-0.0.17-py3-none-any.whl
- Upload date:
- Size: 12.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0aaacae9b8d7f2e862b85b0cbba80118e68215c4607bc3d51a16c98478f29f17 |
|
MD5 | c42567edb9cf76574a2b8f41b0a5af97 |
|
BLAKE2b-256 | d705ffd62934c26156dfefc8e188f282042570ffe71a3a6a70293dd487a6cbb5 |