Skip to main content

sec-api-io

GitHub Workflow Status PyPI - Python Version PyPI version Licence

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.

  1. Make a copy of the .env.template file in the root directory of the project.
  2. Rename the copied file to .env.
  3. Open the .env file and locate the SECAPIO_API_KEY variable.
  4. 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.
  5. 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:

  1. 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 environment source .venv/bin/activate - Install the project with the command pip install -e ".[dev]"

Metadata

Release files for sec-api-io 0.0.17

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sec-api-io 0.0.17
File Size Uploaded
sec-api-io-0.0.17.tar.gz 15.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sec-api-io 0.0.17
File Interpreter ABI Platform
sec_api_io-0.0.17-py3-none-any.whl Python 3 none any Details

Total release size: 27.8 kB

Release files / sec-api-io-0.0.17.tar.gz

Download URL sec-api-io-0.0.17.tar.gz
Size 15.1 kB
Tags Source
SHA-256 checksum
How to use checksums
41b9a4d500d02924d605c94132b39353e326120b6a1898fbff6173b347a3871f
BLAKE2b-256 checksum
How to use checksums
eea4d3ce4fdfc4f1ca0dcb9b51e05aa169e614b199a6aef21cc2b2ea1a382a31
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.12

Release files / sec_api_io-0.0.17-py3-none-any.whl

Download URL sec_api_io-0.0.17-py3-none-any.whl
Size 12.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0aaacae9b8d7f2e862b85b0cbba80118e68215c4607bc3d51a16c98478f29f17
BLAKE2b-256 checksum
How to use checksums
d705ffd62934c26156dfefc8e188f282042570ffe71a3a6a70293dd487a6cbb5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.12

Release history Release notifications | RSS feed

This release

0.0.17 This release

2 release files

0.0.15

2 release files

0.0.13

2 release files

0.0.12

2 release files

0.0.11

2 release files

0.0.9

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page