Per-User Limits
Apply rate limits per API key, per user, or per endpoint — with a single click or full TypeScript customization.
Protect your APIs from abuse and ensure fair usage with flexible, programmable rate limiting that works at the edge.
Apply rate limits per API key, per user, or per endpoint — with a single click or full TypeScript customization.
Rate limiting decisions are made at the edge, not at your origin, keeping your backend protected and fast.
Store tier information in API key metadata and apply different limits to free vs. paid customers automatically.
Configure rate limits per API, per route, per user, or per API key with simple JSON configuration. No cURL commands or complex DSLs required.
Learn more in the docsUse TypeScript to implement custom rate limiting logic — different limits per customer tier, dynamic burst allowances, or business-rule-based throttling.
Learn more in the docsZuplo's rate limiting is distributed across 300+ edge locations, providing accurate enforcement globally without a central database bottleneck.
Learn more in the docsCommon questions about Rate Limiting.
Zuplo supports fixed window, sliding window, and token bucket rate limiting algorithms. You can choose the algorithm that best fits your use case.
Yes. Store tier information in API key metadata (e.g., 'plan': 'premium') and use TypeScript policies to apply different limits based on that metadata.
Zuplo replicates rate limit counters to the edge, allowing decisions to be made locally without a round-trip to a central database. This means sub-millisecond rate limit checks globally.
Yes. Zuplo can rate limit by IP address, API key, user ID, or any custom identifier extracted from the request. Multiple strategies can be combined.
Zuplo returns a 429 Too Many Requests response with Retry-After headers. The response body and headers are fully customizable via TypeScript policies.
Join thousands of developers who trust Zuplo to secure, scale, and monetize their APIs.