requests
Python HTTP for Humans.
Decision gist · record as of 2026-08-14
Yes. Requests is a foundational HTTP library with active maintenance, no known vulnerabilities, low install friction, and permissive licensing. It is the de facto standard for HTTP client work in Python and is appropriate for virtually any project that needs to make web requests. The only constraint is Python 3.10+, which is reasonable for modern development.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- Low install friction with a wheel distribution.
- Actively maintained with a recent release 92 days ago and continuous repository activity.
License · maintenance · safety
Apache-2.0 (permissive) — Apache-2.0 is a permissive license allowing commercial and private use with minimal restrictions, making this package suitable for most projects without licensing concerns.
last release 2026-05-14 (92 days) · last repo commit 2026-08-11 · 54,259 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,756,048,205 downloads/mo, #7 on PyPI
Alternatives
Verify before relying
import requests
r = requests.get('https://httpbin.org/basic-auth/user/pass', auth=('user', 'pass'))
print(r.status_code)
print(r.json())- Whether the package maintains backward compatibility across the Python versions it claims to support (3.10 through 3.15).
- Performance characteristics under high concurrency or streaming scenarios with large payloads.
What it is and what it does
Requests is a high-level HTTP client library that abstracts away the complexity of making web requests in Python. It handles URL encoding, request headers, authentication schemes (basic, digest), cookies, sessions, and response parsing automatically, so you can focus on your application logic rather than HTTP protocol details. The library manages connection pooling, TLS/SSL verification, and content decompression transparently.
It's designed for building applications that interact with REST APIs, web services, and other HTTP endpoints. The library supports streaming downloads, multi-part file uploads, SOCKS proxies, and timeouts. Its runtime dependencies (urllib3, certifi, charset_normalizer, idna) handle the lower-level concerns of socket management, certificate validation, character encoding, and internationalized domain names.
Use it for
- Fetch data from REST APIs with automatic JSON parsing and error handling.
- Build web scrapers that need to maintain sessions, handle cookies, and manage authentication.
- Send authenticated requests to protected endpoints using basic auth, digest auth, or custom headers.
- Upload files via multi-part form data to web services.
- Stream large responses without loading entire payloads into memory.
- Test HTTP endpoints in integration tests with simple, readable request syntax.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
Requests is a foundational HTTP library with active maintenance, no known vulnerabilities, low install friction, and permissive licensing. It is the de facto standard for HTTP client work in Python and is appropriate for virtually any project that needs to make web requests. The only constraint is Python 3.10+, which is reasonable for modern development.
Install
requests on PyPI
Before you install
Low install friction with a wheel distribution. Actively maintained with a recent release 92 days ago and continuous repository activity. Depends on four stable transport libraries (charset_normalizer, idna, urllib3, certifi) that handle URL parsing, encoding, and TLS verification.
Requires Python 3.10 or later.
License in practice
Apache-2.0 is a permissive license allowing commercial and private use with minimal restrictions, making this package suitable for most projects without licensing concerns.
Quickstart
import requests
r = requests.get('https://httpbin.org/basic-auth/user/pass', auth=('user', 'pass'))
print(r.status_code)
print(r.json())
Verify before relying
- Whether the package maintains backward compatibility across the Python versions it claims to support (3.10 through 3.15).
- Performance characteristics under high concurrency or streaming scenarios with large payloads.
Package facts
| License | Apache-2.0 permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 4 packagescharset_normalizeridnaurllib3certifi |
| Maintenance | Actively maintained 92 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,756,048,205 / month, #7 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: Web EnvironmentIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.15Programming Language :: Python :: Free Threading :: 2 - BetaProgramming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Internet :: WWW/HTTPTopic :: Software Development :: Libraries |
Evidence: requests-2.34.2-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “send http requests”
- requestsRequests is a Python HTTP library that simplifies sending HTTP/1.1…
- hellosign-python-sdkA Python wrapper for the HelloSign API that lets you send signature…
- opentelemetry-instrumentation-requestsAutomatically captures and traces HTTP requests made by the requests…
Give your agent the search over MCP, or paste the wish link into any chat.
More Libraries packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Provides parsing, arithmetic, and recurrence rule computation for dates and times, with timezone support and iCalendar RFC compliance.
Install it if you need to parse flexible date strings, compute relative dates, handle timezones, or work with recurrence rules—it's the de facto choice for these tasks.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.
iniconfig parses INI configuration files while preserving section and entry order, supporting multi-line values, comments, and raising errors with line numbers.
See also niquests · cookies · httpx · requests-unixsocket2 · httpcore · requests-unixsocket · WooCommerce · sharepy · httpbin