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[:65] + '...')
<root-section-separator id="part1item1" title="Financial Statemen...
<span style="color:#000000;font-family:'Helvetica',sans-serif;fon...
<root-section-separator id="part1item2" title="Management's Discu...
<span style="color:#000000;font-family:'Helvetica',sans-serif;fon...
<root-section-separator id="part1item3" title="Quantitative and Q...
<span style="color:#000000;font-family:'Helvetica',sans-serif;fon...
<root-section-separator id="part1item4" title="Controls and Proce...
<span style="color:#000000;font-family:'Helvetica',sans-serif;fon...
<root-section-separator id="part2item1" title="Legal Proceedings"...
<span style="color:#000000;font-family:'Helvetica',sans-serif;fon...
<root-section-separator id="part2item1a" title="Risk Factors" com...
<span style="color:#000000;font-family:'Helvetica',sans-serif;fon...
<root-section-separator id="part2item2" title="Unregistered Sales...
<span style="color:#000000;font-family:'Helvetica',sans-serif;fon...
<root-section-separator id="part2item3" title="Defaults Upon Seni...
<span style="color:#000000;font-family:'Helvetica',sans-serif;fon...
<root-section-separator id="part2item4" title="Mine Safety Disclo...
<span style="color:#000000;font-family:'Helvetica',sans-serif;fon...
<root-section-separator id="part2item5" title="Other Information"...
<span style="color:#000000;font-family:'Helvetica',sans-serif;fon...
<root-section-separator id="part2item6" title="Exhibits" comment=...
<span style="color:#000000;font-family:'Helvetica',sans-serif;fon...

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.6.tar.gz (10.0 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.6-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sec-api-io-0.0.6.tar.gz
  • Upload date:
  • Size: 10.0 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.6.tar.gz
Algorithm Hash digest
SHA256 3d353e12a38125ea51251cf5385cd4408dfc6e6a75e579453132e2e5f662d271
MD5 ea870d4bb787c58d58ba9a54149bf06e
BLAKE2b-256 f4dec51541557a1a4686714b132cbc9e05747b741628299bcb90613ac0a4281a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sec_api_io-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 9.2 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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 1e429f74949e7866e7c36ce7a7172eebcb5b19396c9c9608d394f279ff18a3ab
MD5 388d243e4f3d077c865f6d22da642740
BLAKE2b-256 cb7965984a9c9b92a3ce4b33ed9b834a7d5682255925be419ad1e0ddd332011e

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