Skip to content

Releases: jadchaar/sec-edgar-downloader

Version 5.0.2

08 Oct 05:34
4e5d100
Compare
Choose a tag to compare

New

  • Added official support for Python 3.12.

Fixed

  • Fixed a bug that prevented filing types ending in A (e.g. DEF 14A, 2-A, N-54A) from downloading.

Version 5.0.1

30 Sep 19:44
dce4203
Compare
Choose a tag to compare

Fixed

  • Fixed download errors for CIKs containing trailing zeros.

Version 5.0.0

04 Sep 08:29
52e15da
Compare
Choose a tag to compare

New

  • Full package re-write to harness the SEC's new, official Edgar API.
  • Added Formal rate-limiting integration using pyrate-limiter to reduce the chances of surpassing the SEC's 10 requests per second fair access policy.
    • The underlying rate-limiter will apply a delay to all requests that surpass the 10 requests per second rate for a maximum delay of 60 seconds before raising an exception.
  • Added support for declaring a company name and email to comply with the SEC's fair access guidelines for declaring a user-agent of the form: Sample Company Name AdminContact@<sample company domain>.com.
    • More info on this policy can be found here

Changed

  • Dropped support for Python 3.6 and 3.7 as they have reached end-of-life. This package now supports Python 3.8+.

Version 4.3.0

21 Dec 06:23
Compare
Choose a tag to compare
  • Add official support for Python 3.10.
  • Pass Accept-Encoding: gzip, deflate and Host: www.sec.gov headers into all requests as recommended by the SEC fair access rules: https://www.sec.gov/os/accessing-edgar-data. This should lead to smaller request sizes as all requests are now gzipped. It should also help with 403 Forbidden errors since the package is now conforming with the entire suite of fair access rules.

Version 4.2.2

15 Jul 01:18
edea397
Compare
Choose a tag to compare

New

  • CIKs are now automatically zero-padded to 10 digits to ensure that filings are accurately retrieved by the SEC Edgar system. For example, passing either "0000789019" or "789019" (the CIK for MSFT) to get() will yield equivalent results:
>>> dl.get("10-K", "0000789019", amount=1)
1
>>> dl.get("10-K", "789019", amount=1)
1

Fixed

  • Updated the User-Agent header to comply with new SEC Edgar Fair Access requirements. This should resolve the 403 network errors some users are encountering when downloading a significant number of filings.

Changed

  • A ValueError is now raised when a CIK of length >10 or a blank ticker/CIK is passed to get().

Version 4.2.1

06 Jul 22:37
24d78f8
Compare
Choose a tag to compare

Fixed

  • Anchor links inside of filings are now resolved correctly. Fragments and external links should now function as intended.
  • Renamed requirements.txt to requirements-dev.txt in order to prevent confusion with the dependencies listed in setup.py.

Version 4.2.0

20 May 02:12
Compare
Choose a tag to compare

New

  • The httpx package has been replaced by requests to enable the use of an exponential backoff retry mechanism to help alleviate 403 Forbidden errors some users are seeing. A request to sec.gov will be retried at most 10 times (with an exponential backoff applied to each request) before failing.
  • A random User-Agent string is now included in the headers of each GET and POST request to sec.gov, rather than per session.

Version 4.1.0

09 May 04:47
Compare
Choose a tag to compare

New

  • HTTP connections are now re-used when possible (using httpx.Client()) to improve download performance.

Fixed

  • Requests are now retried at most 5 times if a request fails. This should solve the 500 Server Errors that some users are experiencing when downloading a large number of filings.

Changed

  • Replaced the internal requests package with httpx, a more modern and performant alternative.

Version 4.0.3

06 Apr 19:34
Compare
Choose a tag to compare

Fixed

  • Fixed a 403 Client Error that could randomly occur when bulk downloading a large number of filings. This error was most likely caused by recent changes to SEC rate-limiting behavior. It has been fixed by including a random user-agent string, generated by the Faker package, in the request headers.

Version 4.0.2

18 Feb 06:38
960be96
Compare
Choose a tag to compare

Fixed

  • Fixed a RecursionError that could occur when downloading older filings with the download_details flag set to true. Thanks to @neilbartlett for reporting and fixing this bug!