API Management for
Backend Teams

Rate limiting, API controls, usage visibility, and observability — without the operational complexity of a traditional API gateway. Update policies live, with no redeploys or delays.

works with

FastAPIExpressFastifyHonobeta

the problem

The old way has too many
moving parts.

Most teams bolt on observability after the fact — and end up maintaining more infrastructure than their actual product.

Without Ratelane
  • Spin up and manage monitoring infrastructure
  • Redeploy your server just to change a rate limit
  • API goes down — you restart and hope for the best
  • No visibility into which instance is stale or out of sync
With Ratelane
  • No infra, no setup, no maintenance
  • Policy updates propagate in 10s, zero redeploys
  • Emergency Profile auto-activates — your API keeps running
  • Fleet view shows every instance, sync status, live

features

Everything your API needs.
Nothing you have to manage.

All enforcement happens locally inside your app — no live network call at request time.

Fleet visibility

prod-1 — synced 3s ago
prod-2 — synced 1s ago
staging — stale 2m ago

Every instance, sync status, and policy state — live.

Live policy updates

rate_limit: 60 → 20
propagated to 3 instances in 8s

Change limits from the dashboard. Propagates in under 10s. No redeploy.

Emergency Profile

⚠ policy server unreachable
→ emergency profile active
→ api still running

Auto-fallback when your policy server goes unreachable.

IP allow / deny lists

deny 192.168.1.0/24
allow 10.0.0.1

Block or allowlist exact IPs or CIDR ranges, per route or globally.

Circuit breaker

errors: 5/5 threshold
circuit open — 6s cooldown
→ auto-recover after cooldown

Auto-trip on error spikes, auto-recover after cooldown.

Request size limits

Content-Length: 52mb
413 payload too large

Reject oversized payloads before they hit your app.

Geo-blocking

blocked CN, RU
request from CN → 403

Block regions per route. Enforced locally, no live network call.

Per-route timeouts

/api/payments timeout: 3000ms
408 request timeout

Set timeout thresholds per endpoint. Terminate before cascade.

Analytics & logs

p50: 42ms p95: 180ms
error rate: 0.3%

Latency percentiles, error rates, and logs — per instance or fleet-wide.

CORS control

allowed: app.ratelane.dev
origin blocked: evil.com

Manage allowed origins from the dashboard, no app changes needed.

how it works

Up and running
in under 5 minutes.

No infrastructure changes. No new services to manage. Just install, configure, and go.

framework:
01

Install the SDK

One install command. No config files, no infrastructure to set up. Works with your existing app out of the box.

pip install ratelane-sdk
02

Add the middleware

Three lines of code. The SDK handles telemetry, policy sync, and enforcement — all non-blocking, all local.

from ratelane import RatelaneMiddleware, RatelaneConfig

app.add_middleware(
  RatelaneMiddleware,
  config=RatelaneConfig(
    api_key="sk_live_...",
    collector_url="https://api.ratelane.dev",
    fastapi_app=app,
    # instance_version="1.0.0",  // optional
  )
)
03

Control everything from the dashboard

Change rate limits, disable routes, block regions, and watch your fleet in real time — no redeploy ever again.

Get started free
fleet status3 instances live
prod-1
v12synced
prod-2
v12synced
staging
v11stale
rate limit20 req/min → 60 req/min
propagated in8s — no redeploy

try it live

This is what Ratelane
actually does.

Drag the rate limit, disable a route, block a region, trip a circuit breaker — watch it apply instantly, across your whole fleet.

live requestsstreaming
policy controls
Rate limit20 req/min
Max request size512 KB

Requests exceeding this are rejected with 413 before reaching your app.

Routes
response preview
Waiting for requests...
traffic by regionclick a region to block it everywhere
USUS — 0 reqININ — 0 reqDEDE — 0 reqBRBR — 0 reqCNCN — 0 reqRURU — 0 reqGBGB — 0 reqSGSG — 0 reqCACA — 0 reqAUAU — 0 req

Built so nothing depends on us.

Every part of Ratelane's design starts from the same premise: your API's reliability and data should never be in anyone's hands but yours.

See full security details

Zero live dependency

Ratelane enforces policy from a locally cached copy on your own infra, refreshed continuously in the background. There's no live network call in your request path — ever. Your API's uptime is never tied to a round-trip to us.

Nothing but the shape of your traffic

Ratelane never touches your request or response data. The only thing that ever reaches us is route-level telemetry — which endpoint, how long it took, what status came back — never bodies, never headers, never payloads. And it never adds latency to a live request, however it's delivered.

Isolated by account, always

Every policy, instance, and log is scoped strictly to your account at the data layer. There's no cross-account visibility, by architecture, not just by permission check.

pricing

Simple pricing.
Scales with your fleet.

MonthlyYearly2 months free

Free

For side projects and testing

$0
  • 2 instances
  • 5 saved policies
  • 24h logs & analytics retention
  • 1 team member
  • Community support
Get started free
Most popular

Pro

For production APIs

$15/month
  • Everything in Free, plus:
  • 5 instances
  • 15 saved policies
  • 7 day logs & analytics retention
  • 3 team members
  • 48h email support
Choose Pro

Enterprise

For teams at scale

$60/month
  • Everything in Pro, plus:
  • 20 instances
  • 50 saved policies
  • 30 day logs & analytics retention
  • 20 team members
  • Extra members: $1/user/month add-on
  • Priority support + uptime SLA
Choose Enterprise

Custom

For large-scale deployments

Custom
  • Everything in Enterprise, plus:
  • Unlimited instances
  • Unlimited saved policies
  • 90 day log retention
  • SSO / SAML
  • Audit logs
  • Dedicated Slack support
  • Custom SLA & billing
Contact us

roadmap

Shipped, shipping,
and next in line.

No dates, no promises we can't keep. Just what's done and what we're building.

ratelane — git log
$git log --graph --oneline --all
10 merged1 in progress2 queued

Push new limits from the dashboard. Propagates to all instances in under 10s, no redeploy.

Auto-activates a cached fallback policy if the policy server goes unreachable. API keeps running.

Every instance, sync status, and policy state — live. See who's stale or on Emergency Profile.

Exact IPs or CIDR ranges, per route or globally. Reject oversized payloads before they hit your app.

Auto-trip on error spikes, auto-recover after cooldown. Per-route, sliding window.

Latency percentiles, error rates, and filterable logs — per instance or fleet-wide.

Email alerts for Emergency Profile triggers, stale instances, rate spikes, and error spikes.

Invite teammates by email. Managers get everything except billing, and can be limited to specific instances.

Group routes that should behave the same. One set of limits, IP rules and circuit breaker for all of them, and a route can still override its group.

@ratelane/astro adds middleware and a per-route wrapper for Astro apps.

Bring Ratelane to Flask and other WSGI frameworks beyond FastAPI/Starlette.

Block or allow regions per route. Enforced locally, no live network call at request time.

Visual drag-and-drop UI for building and previewing policies without touching config.

$ more coming — we ship weekly.