Skip to main content

Unofficial facade for the sec-api.io, SEC EDGAR 10-Q document downloader

Project description

sec-api-io

GitHub Workflow Status PyPI - Python Version PyPI version Licence

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
import os 
from dotenv import load_dotenv

if 'SECAPIO_API_KEY' not in os.environ:
    assert load_dotenv()

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[:50] + '...')
<document-root-section comment="This tag was added...
<span style="color:#000000;font-family:'Helvetica'...
<document-root-section comment="This tag was added...
<span style="color:#000000;font-family:'Helvetica'...
<document-root-section comment="This tag was added...
<span style="color:#000000;font-family:'Helvetica'...
<document-root-section comment="This tag was added...
<span style="color:#000000;font-family:'Helvetica'...
<document-root-section comment="This tag was added...
<span style="color:#000000;font-family:'Helvetica'...
<document-root-section comment="This tag was added...
<span style="color:#000000;font-family:'Helvetica'...
<document-root-section comment="This tag was added...
<span style="color:#000000;font-family:'Helvetica'...
<document-root-section comment="This tag was added...
<span style="color:#000000;font-family:'Helvetica'...
<document-root-section comment="This tag was added...
<span style="color:#000000;font-family:'Helvetica'...
<document-root-section comment="This tag was added...
<span style="color:#000000;font-family:'Helvetica'...
<document-root-section comment="This tag was added...
<span style="color:#000000;font-family:'Helvetica'...

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sec-api-io-0.0.5.tar.gz (9.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sec_api_io-0.0.5-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

File details

Details for the file sec-api-io-0.0.5.tar.gz.

File metadata

  • Download URL: sec-api-io-0.0.5.tar.gz
  • Upload date:
  • Size: 9.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for sec-api-io-0.0.5.tar.gz
Algorithm Hash digest
SHA256 af6843e522f4fe006ea823112b8f3402d663dc08f8c6cd2ca686518ae93f5722
MD5 eec4c03458402858bf4f4594c414c06e
BLAKE2b-256 2c23c383092024a38ca5f7ebb4aac7d538c884dbe1ba57b2bf0260418083d228

See more details on using hashes here.

File details

Details for the file sec_api_io-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: sec_api_io-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 9.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for sec_api_io-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 289c33dade4f4526c195735b71d7232b573fb5bfdde89b091c11dbb3ddbe0935
MD5 298071907ce1905c28cb961fff68b1ea
BLAKE2b-256 40ccdd2dcdb41b7ecbe3b81d7fd02d0a6d860409c4daaf37335d895810aa871a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page