Handling quota-exceeded
When your quota is exhausted (free tier) or payment is overdue past the
14-day grace period, /v1/siteverify returns a distinct error code:
{ "success": false, "error-codes": ["quota-exceeded"] }
quota-exceeded does not mean "bot". It means simplecaptcha could no
longer verify this request for you. Treat it differently from a genuine
captcha failure — do not block real customers because your quota ran out:
const result = await captcha.verify(token)
if (result.success) {
await handleSubmission()
} else if (result.errorCodes?.includes('quota-exceeded')) {
// Protection degraded, but the form keeps working:
// accept the submission, optionally flag it for manual review.
await handleSubmission({ unverified: true })
} else {
reject() // genuine captcha failure
}
This keeps your form usable in the worst case — it only temporarily loses spam protection. You are warned repeatedly well before cutoff (80%, 100%, grace period start, 48-hour notice) by email and in the dashboard.