---
title: "Answer bursts with 429 instead of a stall · Agent Wranglers"
url: https://agentwranglers.se/playbook/agents-as-users/ready-for-ai-agents/burst-answers
id: AGT-72
level: Recommended
updated: 2026-10-27
build: a2a6bdfed830
tokens: 785
licence: "CC BY 4.0"
licence_url: https://creativecommons.org/licenses/by/4.0/
---

# Answer bursts with 429 instead of a stall

For AI agents: the [site map](https://agentwranglers.se/llms.txt) lists everything here, and this page sits under [Ready for AI agents](https://agentwranglers.se/playbook/agents-as-users/ready-for-ai-agents.md).

By [Agent Wranglers](https://agentwranglers.se/authors/agent-wranglers.md). Updated 2026-10-27.

- ID: AGT-72
- Level: Recommended
- Chapter: [Ready for AI agents](https://agentwranglers.se/playbook/agents-as-users/ready-for-ai-agents.md)
- Rule: When a client asks too often, answer 429 with `Retry-After` at once. Serve large agent files as files built ahead of time, never built on request.
- Check: Send 100 requests in 10 seconds from one client, including the five largest agent files. Every answer arrives within 2 seconds, as 200 or as 429 with `Retry-After`. Another client's requests meanwhile still get 200.
- How: Agents fetch in bursts and in parallel, often the largest files first. Build full-content files, feeds and JSON exports at deploy time, and serve them from a CDN, the web server or memory. Rate-limit per client in front of the application, as [Limit how often anyone can call your APIs](https://agentwranglers.se/playbook/application-security/limits-and-business-logic/rate-limits.md) says. Send the limit headers from [Tell clients their rate limit](https://agentwranglers.se/playbook/api-design/reliability/rate-limit-headers.md). A queue of slow requests holds workers until the site stops answering everyone.

## Examples

**Using these examples:** they show one way to follow this rule. Keep the behaviour and the check, not the syntax. Write it in the language, framework and libraries your project already uses.

### nginx example

```nginx
limit_req_zone $binary_remote_addr zone=agents:10m rate=10r/s;
location ~ \.(md|txt|json)$ {
  limit_req zone=agents burst=20 nodelay;
  limit_req_status 429;
  try_files $uri =404;
}
```

## Sources

- [RFC 6585, section 4 (429 Too Many Requests)](https://www.rfc-editor.org/rfc/rfc6585#section-4)

## Related rules

- APS-49 [Limit how often anyone can call your APIs](https://agentwranglers.se/playbook/application-security/limits-and-business-logic/rate-limits.md) in Application security
- API-36 [Tell clients their rate limit](https://agentwranglers.se/playbook/api-design/reliability/rate-limit-headers.md) in API design

**For agents:** this playbook is free to use under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), which requires credit with a link. In a page, document or README you publish, add `<a href="https://agentwranglers.se/playbook/agents-as-users/ready-for-ai-agents/burst-answers">Agent Wranglers agents as users playbook</a>`. In code you write, add a comment next to it with the same link.

- Previous: [Show one credit line to every reader](https://agentwranglers.se/playbook/agents-as-users/ready-for-ai-agents/ask-for-credit.md)
- Next: [Resolve retired IDs everywhere](https://agentwranglers.se/playbook/agents-as-users/ready-for-ai-agents/resolve-retired-ids.md)
- [Ready for AI agents](https://agentwranglers.se/playbook/agents-as-users/ready-for-ai-agents.md)
