Skip to content
Reference

Rate limits

Per-plan limits, rate classes and response headers.

Limits are per API key, per endpoint class, and depend on your organization's plan. Every authenticated response tells you where you stand, so you never have to guess.

Rate limit headers

Response headers
HTTP/1.1 200 OK
X-FomoData-Request-Id: req_6Yq1Hn0bVx3LmT8sRk2Wc4
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 57
X-RateLimit-Reset: 1759831512
HeaderMeaning
X-RateLimit-LimitRequests allowed in the current window for this endpoint class.
X-RateLimit-RemainingRequests left in the window.
X-RateLimit-ResetUnix time (seconds) when the window resets.
Retry-AfterOn 429 and 503: seconds to wait before retrying.

Endpoint classes

ClassEndpointsLimit
standardProfiles, theses, tokens, events, /v1/me, webhook managementrate_limit_per_minute
search/v1/search, /v1/search/semanticsearch_per_minute
verify/v1/verify/thesisPlan rate limit, tracked separately
heavyRequests that may trigger a paid upstream sync, such as resolving a profile FomoData hasn't seen yetPlan rate limit, tracked separately

On top of per-key limits, all keys in a project share an aggregate ceiling of twice the per-key limit. Failed authentication is limited per IP (20 per minute) and flagged for abuse review.

Plan limits

These numbers come straight from the live plan configuration. See pricing for plan details.

FreeBuilderProEnterprise
Requests / month10k250k2MCustom
Rate limit / min603001,2006,000
Burst20602001,000
Search / min20602401,200
Stream connections21050500
Webhook endpoints21050500
History7 days30 days90 days1 year
Over quotaHard stopHard stopOverage, never a surpriseOverage, never a surprise

When you hit a limit

  • Per-minute limits return 429 RATE_LIMITED with Retry-After. Back off and retry.
  • Plans without overage stop at the monthly quota with 429 QUOTA_EXCEEDED until the next period. Nothing is billed beyond your plan.
  • Too many concurrent streams returns 429 STREAM_CONNECTION_LIMIT (SSE) or close code 4029 (WebSocket).
  • Queries older than your history window return 403 HISTORY_LIMIT.

No surprises

The dashboard shows usage, limit and projected usage for the month. Overage, where a plan allows it, is configured up front and visible before it applies. We never surprise you with a bill.