awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
jhurliman avatar

jhurliman/node-rate-limiter

0
View on GitHub↗
1,561 stars·134 forks·TypeScript·MIT·9 views

Node Rate Limiter

Node-rate-limiter is a utility library for Node.js designed to throttle both incoming and outgoing traffic using configurable time intervals and token bucket limits. It protects server capacity and backend APIs by capping the number of requests an individual client can make within a specified time window, while also controlling the frequency of outbound API calls and web crawling tasks to avoid triggering remote rate limit violations.

The library implements a token-bucket rate limiting algorithm with continuous replenishment, allowing administrators to configure specific burst and drip rates. This enables short surges of traffic while maintaining a steady long-term throughput capacity. It calculates request permissions dynamically against sliding or fixed time intervals to enforce strict usage quotas.

State management is handled locally in memory for synchronous lookups during request validation. The engine also provides non-consuming inspection methods that allow callers to check remaining token counts and allowance thresholds without mutating the underlying rate limit state, supporting conditional execution decisions based on limits.

Features

  • Token Bucket Throttlers - Implements a token bucket rate limiting algorithm with continuous replenishment to cap long-term throughput.
  • Rate Limiters - Provides a Node.js utility for throttling incoming and outgoing traffic using time intervals and token buckets.
  • Traffic Burst Management - Allows configuring specific burst and drip rates to permit short surges of traffic while maintaining steady throughput.
  • Per-Client Request Throttlers - Caps how many requests an individual client can make within a specified time window to protect server capacity.
  • Request Throttling - Controls the frequency of outbound API calls and web crawling tasks to prevent remote rate limit violations.
  • Time-Windowed Limits - Calculates request permissions dynamically over sliding or fixed time windows to enforce strict usage quotas.
  • Middleware Rate Limiters - Provides rate limiting middleware that protects server capacity by capping client requests within time windows.
  • API Rate Limiting - Protects backend servers and Node.js APIs from overload by capping incoming request volume within time windows.
  • In-Memory State Management - Maintains client token counts and timestamps in volatile memory for fast synchronous lookups during request validation.
  • Outgoing Throttling - Controls outbound traffic frequency for API requests and web crawling tasks to avoid rate limit errors.
  • State Inspections - Provides accessor methods to check remaining allowance thresholds without mutating the underlying rate limit state.
  • Token Capacity Checks - Allows callers to inspect remaining token counts and thresholds without consuming tokens.

Star history

Star history chart for jhurliman/node-rate-limiterStar history chart for jhurliman/node-rate-limiter

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Node Rate Limiter

Similar open-source projects, ranked by how many features they share with Node Rate Limiter.
  • kickstarter/rack-attackkickstarter avatar

    kickstarter/rack-attack

    5,744View on GitHub↗

    This project is a Rack middleware rate limiter and application layer firewall for Ruby web applications. It serves as a security layer to throttle and block HTTP requests based on custom rules, protecting web servers from abusive traffic. The system provides capabilities for IP blocking and the banning of malicious clients. It implements request safelisting to bypass restrictions for trusted users and uses time-windowed rate limiting to control request frequency. The middleware covers traffic management and monitoring, including the ability to track request patterns and instrument traffic ev

    Ruby
    View on GitHub↗5,744
  • rack/rack-attackrack avatar

    rack/rack-attack

    5,746View on GitHub↗

    Rack-attack is a middleware rate limiter and request filter for the Rack interface. It provides a system for throttling HTTP requests and maintaining IP address blocklists to protect applications from malicious traffic and denial-of-service attacks. The project enables application layer DDoS mitigation and API rate limit management by identifying and rejecting requests from banned clients or abusive IP addresses. It allows for the definition of safelists to bypass filters and uses custom logic to determine if a client should be blocked or throttled. The tool covers comprehensive traffic mana

    Rubyrackrack-attackrack-middleware
    View on GitHub↗5,746
  • express-rate-limit/express-rate-limitexpress-rate-limit avatar

    express-rate-limit/express-rate-limit

    3,265View on GitHub↗

    This project is a middleware for the Express web framework designed to restrict request frequency and protect server capacity. It functions as a traffic throttler that intercepts incoming requests to evaluate and enforce limits based on client identity within defined time windows. The system distinguishes itself through a pluggable data store pattern that allows for distributed rate limiting. By delegating hit count storage to external databases, it ensures consistent request tracking across multiple server instances and maintains state across process restarts. The library provides comprehen

    TypeScriptapiexpressexpress-js
    View on GitHub↗3,265
  • hu17889/go_spiderhu17889 avatar

    hu17889/go_spider

    1,821View on GitHub↗

    Go Spider is a modular framework designed for building concurrent web scrapers and data extraction workflows. It provides a structured engine for orchestrating automated crawling tasks, managing request scheduling, and processing web content through a unified pipeline. The framework distinguishes itself through a highly configurable architecture that allows developers to inject custom logic for downloaders, schedulers, and storage components via interface-driven contracts. It manages network interactions using middleware-based request throttling and URL deduplication, ensuring that crawling o

    Gocrawlergopipeline
    View on GitHub↗1,821
See all 30 alternatives to Node Rate Limiter→

Frequently asked questions

What does jhurliman/node-rate-limiter do?

Node-rate-limiter is a utility library for Node.js designed to throttle both incoming and outgoing traffic using configurable time intervals and token bucket limits. It protects server capacity and backend APIs by capping the number of requests an individual client can make within a specified time window, while also controlling the frequency of outbound API calls and web crawling tasks to avoid triggering remote rate limit violations.

What are the main features of jhurliman/node-rate-limiter?

The main features of jhurliman/node-rate-limiter are: Token Bucket Throttlers, Rate Limiters, Traffic Burst Management, Per-Client Request Throttlers, Request Throttling, Time-Windowed Limits, Middleware Rate Limiters, API Rate Limiting.

What are some open-source alternatives to jhurliman/node-rate-limiter?

Open-source alternatives to jhurliman/node-rate-limiter include: kickstarter/rack-attack — This project is a Rack middleware rate limiter and application layer firewall for Ruby web applications. It serves as… rack/rack-attack — Rack-attack is a middleware rate limiter and request filter for the Rack interface. It provides a system for… express-rate-limit/express-rate-limit — This project is a middleware for the Express web framework designed to restrict request frequency and protect server… hu17889/go_spider — Go Spider is a modular framework designed for building concurrent web scrapers and data extraction workflows. It… thinkany-ai/rag-search — This project provides a search service designed to retrieve and rerank web content for use in large language model… jimmylv/bibigpt — BibiGPT v1 · one-Click AI Summary for Audio/Video & Chat with Learning Content: Bilibili | YouTube |…

Curated searches featuring Node Rate Limiter

Hand-picked collections where Node Rate Limiter appears.
  • Flow control patterns