Package: sec-edgar-downloader
sec-edgar-downloaderis a Python package for downloadingcompany filingsfrom theSEC EDGAR database.
Searches can be conducted either bystock tickerorCentral Index Key (CIK).
You can use theSEC CIK lookup toolif you cannot find an appropriate ticker.Quick StartInstallationInstall and update this package usingpip:$pipinstall-Usec-edgar-downloaderBasic Usagefromsec_edgar_downloaderimportDownloader# 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 Appledl.get("8-K","AAPL",limit=5)# Get all 10-K filings for Microsoftdl.get("10-K","MSFT")# Get the latest 10-K filing for Microsoftdl.get("10-K","MSFT",limit=1)# Get all 10-Q filings for Visadl.get("10-Q","V")# Get all 13F-NT filings for the Vanguard Groupdl.get("13F-NT","0000102909")# Get all 13F-HR filings for the Vanguard Groupdl.get("13F-HR","0000102909")# Get all SC 13G filings for Appledl.get("SC 13G","AAPL")# Get all SD filings for Appledl.get("SD","AAPL")Advanced Usagefromsec_edgar_downloaderimportDownloader# Download filings to the current working directorydl=Downloader("MyCompanyName","my.email@domain.com","/path/to/save/location")# Get all 10-K filings for Microsoft without the filing detailsdl.get("10-K","MSFT",download_details=False)# Get the latest supported filings, if available, for Appleforfiling_typeindl.supported_filings:dl.get(filing_type,"AAPL",limit=1)# Get the latest supported filings, if available, for a# specified list of tickers and CIKsequity_ids=["AAPL","MSFT","0000102909","V","FB"]forequity_idinequity_ids:forfiling_typeindl.supported_filings:dl.get(filing_type,equity_id,limit=1)Supported SEC Filing TypesThis 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 typeshere).
Below is an exhaustive list of all filings types that can be downloaded by this package:11-A1-A POS1-A-W1-E1-E AD1-K1-SA1-U1-Z1-Z-W10-12B10-12G10-D10-K10-KT10-Q10-QT11-K11-KT13F-HR13F-NT13FCONP14415-12B15-12G15-15D15F-12B15F-12G15F-15D18-12B18-K19B-4E2-A2-AF2-E20-F20FR12B20FR12G24F-2NT2525-NSE253G1253G2253G3253G43305B234-12H440-17F140-17F240-17G40-17GCS40-202A40-203A40-206A40-24B240-3340-6B40-8B2540-8F-240-APP40-F40-OIP40FR12B40FR12G424A424B1424B2424B3424B4424B5424B7424B8424H425485APOS485BPOS485BXT486APOS486BPOS486BXT487497497AD497H2497J497K56-K6B NTC6B ORDR8-A12B8-A12G8-K8-K12B8-K12G38-K15D58-M8F-2 NTC8F-2 ORDR9-MABS-15GABS-EEADN-MTLADV-EADV-H-CADV-H-TADV-NRANNLRPTAPP NTCAPP ORDRAPP WDAPP WDGARSATS-NATS-N-CATS-N/UAAWAW WDCC-ARC-AR-WC-TRC-TR-WC-UC-U-WC-WCBCERTCERTARCACERTBATSCERTCBOCERTNASCERTNYSCERTPACCFPORTALCFPORTAL-WCORRESPCT ORDERDDEF 14ADEF 14CDEFA14ADEFA14CDEFC14ADEFC14CDEFM14ADEFM14CDEFN14ADEFR14ADEFR14CDEL AMDFAN14ADFRN14ADOSDOSLTRDRSDRSLTRDSTRBRPTEFFECTF-1F-10F-10EFF-10POSF-1MEFF-3F-3ASRF-3DF-3DPOSF-3MEFF-4F-4 POSF-4MEFF-6F-6 POSF-6EFF-7F-7 POSF-8F-8 POSF-80F-80POSF-9F-9 POSF-NF-XFOCUSNFWPG-405G-405NG-FING-FINWIRANNOTICEMAMA-AMA-IMA-WMSDMSDCOMSDWN-1N-14N-14 8CN-14MEFN-18F1N-1AN-2N-23C-2N-23C3AN-23C3BN-23C3CN-2MEFN-30B-2N-30DN-4N-5N-54AN-54CN-6N-6FN-8AN-8B-2N-8FN-8F NTCN-8F ORDRN-CENN-CRN-CSRN-CSRSN-MFPN-MFP1N-MFP2N-PXN-QNO ACTNPORT-EXNPORT-NPNPORT-PNRSRO-CENRSRO-UPDNSAR-ANSAR-ATNSAR-BNSAR-BTNSAR-UNT 10-DNT 10-KNT 10-QNT 11-KNT 20-FNT N-CENNT N-MFPNT N-MFP1NT N-MFP2NT NPORT-EXNT NPORT-PNT-NCENNT-NCSRNT-NSARNTFNCENNTFNCSRNTFNSARNTN 10DNTN 10KNTN 10QNTN 20FOIP NTCOIP ORDRPOS 8CPOS AMPOS AMIPOS EXPOS462BPOS462CPOSASRPRE 14APRE 14CPREC14APREC14CPREM14APREM14CPREN14APRER14APRER14CPRRN14APX14A6GPX14A6NQRTLYRPTQUALIFREG-NRREVOKEDRWRW WDS-1S-11S-11MEFS-1MEFS-20S-3S-3ASRS-3DS-3DPOSS-3MEFS-4S-4 POSS-4EFS-4MEFS-6S-8S-8 POSS-BS-BMEFSC 13DSC 13E1SC 13E3SC 13GSC 14D9SC 14F1SC 14NSC TO-CSC TO-ISC TO-TSC13E4FSC14D1FSC14D9CSC14D9FSDSDRSESEC ACTIONSEC STAFF ACTIONSEC STAFF LETTERSF-1SF-3SLSP 15D2STOP ORDERSUPPLT-3TA-1TA-2TA-WTACOTHTTWUNDERUPLOADWDL-REQX-17A-5ContributingIf you encounter a bug or would like to see a new company filing or feature added tosec-edgar-downloader, pleasefile an issueorsubmit a pull request.DevelopmentIn 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-epy311# Run end-to-end integration tests$tox-eintegration# Lint$tox-elint# Validate documentation$tox-edocsReleaseIn order to create a new release, complete the following steps:Outline changes made in the new release inCHANGELOG.md.Bump the version in_version.pyand push change to master branch.Ensure all unit and integration tests pass locally and in the GitHub Actions testing workflow.Create and push tags for the latest version specified in_version.pyby runningmake tag.Once the tag is pushed, aGitHub Actions release workflowwill be kicked off that automatically creates the package artifacts and uploads them to PyPI.Create a new version based off of the published tag on theGitHub repository’s release page.DocumentationFor full documentation, please visitsec-edgar-downloader.readthedocs.io.