# Yannis rate limits

The yannis.dev public API is intentionally tiny and read-only, but responses still include rate-limit hints so agents can self-throttle instead of guessing. The default policy is 60 requests per 60 seconds for the public policy.

Successful JSON and MCP responses include RateLimit-Policy and RateLimit. The current policy header is RateLimit-Policy: "public";q=60;w=60. The live quota hint uses RateLimit with r for remaining quota and t for the effective window in seconds. Compatibility headers RateLimit-Limit, RateLimit-Remaining, and RateLimit-Reset are also returned because many client libraries still inspect those names.

If a client is throttled, the API returns HTTP 429 with application/problem+json, code rate_limit.exceeded, and Retry-After. Retry-After takes precedence over the RateLimit hint when both are present.

These limits protect a personal site, not a metered product. Cache public documents like [/openapi.json](/openapi.json), [/llms.txt](/llms.txt), and [/index.md](/index.md) when possible. Email [hello@yannis.dev](mailto:hello@yannis.dev) if you are building a crawler that needs a higher documented budget.

## Links

- [Home](https://yannis.dev/)
- [Developer resources](https://yannis.dev/developers)
- [OpenAPI](https://yannis.dev/openapi.json)
- [MCP server](https://yannis.dev/mcp)
- [llms.txt](https://yannis.dev/llms.txt)
- [Contact](https://yannis.dev/contact)
