Rate Limits
API calls consume from the same monthly evaluation pool as browser evaluations.
Monthly Limits by Plan
| Plan | Evaluations / month | API Keys |
|---|---|---|
| Free | 3 | No API access |
| Growth | 50 | 5 |
| Agency | 200 | 20 |
| Enterprise | 1,000 | 50 |
How It Works
- Each API key evaluation counts toward your account's monthly total.
- Browser evaluations and API evaluations share the same pool.
- Limits reset on the 1st of each month at midnight UTC.
- Read-only endpoints (check-usage, user-history, fixes) do not count toward evaluation limits.
429 Too Many Requests
When you exceed your monthly limit, the API returns a 429 status:
{
"error": "Monthly limit reached. Please upgrade your plan for more evaluations.",
"errorCode": "USER_RATE_LIMIT_EXCEEDED",
"remainingEvaluations": 0,
"tier": "growth",
"nextReset": "2026-04-01T00:00:00.000Z"
}Best Practices
- Call
/api/check-usagebefore running batch evaluations to verify remaining quota. - Cache evaluation results on your side — re-running the same ad+page pair consumes a new evaluation.
- Use the
evaluationIdfrom analysis responses to fetch fixes later without re-analyzing.