OSPulse

Is requests healthy, maintained, and safe?

55/ 100
requestsv2.34.2
Medium riskconfidence: Highview on pypi.org

Maintained, but watch it — requests has real signals (drift, thin maintenance, or advisories) worth tracking.

vital-signs traceirregular · weakening

The verdict

OSPulse scores requests at 55/100 (medium risk), computed deterministically from live PyPI release history, and the OSV vulnerability database. Maintained, but watch it — requests has real signals (drift, thin maintenance, or advisories) worth tracking.

Its most recent release shipped on 14 May 2026 — 75 days ago — so development is clearly active. Across 158 releases the cadence has been steady, which is a good sign of an ongoing maintenance rhythm. PyPI doesn't expose a reliable maintainer count, so bus-factor isn't scored here — treat maintenance depth as unknown rather than assumed.

OSV lists 16 known advisories for requests, including 1 high. Review whether your version is in the affected range and whether a fixed release is available before depending on it. Each advisory is listed with its OSV/GHSA identifier below.

requests is usable but carries real signals — pin versions, watch for new advisories, and keep a fallback in mind. This is a one-time snapshot of a single package — real projects depend on dozens or hundreds of packages, and any one of them can drift or be compromised between releases. Run your own requirements.txt through the free health check, or have OSPulse monitor your whole dependency tree continuously.

Evidence trail — deterministic, auditable

Last release recency
75 days ago · active
Release cadence
steady · typical gap ~9d
Maintainer bus factor
not available from PyPI — not penalised
Known vulnerabilities (OSV)
16 advisories · 1 high
-45
Package age
15.5 years · 158 releases

Known vulnerabilities (16)

  • GHSA-652x-xj99-gmccMODERATECVE-2014-1830PYSEC-2014-14

    Exposure of Sensitive Information to an Unauthorized Actor in Requests

  • GHSA-9hjg-9r4m-mvj7MODERATECVE-2024-47081PYSEC-2026-1872

    Requests vulnerable to .netrc credentials leak via malicious URLs

  • GHSA-9wx4-h78v-vm56MODERATECVE-2024-35195PYSEC-2026-1873

    Requests `Session` object does not verify requests after making first request with verify=False

  • GHSA-cfj3-7x9c-4p3hMODERATECVE-2014-1829PYSEC-2014-13

    Exposure of Sensitive Information to an Unauthorized Actor in Requests

  • GHSA-gc5v-m9x4-r6x2MODERATECVE-2026-25645PYSEC-2026-2275

    Requests has Insecure Temp File Reuse in its extract_zipped_paths() utility function

  • GHSA-j8r2-6x86-q33qMODERATECVE-2023-32681PYSEC-2023-74

    Unintended leak of Proxy-Authorization header in requests

  • GHSA-pg2w-x9wp-vw92MODERATECVE-2015-2296PYSEC-2015-17

    Python Requests Session Fixation

  • GHSA-x84v-xcm2-53pgHIGHCVE-2018-18074PYSEC-2018-28

    Insufficiently Protected Credentials in Requests

  • PYSEC-2014-13UNKNOWNCVE-2014-1829GHSA-cfj3-7x9c-4p3h

    Requests (aka python-requests) before 2.3.0 allows remote servers to obtain a netrc password by reading the Authorization header in a redirected request.

  • PYSEC-2014-14UNKNOWNCVE-2014-1830GHSA-652x-xj99-gmcc

    Requests (aka python-requests) before 2.3.0 allows remote servers to obtain sensitive information by reading the Proxy-Authorization header in a redirected request.

  • PYSEC-2015-17UNKNOWNCVE-2015-2296GHSA-pg2w-x9wp-vw92

    The resolve_redirects function in sessions.py in requests 2.1.0 through 2.5.3 allows remote attackers to conduct session fixation attacks via a cookie without a host value in a redirect.

  • PYSEC-2018-28UNKNOWNCVE-2018-18074GHSA-x84v-xcm2-53pg

    The Requests package before 2.20.0 for Python sends an HTTP Authorization header to an http URI upon receiving a same-hostname https-to-http redirect, which makes it easier for remote attackers to dis

  • PYSEC-2023-74UNKNOWNCVE-2023-32681GHSA-j8r2-6x86-q33q

    Requests is a HTTP library. Since Requests 2.3.0, Requests has been leaking Proxy-Authorization headers to destination servers when redirected to an HTTPS endpoint. This is a product of how we use `re

  • PYSEC-2026-1872LOWCVE-2024-47081GHSA-9hjg-9r4m-mvj7

    Requests vulnerable to .netrc credentials leak via malicious URLs

  • PYSEC-2026-1873LOWCVE-2024-35195GHSA-9wx4-h78v-vm56

    Requests `Session` object does not verify requests after making first request with verify=False

  • PYSEC-2026-2275LOWCVE-2026-25645GHSA-gc5v-m9x4-r6x2

    Requests is a HTTP library. Prior to version 2.33.0, the `requests.utils.extract_zipped_paths()` utility function uses a predictable filename when extracting files from zip archives into the system te

Key facts

Latest version
v2.34.2
Last release
14 May 2026 (75 days ago)
Total releases
158
First release
14 February 2011
Package age
15.5 years
Maintainers
not exposed by PyPI
Known advisories
16
Confidence
High

Frequently asked

Is requests still maintained?

Yes — requests released as recently as 14 May 2026 (75 days ago), so it is actively maintained.

Does requests have known security vulnerabilities?

Yes — OSV lists 16 advisories for requests. See the advisory list on this page for the OSV/GHSA identifiers.

Is requests safe to use?

Maintained, but watch it — requests has real signals (drift, thin maintenance, or advisories) worth tracking. OSPulse rates it 55/100 (medium risk) based on release recency, cadence and known vulnerabilities.

Alternatives to requests

Other PyPI packages we've checked

Browse all checked packages →

requests is one package. What about the other hundreds in your tree?

Paste your own requirements.txt into the free health check for an instant snapshot — or let OSPulse monitor your whole dependency tree continuously, before your CVE scanner wakes up.

Data from the PyPI registry & OSV.dev · snapshot generated 2026-07-28 · scores are deterministic and recomputed on each refresh.