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.