Skip to main content
Build Status Coverage Status PyPI Version Supported Python Versions License Code Style: Black

sec-edgar-downloader is a Python package for downloading company filings from the SEC EDGAR database. Searches can be conducted either by stock ticker or Central Index Key (CIK). You can use the SEC CIK lookup tool if you cannot find an appropriate ticker.

Quick Start

Installation

Install and update this package using pip:

$ pip install -U sec-edgar-downloader

Basic Usage

from sec_edgar_downloader import Downloader

# Initialize a downloader instance. Download filings to the current
# working directory. Must declare company name and email address
# to form a user-agent string that complies with the SEC Edgar's
# programmatic downloading fair access policy.
# More info: https://www.sec.gov/os/webmaster-faq#code-support
# Company name and email are used to form a user-agent of the form:
# User-Agent: <Company Name> <Email Address>
dl = Downloader("MyCompanyName", "my.email@domain.com")

# Get all 8-K filings for Apple (ticker: AAPL)
dl.get("8-K", "AAPL")

# Get all 8-K filings for Apple, including filing amends (8-K/A)
dl.get("8-K", "AAPL", include_amends=True)

# Get all 8-K filings for Apple after January 1, 2017 and before March 25, 2017
# Note: after and before strings must be in the form "YYYY-MM-DD"
dl.get("8-K", "AAPL", after="2017-01-01", before="2017-03-25")

# Get the five most recent 8-K filings for Apple
dl.get("8-K", "AAPL", limit=5)

# Get all 10-K filings for Microsoft
dl.get("10-K", "MSFT")

# Get the latest 10-K filing for Microsoft
dl.get("10-K", "MSFT", limit=1)

# Get all 10-Q filings for Visa
dl.get("10-Q", "V")

# Get all 13F-NT filings for the Vanguard Group
dl.get("13F-NT", "0000102909")

# Get all 13F-HR filings for the Vanguard Group
dl.get("13F-HR", "0000102909")

# Get all SC 13G filings for Apple
dl.get("SC 13G", "AAPL")

# Get all SD filings for Apple
dl.get("SD", "AAPL")

Advanced Usage

from sec_edgar_downloader import Downloader

# Download filings to the current working directory
dl = Downloader("MyCompanyName", "my.email@domain.com", "/path/to/save/location")

# Get all 10-K filings for Microsoft without the filing details
dl.get("10-K", "MSFT", download_details=False)

# Get the latest supported filings, if available, for Apple
for filing_type in dl.supported_filings:
    dl.get(filing_type, "AAPL", limit=1)

# Get the latest supported filings, if available, for a
# specified list of tickers and CIKs
equity_ids = ["AAPL", "MSFT", "0000102909", "V", "FB"]
for equity_id in equity_ids:
    for filing_type in dl.supported_filings:
        dl.get(filing_type, equity_id, limit=1)

Supported SEC Filing Types

