# throttled/throttled

Package throttled implements rate limiting access to resources such as HTTP endpoints.

Repository: https://github.com/throttled/throttled
Canonical: https://ross.abutalabs.com/products/throttled-throttled
Language: Go
License: BSD-3-Clause
License Family: permissive
Last push: 2026-04-13T13:16:05+00:00

## Health v2 (maintenance only)
Score: 62/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 77, release rhythm 20, longevity 100
- inputs: {"age_days": 4578, "days_push": 142, "days_rel": 375, "gap_med": 105.5, "n_releases_24m": 3}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1595, forks 100 (observed 2026-08-28T04:05:09.072869+00:00)

## What it is
Throttled is a Go library that implements rate limiting using the generic cell rate algorithm (GCRA) to limit access to resources such as HTTP endpoints. It provides an HTTPLimiter wrapper for http.Handler plus pluggable in-memory and Redis-backed stores.

## Use cases
- rate limit http endpoints in go
- throttle api requests per client
- limit requests per path per minute
- add burst allowance to rate limiting
- rate limit using redis as shared store
- protect http handler from abuse

## When to choose
- you need GCRA-based rate limiting in a Go HTTP service
- you want a shared rate limit store across instances via Redis
- you need per-path or per-key throttling with burst control

## When to avoid
- you need rate limiting outside Go
- you need distributed token bucket with complex quotas or sliding windows beyond GCRA
- you need a standalone rate-limiting proxy

## Facets
- artifact type: library
- maturity: stable
- function: rate-limiting, middleware, http-server
- domain: web-development, backend, apis
- platform: go, windows, cross-platform
- tags: gcra, http-rate-limiting, redis-store, memstore, linux, macos

## Member repositories
- throttled/throttled (main) score 62

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:09.072869+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-30T03:54:09.371177+00:00, confidence not recorded.
  - readme: https://github.com/throttled/throttled (fetched 2026-08-28T04:05:09.072869+00:00, sha fda56860f2cb)
- Data as of 2026-08-30T08:39:29.467469+00:00.
