Gitpedia

Requests

A simple, yet elegant, HTTP library.

From psf·Updated June 1, 2026·View on GitHub·

**requests** is A simple, yet elegant, HTTP library. The project is written primarily in Python, distributed under the Apache License 2.0 license, first published in 2011. It has gained significant community traction with 54,014 stars and 9,934 forks on GitHub. Key topics include: client, cookies, forhumans, http, humans.

Latest release: v2.34.2
May 14, 2026View Changelog →

Requests

Version
Supported Versions
Downloads
Contributors
Documentation

Requests is a simple, yet elegant, HTTP library.

python
>>> import requests >>> r = requests.get('https://httpbin.org/basic-auth/user/pass', auth=('user', 'pass')) >>> r.status_code 200 >>> r.headers['content-type'] 'application/json; charset=utf8' >>> r.encoding 'utf-8' >>> r.text '{"authenticated": true, ...' >>> r.json() {'authenticated': True, ...}

Requests allows you to send HTTP/1.1 requests extremely easily. There’s no need to manually add query strings to your URLs, or to form-encode your PUT & POST data — but nowadays, just use the json method!

Requests is one of the most downloaded Python packages today, pulling in around 300M downloads / week — according to GitHub, Requests is currently depended upon by 4,000,000+ repositories.

Installing Requests and Supported Versions

Requests is available on PyPI:

console
$ python -m pip install requests

Requests officially supports Python 3.10+.

Supported Features & Best–Practices

Requests is ready for the demands of building robust and reliable HTTP–speaking applications, for the needs of today.

  • Keep-Alive & Connection Pooling
  • International Domains and URLs
  • Sessions with Cookie Persistence
  • Browser-style TLS/SSL Verification
  • Basic & Digest Authentication
  • Familiar dict–like Cookies
  • Automatic Content Decompression and Decoding
  • Multi-part File Uploads
  • SOCKS Proxy Support
  • Connection Timeouts
  • Streaming Downloads
  • Automatic honoring of .netrc
  • Chunked HTTP Requests

Cloning the repository

When cloning the Requests repository, you may need to add the -c fetch.fsck.badTimezone=ignore flag to avoid an error about a bad commit timestamp (see
this issue for more background):

shell
git clone -c fetch.fsck.badTimezone=ignore https://github.com/psf/requests.git

You can also apply this setting to your global Git config:

shell
git config --global fetch.fsck.badTimezone ignore

Kenneth Reitz Python Software Foundation

Contributors

Showing top 12 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from psf/requests via the GitHub API.Last fetched: 6/1/2026