httpx-limiter
A lightweight package that provides rate-limited httpx transports.
Decision gist · record as of 2026-08-14
Yes, if you need async rate limiting for httpx. Install friction is low, maintenance is active, and the license is permissive. The pre-alpha status (Development Status :: 2) means the API may change, so pin the version in production. No known vulnerabilities. Choose this if you're already using httpx and need straightforward rate limiting; if you need synchronous rate limiting, this package does not support it.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later; async/await context required; pyrate-limiter backend depends on multiprocessing which may not be available in all environments.
- Low friction install with only two runtime dependencies (httpx and typing-extensions).
- Active maintenance with recent commits and no known vulnerabilities.
License · maintenance · safety
Apache-2.0 (permissive) — Apache-2.0 permissive license allows commercial and private use with minimal restrictions; you must include a copy of the license and state significant changes.
last release 2026-05-01 (105 days) · last repo commit 2026-08-12 · 48 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 82,010 downloads/mo, #14,189 on PyPI
Alternatives
Verify before relying
pip install httpx-limiter
import httpx
from httpx_limiter import AsyncRateLimitedTransport, Rate
from httpx_limiter.pyrate import PyrateAsyncLimiter
limiter = PyrateAsyncLimiter.create(Rate.create(magnitude=20))
async with httpx.AsyncClient(
transport=AsyncRateLimitedTransport.create(limiter=limiter)
) as client:
response = await client.get("https://example.com")- Whether aiolimiter backend is available as an optional extra and what its availability constraints are.
- Specific behavior differences and performance characteristics between aiolimiter and pyrate-limiter backends in production scenarios.
- Whether the pre-alpha status indicates planned breaking changes to the public API.
What it is and what it does
httpx-limiter wraps httpx's async HTTP client with rate-limiting transports that enforce request quotas. It sits between your client and the network, intercepting requests to ensure they respect configured rate limits—useful when calling APIs that have strict quotas or when you need to avoid overwhelming downstream services.
The package offers two backend implementations: aiolimiter (lightweight, single rate limit per transport) and pyrate-limiter (supports multiple concurrent limits, e.g., 10 per second and 100 per minute). You can apply a single global rate limit to all requests or use a repository pattern to assign different limits based on request properties like domain. The leaky bucket algorithm governs token refresh, with important caveats about burst behavior documented in the package.
Use it for
- Throttle requests to a rate-limited API endpoint to stay within its quota without manual backoff logic.
- Apply different rate limits to different domains when making concurrent requests to multiple services.
- Enforce both per-second and per-minute rate limits simultaneously on a single client.
- Prevent request bursts by configuring magnitude and duration to allow only one request at a time.
- Integrate rate limiting into async web scraping or data collection pipelines.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need async rate limiting for httpx.
Install friction is low, maintenance is active, and the license is permissive. The pre-alpha status (Development Status :: 2) means the API may change, so pin the version in production. No known vulnerabilities. Choose this if you're already using httpx and need straightforward rate limiting; if you need synchronous rate limiting, this package does not support it.
Install
httpx-limiter on PyPI
Before you install
Low friction install with only two runtime dependencies (httpx and typing-extensions). Active maintenance with recent commits and no known vulnerabilities. Pre-alpha status indicates the API may still evolve.
Requires Python 3.10 or later; async/await context required; pyrate-limiter backend depends on multiprocessing which may not be available in all environments.
License in practice
Apache-2.0 permissive license allows commercial and private use with minimal restrictions; you must include a copy of the license and state significant changes.
Quickstart
pip install httpx-limiter
import httpx
from httpx_limiter import AsyncRateLimitedTransport, Rate
from httpx_limiter.pyrate import PyrateAsyncLimiter
limiter = PyrateAsyncLimiter.create(Rate.create(magnitude=20))
async with httpx.AsyncClient(
transport=AsyncRateLimitedTransport.create(limiter=limiter)
) as client:
response = await client.get("https://example.com")
Verify before relying
- Whether aiolimiter backend is available as an optional extra and what its availability constraints are.
- Specific behavior differences and performance characteristics between aiolimiter and pyrate-limiter backends in production scenarios.
- Whether the pre-alpha status indicates planned breaking changes to the public API.
Package facts
| License | Apache-2.0 permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packageshttpxtyping-extensions |
| Maintenance | Actively maintained 105 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 82,010 / month, #14,189 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 2 - Pre-AlphaEnvironment :: Web EnvironmentIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Internet :: WWW/HTTPTyping :: Typed |
Evidence: httpx_limiter-0.6.1-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 › “rate limiter for httpx”
- httpx-limiterProvides rate-limited HTTP transports for httpx clients, supporting…
- httpxthrottlecacheWraps HTTPX with built-in rate limiting and caching transports,…
- pyrate-limiterPyrateLimiter implements the Leaky-Bucket rate-limiting algorithm…
Give your agent the search over MCP, or paste the wish link into any chat.
More WWW/HTTP 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.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
h11 is a pure-Python HTTP/1.1 protocol implementation that handles parsing and serializing HTTP messages without any built-in I/O, letting you integrate it with any network layer you choose.
HTTPX is a fully featured HTTP client library for Python that provides both sync and async APIs, with support for HTTP/1.1 and HTTP/2, plus an integrated command-line client.
Install it if you are building new projects or modernizing existing ones that rely on HTTP.
A minimal low-level HTTP client library that sends HTTP requests with thread-safe and task-safe connection pooling, supporting HTTP/1.1, HTTP/2, proxies, and both sync and async interfaces.
aiohttp is an async HTTP client and server framework built on asyncio, supporting both WebSockets and middleware-based routing for building concurrent web applications.
Install it if you need async HTTP client or server capabilities in asyncio-based applications.
See also httpxthrottlecache · requests-ratelimiter · asynciolimiter · pyrate-limiter · fastapi-limiter · rush · Flask-Limiter · aiolimiter · limits · aiometer