Rate Limits & Credits

Every API key is subject to rate limits and credit allowances based on the plan it belongs to. Credits are tracked at the account level (not per key) and reset at the start of each billing cycle. All plans can use every public endpoint, so plans differ by usage capacity rather than feature access.

Limits by Plan

The table below outlines the credit allowances and rate limits for each plan:

PlanCredits/MonthRequests/MinutePublic API AccessPrice
Free1,00010All features$0
Starter150,00060All features$29/mo
Pro1,500,000200All features$149/mo
Business5,000,0001,000All features$299/mo
EnterpriseUnlimitedUnlimitedAll featuresCustom

How Credits Work

Standard data requests consume 1 credit each. MoneyLine AI requests use fixed higher credit bands based on request scope and output format. Credits are tracked at the account level, so all API keys under your account share the same credit pool and the same monthly allowance.

  • Standard data endpoints continue to consume 1 credit per request.
  • MoneyLine AI consumes a fixed band per request, with retrieval and generation usage reported in the response metadata.
  • Business tier supports overage billing at $0.00015 per credit beyond the 5M monthly allowance.
  • Auto-upgrade is enabled by default, but the current server implementation treats it as a grace path rather than performing an immediate billing upgrade inside the request.
  • If auto-upgrade is disabled and you exceed your limit, the API returns a 429 response.

MoneyLine AI Credit Bands

ScopeNaturalHybridStructured
Small (top 5)202717
Medium (top 12)476040
Large (top 25)9311373

AI responses include meta.creditUsage with the total charge plus retrieval and generation shares for transparency.

429 Headers

The API does not currently emit per-request rate-limit status headers such as X-RateLimit-Remaining. When you exceed the per-minute rate limit, the server returns a Retry-After header with the number of seconds to wait before retrying.

HeaderDescription
Retry-AfterReturned on 429 rate-limit responses. Currently set to 60 seconds.

Exceeding the Limit

If you exceed your per-minute rate limit or your monthly credit allowance (with auto-upgrade disabled), the API will return a 429 Too Many Requests response. For per-minute throttling, wait for the window to reset before retrying and honor the Retry-After header.

429 — Rate limit exceeded
{
  "success": false,
  "data": null,
  "meta": {
    "requestId": "ml_req_ab12cd34ef56"
  },
  "error": {
    "message": "Rate limit exceeded. 60 requests/minute allowed on Starter tier.",
    "statusCode": 429
  }
}