# jhurliman/node-rate-limiter

A generic rate limiter for node.js. Useful for API clients, web crawling, or other tasks that need to be throttled

Repository: https://github.com/jhurliman/node-rate-limiter
Canonical: https://ross.abutalabs.com/products/node-rate-limiter
Language: TypeScript
License: MIT
License Family: permissive
Last push: 2025-05-08T04:16:29+00:00

## Health v2 (maintenance only)
Score: 41/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 20, release rhythm 35, longevity 100
- inputs: {"age_days": 5386, "days_push": 482, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1564, forks 133 (observed 2026-08-28T04:05:04.186042+00:00)

## What it is
A generic rate limiting library for Node.js and the web, exposing RateLimiter and TokenBucket classes for throttling tasks like API requests or web crawling. It supports configurable intervals, burst rates, and both async and synchronous token removal.

## Use cases
- throttle api requests to stay under rate limits
- rate limit outgoing http requests in nodejs
- implement token bucket throttling with burst support
- return 429 responses when clients exceed limits
- slow down web crawling requests
- limit messages sent per second

## When to choose
- you need in-process rate limiting for API clients or crawlers in Node.js
- you want token bucket semantics with configurable burst and drip rates
- you need both async waiting and synchronous try-style token removal

## When to avoid
- you need distributed rate limiting shared across multiple servers or processes
- you need a reverse proxy or API gateway-level rate limiter
- you need persistent rate limit state across restarts

## Facets
- artifact type: library
- maturity: stable
- function: rate-limiting, caching
- domain: developer-tools, web-development, backend, apis
- platform: browser, cross-platform
- tags: token-bucket, throttling, api-client, web-crawling, typescript, nodejs

## Member repositories
- jhurliman/node-rate-limiter (main) score 41

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:04.186042+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T04:00:13.630336+00:00, confidence not recorded.
  - readme: https://github.com/jhurliman/node-rate-limiter (fetched 2026-08-28T04:05:04.186042+00:00, sha 05203440af98)
- Data as of 2026-08-30T08:39:29.467469+00:00.
