rateforge

One HTTP call
answers:allowed or not?

Distributed token buckets for your API, with tier mapping that doubles as your usage meter. No Redis, no Lua, no middleware.

Create your API

Free: 10k allow-calls/mo, 1 API, 3 plans.

token bucket - live
7/10
200
429
20 req/10s

GET /v1/allow?key=USER_KEY responds:

{ "allowed": true, "remaining": 7, "reset": 12 }

live demo - raise the load until requests bounce

GET http://localhost:8114/v1/allow?key=USER_KEY&cost=1

{
  "allowed":   true,
  "remaining": 999,
  "reset":     37
}

The decision, not a library.

Your service asks one question per request and gets a definitive answer: allowed now, how many remain, when the window resets. Any language, any runtime, nothing to install.

  • distributed buckets, consistent across instances
  • per-user-key limits, cost-aware (`cost=N`)
  • sub-millisecond answers from your region

Your pricing tiers, enforced at the door.

plans you define

free 100 req/day
pro 10k req/day
enterprise custom

Metering included

Every allow-call is usage data. Bill your own tiers from the same numbers RateForge enforces.

Keys in one curl

Issue user keys per plan. Shown once, stored hashed.

Per-key usage rollups

Analytics endpoint returns what every key consumed this window.

Stop maintaining a Redis cluster for a boolean.

RateForgeUpstash @RateLimitCloudflare WAF
You write the logic noyes (DIY)limited
Custom tier logic nativemanualno
Works off-edge any runtimeany runtimeedge only
Usage analytics built in yesnono
Entry price $0usage-based$5/mo

competitor positioning per public docs and pricing pages, 2026

“Deleted two hundred lines of Lua and an entire Redis instance. My paid tier meters itself now.”

Ines Caetano

Indie API developer

sample feedback

free tier

Ten thousand decisions, free.

Enough to rate-limit your side project for months.

Create your API