Skip to main content
Rate limits live at three layers — IP (anti-abuse), per-key (fair-use), per-route (cost protection). The numbers below are the verified limits checked into the codebase as of the current release. Routes not listed default to the platform’s general fair-use ceiling; if a number matters for your integration, email patrick@simplefunctions.dev rather than reverse-engineer it.

Verified per-route limits

These are read from RATE_LIMIT constants in code:
RouteLimitNotes
GET /api/public/query10 / min anonymous, 60 / min authenticatedAuthenticated callers get the 60/min tier and the model parameter unlock.
GET /api/public/query-econ30 / minLLM-backed search; cached identical queries don’t count.
GET /api/public/query-gov10 / minLLM-backed search.
POST /api/public/discuss5 / minDiscussion synthesis.
POST /api/monitor-the-situation/enrich10 / minWeb intelligence enrichment.
POST /api/forum/messages10 / minPosting cap.

Real-time data API (data.simplefunctions.dev/v1)

SurfaceLimit
/v1/markets, /v1/candles/{ticker}, /v1/orderbook/{ticker}240 req / min
/v1/snapshot, /v1/movers, /v1/search120 req / min
wss://app.simplefunctions.dev/ws5 concurrent connections, 200 subscribed topics each

Headers and 429 contract

Platform-enforced rate limits may include these headers:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 42
X-RateLimit-Reset: 1714572345
When limited:
HTTP/1.1 429 Too Many Requests
Retry-After: 12
with body:
{ "ok": false, "error": { "code": "RATE_LIMITED", "status": 429, "message": "..." } }
Honor 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.