Rate Limits
API calls draw from the same monthly evaluation pool as the AdAlign app. API access is included on the Scale plan and above.
Monthly Limits by Plan
| Plan | Evaluations / month | API Keys |
|---|---|---|
| FreeFree audit account | 5 | No API access |
| GrowthUp to €75k/mo ad spend | 500 | No API access |
| Scale€75k–€250k/mo ad spend | 1,500 | 20 |
| Portfolio€250k–€750k/mo ad spend | Per contract | 50 |
| EnterpriseOver €750k/mo ad spend | Per contract | 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.
- Failed evaluations (4xx/5xx) and landing pages that can't be captured (
lpCaptureStatus: "url_only") are refunded. - Requests without an API key are treated as anonymous: 1 evaluation per IP address per month.
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": "studio",
"nextReset": "2026-11-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.