Skip to main content

Requests

Requests is a simple, yet elegant, HTTP library.

>>> 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 30M downloads / week— according to GitHub, Requests is currently depended upon by 1,000,000+ repositories. You may certainly put your trust in this code.

Downloads Supported Versions Contributors

Installing Requests and Supported Versions

Requests is available on PyPI:

$ python -m pip install requests

Requests officially supports Python 3.7+.

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

API Reference and User Guide available on Read the Docs

Read the Docs

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 (see this issue for more background):

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

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

git config --global fetch.fsck.badTimezone ignore

Kenneth Reitz Python Software Foundation

Metadata

Release files for myrequests 2.31.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for myrequests 2.31.1
File Size Uploaded
myrequests-2.31.1.tar.gz 109.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for myrequests 2.31.1
File Interpreter ABI Platform
myrequests-2.31.1-py310-none-any.whl Python 3.10 none any Details

Total release size: 172.0 kB

Release files / myrequests-2.31.1.tar.gz

Download URL myrequests-2.31.1.tar.gz
Size 109.4 kB
Tags Source
SHA-256 checksum
How to use checksums
a1d5f3b6ec934b26a0961ba3dbdf3a0ebb674991164f29ccfddd9c8003b2405e
BLAKE2b-256 checksum
How to use checksums
aaefc88735cdae04333147b8c3d4a2cfe801a33e46dc8360c37fbcb5a39c0f3d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.10.9

Release files / myrequests-2.31.1-py310-none-any.whl

Download URL myrequests-2.31.1-py310-none-any.whl
Size 62.6 kB
Tags Python 3.10
SHA-256 checksum
How to use checksums
5e3f48de2a0c09591b67445e9434e32542dddfd7f9d3e3fbc58bec0852a74d17
BLAKE2b-256 checksum
How to use checksums
e2976961a9a9da4ee3b561f8df68c62f38310217abccb0d10e168ba084eb7112
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.10.9

Release history Release notifications | RSS feed

This release

2.31.1 This release

2 release files

2.31.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page