🔮Madjik docs

Rate limits

Per-plan request and usage limits.

Limits by plan

PlanRequests / minAPI callsMetricsHistory
Free trial (3 days)10100 totalAll1 day
Starter305,000 / monthBasic tier (classical)7 days
Pro12050,000 / monthBasic + Pro (adds AI)90 days
Enterprise600UnlimitedAll (incl. quantum)Unlimited

Current plans and prices: madjik.io/pricing. Check your own limits at any time with GET /v1/subscription.

When you exceed a limit

The API returns 429 with a JSON body explaining which limit you hit:

{"detail": "Rate limit exceeded. Your plan allows 30 requests per minute."}

{"detail": "Usage limit exceeded. Used 5000/5000 API calls. Upgrade at https://www.madjik.io/pricing/"}

The per-minute window is rolling. Responses do not currently include X-RateLimit-* headers — treat any 429 as the signal to back off.

Best practices

  • Cache responses — most metrics update on multi-minute cadences (each metric page lists its cadence).
  • Batch requests — GET /v1/metrics?metric_ids=M10004,M50014,M50030 fetches many metrics in one call.
  • Use webhooks — subscribe to metric.updated events instead of polling; see the API reference.
  • Back off exponentially on 429s.