patrick@simplefunctions.dev rather than reverse-engineer it.
Verified per-route limits
These are read fromRATE_LIMIT constants in code:
Input cost guards
Some LLM-backed routes bound their input space instead of (or on top of) a rate limit, so an anonymous caller can’t force unbounded fresh model calls by varying a parameter:Real-time data API (data.simplefunctions.dev/v1)
Headers and 429 contract
Platform-enforced rate limits may include these headers:Retry-After (seconds) before the next request whenever it is present.
Routes without an explicit constant
Most authenticated and read-only routes (/api/agent/*, /api/portfolio/*, /api/thesis/*, /api/intents/*, /api/watch/*, /api/alert-rules/*, /api/webhook-endpoints/*, /api/mcp/*, …) are governed by the platform’s fair-use ceiling rather than a per-route constant in code. Hitting the ceiling returns the same 429 RATE_LIMITED shape.
For a guaranteed sustained rate beyond the platform default — for a production agent loop, dashboard, or analytics pipeline — email patrick@simplefunctions.dev with the use case so we can size capacity to actual traffic.
See also
API keys
Key creation and rotation.
Errors
RATE_LIMITED envelope and handling.