How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

How do I set rate limits, and what should they be?

lock Security & Authentication Updated August 12, 2026

Short answer

Set them per consumer and per plan rather than globally, publish them, return them in headers, give people a path to more, and remember rate limits are a business tool as much as a protective one.

Start from why. Rate limits exist to protect infrastructure, to make plans and pricing enforceable, to blunt abuse, and to segment consumers by their relationship with you. Different reasons imply different limits, and the most common mistake is applying one global number that serves none of them.

Set limits per consumer and per plan, not per API. A free-tier evaluator, a paying customer, and a strategic partner should not share a ceiling. Consider per-operation limits where the cost profile differs sharply — a search endpoint and a static lookup are not the same load.

Be transparent about it. Publish the limits before signup, not after someone hits one. Return the limit, the remaining quota, and the reset time in response headers on every call. Return 429 with Retry-After when the limit is hit, and never fail silently or return a 200 with truncated data.

Then give people a path upward. Management should not just limit consumers — it should let them scale. A limit with no visible way to raise it reads as a wall, and consumers who hit walls leave. Publish what the next tier is, and how to reach a human when the standard tiers do not fit.

One caution: rate limiting is not a security control, though it is often sold as one. It slows down abuse and enumeration. It does not authorize anybody.

Go deeper in the guidance

This answer is distilled from the API Evangelist guidance catalog — the long-form treatment of each topic, with its own citations back into sixteen years of writing.