Rate limiter that supports a rolling window, either in-memory or backed by Redis
A generic rate limiter for the web and node.js. Useful for API clients, web crawling, or other tasks that need to be throttled
Node.js atomic and non-atomic counters, rate limiting tools, protection from DoS and brute-force attacks at scale
Rolling Rate Limiter is a module for Node.js which provides a basic, but a solid rate limiter using sliding windows stored in Redis.
Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.
Rate limit middleware for Hono.
Connect rate limiter
Simple in-memory rate-limit for Node.
<div align="center">
Highly configurable and extensible rate limiter library
A rate limiter component for Convex. Define and use application-layer rate limits. Type-safe, transactional, fair, safe, and configurable sharding to scale.
Cloudflare stores and helper functions for hono-rate-limiter.
This plugins uses [`graphql-rate-limit`](https://github.com/teamplanes/graphql-rate-limit#readme) in order to limit the rate of calling queries and mutations.
A modular rate limiter for SvelteKit. Use in password resets, account registration, etc.
IP rate-limiting middleware for Koajs 2. Use to limit repeated requests to APIs and/or endpoints such as password reset.
A generic rate limiter for the web and node.js. Useful for API clients, web crawling, or other tasks that need to be throttled
Rate limiting package for AdonisJS framework
JS/TS library that allows you to set per - time, per - user or per - anything limits for calling Firebase cloud functions
Promise-based utility to make sure you don’t call rate-limited APIs too quickly.
asynchronous function queue with adjustable concurrency
High-performance, flexible rate limiting for TypeScript and Bun
rate limiter middleware for express applications
A low overhead rate limiter for your routes
Rate limit for axios
Often Redis is used for rate limiting purposes. Usually the rate limit packages available count how many times something happens on a certain second or a certain minute. When the clock ticks to the next minute, rate limit counter is reset back to the zero. This might be problematic if you are looking to limit rates where hits per integration time window is very low. If you are looking to limit to the five hits per minute, in one time window you get just one hit and six in another, even though the average over two minutes is 3.5. This package allows you to implement a correct rolling window of threshold that's backed by ATOMIC storage in Redis meaning you can use this implementation across multiple machines and processes.
Uses redis sorted sets to allow easy rate limiting