This package supports downloading all SEC filing types (6-K, 8-K, 10-K, DEF 14A, S-1, and many others). You can learn more about the different SEC filing types here). Below is an exhaustive list of all filings types that can be downloaded by this package:

  • 1

  • 1-A

  • 1-A POS

  • 1-A-W

  • 1-E

  • 1-E AD

  • 1-K

  • 1-SA

  • 1-U

  • 1-Z

  • 1-Z-W

  • 10-12B

  • 10-12G

  • 10-D

  • 10-K

  • 10-KT

  • 10-Q

  • 10-QT

  • 11-K

  • 11-KT

  • 13F-HR

  • 13F-NT

  • 13FCONP

  • 144

  • 15-12B

  • 15-12G

  • 15-15D

  • 15F-12B

  • 15F-12G

  • 15F-15D

  • 18-12B

  • 18-K

  • 19B-4E

  • 2-A

  • 2-AF

  • 2-E

  • 20-F

  • 20FR12B

  • 20FR12G

  • 24F-2NT

  • 25

  • 25-NSE

  • 253G1

  • 253G2

  • 253G3

  • 253G4

  • 3

  • 305B2

  • 34-12H

  • 4

  • 40-17F1

  • 40-17F2

  • 40-17G

  • 40-17GCS

  • 40-202A

  • 40-203A

  • 40-206A

  • 40-24B2

  • 40-33

  • 40-6B

  • 40-8B25

  • 40-8F-2

  • 40-APP

  • 40-F

  • 40-OIP

  • 40FR12B

  • 40FR12G

  • 424A

  • 424B1

  • 424B2

  • 424B3

  • 424B4

  • 424B5

  • 424B7

  • 424B8

  • 424H

  • 425

  • 485APOS

  • 485BPOS

  • 485BXT

  • 486APOS

  • 486BPOS

  • 486BXT

  • 487

  • 497

  • 497AD

  • 497H2

  • 497J

  • 497K

  • 5

  • 6-K

  • 6B NTC

  • 6B ORDR

  • 8-A12B

  • 8-A12G

  • 8-K

  • 8-K12B

  • 8-K12G3

  • 8-K15D5

  • 8-M

  • 8F-2 NTC

  • 8F-2 ORDR

  • 9-M

  • ABS-15G

  • ABS-EE

  • ADN-MTL

  • ADV-E

  • ADV-H-C

  • ADV-H-T

  • ADV-NR

  • ANNLRPT

  • APP NTC

  • APP ORDR

  • APP WD

  • APP WDG

  • ARS

  • ATS-N

  • ATS-N-C

  • ATS-N/UA

  • AW

  • AW WD

  • C

  • C-AR

  • C-AR-W

  • C-TR

  • C-TR-W

  • C-U

  • C-U-W

  • C-W

  • CB

  • CERT

  • CERTARCA

  • CERTBATS

  • CERTCBO

  • CERTNAS

  • CERTNYS

  • CERTPAC

  • CFPORTAL

  • CFPORTAL-W

  • CORRESP

  • CT ORDER

  • D

  • DEF 14A

  • DEF 14C

  • DEFA14A

  • DEFA14C

  • DEFC14A

  • DEFC14C

  • DEFM14A

  • DEFM14C

  • DEFN14A

  • DEFR14A

  • DEFR14C

  • DEL AM

  • DFAN14A

  • DFRN14A

  • DOS

  • DOSLTR

  • DRS

  • DRSLTR

  • DSTRBRPT

  • EFFECT

  • F-1

  • F-10

  • F-10EF

  • F-10POS

  • F-1MEF

  • F-3

  • F-3ASR

  • F-3D

  • F-3DPOS

  • F-3MEF

  • F-4

  • F-4 POS

  • F-4MEF

  • F-6

  • F-6 POS

  • F-6EF

  • F-7

  • F-7 POS

  • F-8

  • F-8 POS

  • F-80

  • F-80POS

  • F-9

  • F-9 POS

  • F-N

  • F-X

  • FOCUSN

  • FWP

  • G-405

  • G-405N

  • G-FIN

  • G-FINW

  • IRANNOTICE

  • MA

  • MA-A

  • MA-I

  • MA-W

  • MSD

  • MSDCO

  • MSDW

  • N-1

  • N-14

  • N-14 8C

  • N-14MEF

  • N-18F1

  • N-1A

  • N-2

  • N-23C-2

  • N-23C3A

  • N-23C3B

  • N-23C3C

  • N-2MEF

  • N-30B-2

  • N-30D

  • N-4

  • N-5

  • N-54A

  • N-54C

  • N-6

  • N-6F

  • N-8A

  • N-8B-2

  • N-8F

  • N-8F NTC

  • N-8F ORDR

  • N-CEN

  • N-CR

  • N-CSR

  • N-CSRS

  • N-MFP

  • N-MFP1

  • N-MFP2

  • N-MFP3

  • N-PX

  • N-Q

  • NO ACT

  • NPORT-EX

  • NPORT-NP

  • NPORT-P

  • NRSRO-CE

  • NRSRO-UPD

  • NSAR-A

  • NSAR-AT

  • NSAR-B

  • NSAR-BT

  • NSAR-U

  • NT 10-D

  • NT 10-K

  • NT 10-Q

  • NT 11-K

  • NT 20-F

  • NT N-CEN

  • NT N-MFP

  • NT N-MFP1

  • NT N-MFP2

  • NT NPORT-EX

  • NT NPORT-P

  • NT-NCEN

  • NT-NCSR

  • NT-NSAR

  • NTFNCEN

  • NTFNCSR

  • NTFNSAR

  • NTN 10D

  • NTN 10K

  • NTN 10Q

  • NTN 20F

  • OIP NTC

  • OIP ORDR

  • POS 8C

  • POS AM

  • POS AMI

  • POS EX

  • POS462B

  • POS462C

  • POSASR

  • PRE 14A

  • PRE 14C

  • PREC14A

  • PREC14C

  • PREM14A

  • PREM14C

  • PREN14A

  • PRER14A

  • PRER14C

  • PRRN14A

  • PX14A6G

  • PX14A6N

  • QRTLYRPT

  • QUALIF

  • REG-NR

  • REVOKED

  • RW

  • RW WD

  • S-1

  • S-11

  • S-11MEF

  • S-1MEF

  • S-20

  • S-3

  • S-3ASR

  • S-3D

  • S-3DPOS

  • S-3MEF

  • S-4

  • S-4 POS

  • S-4EF

  • S-4MEF

  • S-6

  • S-8

  • S-8 POS

  • S-B

  • S-BMEF

  • SC 13D

  • SC 13E1

  • SC 13E3

  • SC 13G

  • SC 14D9

  • SC 14F1

  • SC 14N

  • SC TO-C

  • SC TO-I

  • SC TO-T

  • SC13E4F

  • SC14D1F

  • SC14D9C

  • SC14D9F

  • SD

  • SDR

  • SE

  • SEC ACTION

  • SEC STAFF ACTION

  • SEC STAFF LETTER

  • SF-1

  • SF-3

  • SL

  • SP 15D2

  • STOP ORDER

  • SUPPL

  • T-3

  • TA-1

  • TA-2

  • TA-W

  • TACO

  • TH

  • TTW

  • UNDER

  • UPLOAD

  • WDL-REQ

  • X-17A-5

