# Requests (Python library)

23 Hacker News commenters recommended Requests (Python library) and 7 criticized it, November 2025 to November 2026. It was recommended in 8 of 13 months. It meets the Hacker Approved badge rule.

**Verdict:** The most-used HTTP client for Python, praised for a simpler API than the standard library. Critics say it is feature-frozen and lacks HTTP/2, HTTP/3 and async support.

## Why people recommend it

- Simpler, nicer API than urllib (6 comments): "it does actually have a few more things and ergonomic improvements over the builtin HTTP machinery" ([source](https://news.ycombinator.com/item?id=46033646)) "in Python you need a separate package like requests to avoid a clunky API" ([source](https://news.ycombinator.com/item?id=47599686)) "I tend to prefer requests to urllib2, as do most programmers" ([source](https://news.ycombinator.com/item?id=48263446))
- Widely used and familiar to programmers (4 comments): "Django, Pillow, Requests, BeautifulSoup, and pretty much every other library I use regularly" ([source](https://news.ycombinator.com/item?id=46371709)) "everybody uses the third-party requests instead of the stdlib urllib" ([source](https://news.ycombinator.com/item?id=47588618)) "I tend to prefer requests to urllib2, as do most programmers" ([source](https://news.ycombinator.com/item?id=48263446))
- Gold standard, stable PSF-maintained API (2 comments): "For years, Python's Requests library was the gold standard, but it has been under feature freeze." ([source](https://news.ycombinator.com/item?id=47362465)) "The requests packages fundamental API is good enough and is now maintained by the PSF." ([source](https://news.ycombinator.com/item?id=49478575))

## What people warn about

- Feature-frozen, no HTTP/2 or HTTP/3 (3 comments): "requests is effectively feature-frozen, but I really missed having support for newer standards like HTTP/2 and HTTP/3" ([source](https://news.ycombinator.com/item?id=46704781)) "It doesn't support HTTP/2, it doesn't support HTTP/3, it doesn't support async" ([source](https://news.ycombinator.com/item?id=49489615)) "does not support newer versions of HTTP, nor does it support async" ([source](https://news.ycombinator.com/item?id=49479566))
- No async support (2 comments): "It doesn't support HTTP/2, it doesn't support HTTP/3, it doesn't support async" ([source](https://news.ycombinator.com/item?id=49489615)) "does not support newer versions of HTTP, nor does it support async" ([source](https://news.ycombinator.com/item?id=49479566))
- Maintenance lags behind (2 comments): "third party stuff like requests or httpx, which aren't always well maintained" ([source](https://news.ycombinator.com/item?id=47515078)) "I guess they won't merge it until absolutely necessary for the 2.33 release." ([source](https://news.ycombinator.com/item?id=46404718))
- Heavy dependency with janky layers (2 comments): "requests is some janky layer onto of other janky layers" ([source](https://news.ycombinator.com/item?id=47515747)) "a dependency that comes with its own baggage" ([source](https://news.ycombinator.com/item?id=47766109))

## Alternatives hackers recommend

- [Axios](https://hackerapproved.com/p/axios.md): 21 recommend
- [Go net/http](https://hackerapproved.com/p/go-net-http.md): 12 recommend
- [libcurl](https://hackerapproved.com/p/libcurl.md): 10 recommend
- [httpx](https://hackerapproved.com/p/httpx.md): 10 recommend
- [Niquests](https://hackerapproved.com/p/niquests.md): 8 recommend

## Cite as

Hacker Approved, "Requests (Python library)", https://hackerapproved.com/p/requests/ (counts from 1,795,640 Hacker News comments, November 2025 to November 2026).
