Rate limits#

RafikiDB enforces plan-based limits per project.

Requests#

  • API-key traffic counts toward the project's monthly request quota
  • Dashboard UI traffic is logged but not counted
  • Exceeding the quota returns 429 with code quota_exceeded: "You have reached your plan's request limit"

Records, storage, members, projects#

ResourceFree plan default
Projects1
Members3
API requests / monthPlan limit
Records / monthPlan limit
StoragePlan limit

Pagination caps#

  • /data list: limit max 200
  • Query engine (/query/run): limit max 1000
  • Offsets unbounded, but prefer cursor for large tables

Realtime#

  • WebSocket connect tokens: valid 24 hours, scoped to one channel
  • Channel history: last 100 events / 10 minutes (recovery)
  • SSE: short-lived tokens (10 minutes) or api_key query param

Retries#

For 429 and 5xx, back off exponentially (start ~1s, double up to 30s) and retry. For writes, keep an idempotency key on your side if retrying is unavoidable.