Contributing

If you encounter a bug or would like to see a new company filing or feature added to sec-edgar-downloader, please file an issue or submit a pull request.

Development

In order to validate local code changes before creating a pull request, you can run the following commands:

# Run unit test suite on all locally-installed Python versions
$ tox

# Run unit test suite on a single Python version (e.g. Python 3.11)
$ tox -e py311

# Run end-to-end integration tests
$ tox -e integration

# Lint
$ tox -e lint

# Validate documentation
$ tox -e docs

Release

In order to create a new release, complete the following steps:

  1. Outline changes made in the new release in CHANGELOG.md.

  2. Bump the version in _version.py and push change to master branch.

  3. Ensure all unit and integration tests pass locally and in the GitHub Actions testing workflow.

  4. Create and push tags for the latest version specified in _version.py by running make tag.

  5. Once the tag is pushed, a GitHub Actions release workflow will be kicked off that automatically creates the package artifacts and uploads them to PyPI.

  6. Create a new version based off of the published tag on the GitHub repository’s release page.

Documentation

For full documentation, please visit sec-edgar-downloader.readthedocs.io.

Release files for sec-edgar-downloader 5.1.0

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-edgar-downloader 5.1.0
File Size Uploaded
sec_edgar_downloader-5.1.0.tar.gz 33.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sec-edgar-downloader 5.1.0
File Interpreter ABI Platform
sec_edgar_downloader-5.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 48.5 kB

Release files / sec_edgar_downloader-5.1.0.tar.gz

Download URL sec_edgar_downloader-5.1.0.tar.gz
Size 33.6 kB
Tags Source
SHA-256 checksum
How to use checksums
cb7b1a152b2bce9da999d0893e3ec4482e1e8bc53c5ffba15edbae0acf547f6c
BLAKE2b-256 checksum
How to use checksums
891856eb50a6793750b8592ca22c91dcc6a3e3d849a3bf3cb12c2afc55454aa8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.32.5

Release files / sec_edgar_downloader-5.1.0-py3-none-any.whl

Download URL sec_edgar_downloader-5.1.0-py3-none-any.whl
Size 15.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2bcd2350b8c30f5bb710accfff55ebcf442e4ab9a7a7c5f2b410ffe265ff3269
BLAKE2b-256 checksum
How to use checksums
f34a6e769e04a8d7fa44edfe7f08aae3dd02bbcd2aaec9bd12559dbaddcb4b02
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.32.5

Release history Release notifications | RSS feed

This release

5.1.0 This release

2 release files

5.0.3

2 release files

5.0.2

2 release files

5.0.1

2 release files

5.0.0

2 release files

4.3.0

2 release files

4.2.2

2 release files

4.2.1

2 release files

4.2.0

2 release files

4.1.0

2 release files

4.0.3

2 release files

4.0.2

2 release files

4.0.1

2 release files

4.0.0

2 release files

3.0.5

2 release files

3.0.4

2 release files

3.0.3

2 release files

3.0.2

2 release files

3.0.1

2 release files

3.0.0

2 release files

2.2.1

2 release files

2.2.0

2 release files

2.1.0

2 release files

2.0.1

2 release files

2.0.0

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