Rate Limiting

Last updated @ June 21st, 2026

api.lanzoor.dev is protected by a multi-layer rate limiting system powered by @upstash/ratelimit. This helps prevent abuse and ensures service stability. Please respect the rate limits below to avoid getting blocked.

About Multi-Layered Rate Limits

In most cases, a rate limit preset comes with two rate limit layers.

Rate Limit Presets

PresetLimitTime Window
lenient5 requestsper second
60 requestsper minute
normal5 requestsper second
20 requestsper minute
strict2 requestsper second
10 requestsper minute
paranoid1 requestper minute

Custom Rate Limits

Some routes may use a custom rate limit preset.If so, it will be clearly listed in the route's documentation, and the preset identifier custom will be used.

Headers

For now, rate limit headers are only included when a request is rejected with HTTP 429.

Example

Here's a simple example of how a rate limit and its headers would look like:

HTTP/1.1 429 Too Many Requests

X-RateLimit-Preset: normal
X-RateLimit-Limit: 20
X-RateLimit-Reset: 1782012345678
Retry-After: 34

Reference

Please refer to the rate-limit.ts helper script.

Tips