These Terms of Service govern your use of captchaapi.eu. By using the service, you agree to be bound by these terms. Please read them carefully before using the service.
# 1 The Service
captchaapi.eu provides a Proof-of-Work (PoW) CAPTCHA API designed to help protect websites and applications from automated abuse. The service is operated from within the European Union and is designed with privacy and GDPR compliance in mind. Personal data is primarily processed on EU-hosted infrastructure (Hetzner Online GmbH, Nuremberg, Germany) and is not intentionally transferred outside the EU/EEA.
The PoW challenge uses an adaptive, smoothly-scaled numeric difficulty target. Challenge difficulty increases proportionally with the number of requests from a given IP address within a 60-second window, providing friction against automated abuse while remaining imperceptible to real users under normal traffic. Paid plans benefit from a lower baseline difficulty, reducing computational load on your visitors' devices.
The Service may use computational resources of end-user devices to perform proof-of-work challenges. You are solely responsible for the integration of the Service into your application and for determining how the verification result is used (including, but not limited to, blocking, scoring, or logging user activity).
ePrivacy and consent. The Service performs only client-side mathematical computation and does not store information on end-users' devices, nor access information already stored thereon. The widget sets no cookies, no localStorage entries, and no other terminal-equipment markers. Article 5(3) of the ePrivacy Directive (2002/58/EC, as amended by 2009/136/EC) — the consent requirement that applies to storage and access of information on terminal equipment — therefore typically does not apply, and a cookie/consent banner is not required for the widget itself. Your transparency obligations as the data controller of your end-users — including those under Articles 13/14 GDPR — remain unaffected, and you are responsible for informing your end-users about the use of the Service in your privacy documentation.
The CAPTCHA API is rate-limited on a per-IP and per-project basis to ensure service stability for all integrators. Authentication endpoints (sign-in, two-factor challenge) are likewise rate-limited to deter automated abuse. Current thresholds are documented in the API reference and may be adjusted with reasonable notice in line with Section 11.
# 2 Acceptable Use
You agree to use the service in a lawful manner. The following are prohibited:
- Abusing, overloading, or attempting to degrade the service infrastructure
- Reverse engineering or attempting to bypass the verification system
- Using the service for illegal activities or to intentionally harm others
- Reselling or sublicensing access to the API without prior written consent
- Repeatedly exhausting the Free tier's monthly request cap. Commercial use of the Free tier is permitted — the only constraint is volume. A single month reaching the cap simply deactivates your projects until you upgrade or the cycle resets, but repeatedly hitting that cap can escalate to deactivation of the account itself and, if left unresolved, deletion of the account and its data (see Section 4 for the full mechanism). I also reserve the right to suspend or terminate any account, without prior notice and without refund, for any other breach of these terms.
Free tier — scope of use
The Free tier is available for any use — personal, commercial, open-source, educational, or non-profit. The only constraint is volume. Your plan includes a monthly request cap; reaching it deactivates your projects for the rest of the billing cycle. Repeatedly hitting that cap escalates to account deactivation — see Section 4 for the full mechanics.
# 3 Availability
The service is provided on a best-effort basis. While I aim for high availability, I do not guarantee uninterrupted or error-free operation. Planned and unplanned maintenance windows may occur. I recommend building appropriate fallback handling into your integration.
# 4 Fair Use and Limits
Usage limits depend on your selected plan. Limits are applied per account (not per project) and are based on the number of challenge requests generated by the service. The following limits apply per billing period:
Free
10,000
challenges / month
Starter
20,000
challenges / month
Growth
100,000
challenges / month
Business
500,000
challenges / month
The Free tier does not include email support. Free tier users have access to documentation only. Email support is available exclusively on paid plans.
Each plan also limits the number of projects you may create. Project limits are hard limits — new projects cannot be created once the limit is reached.
Free
1
project
Starter
3
projects
Growth
10
projects
Business
∞
projects
Request limits are applied per account (not per project) and are based on the number of challenge requests generated. Challenge requests are counted when a challenge is generated via the API, regardless of whether it is subsequently verified.
Behaviour when the monthly request limit is exceeded depends on your plan. Both tiers receive an automated email notification when usage crosses 80 % of the limit and again at 100 %.
Paid plans (Starter, Growth, Business)
When you exceed your monthly limit, challenges continue to be served at the same baseline PoW difficulty as in-quota traffic — your end-users are never blocked and protection is never weakened. This is a contractual service guarantee on every paid plan. You will receive a notification email suggesting an upgrade to a higher tier, but no service interruption or difficulty change occurs.
Free plan
Your plan includes 10,000
requests per month. When you reach that cap, your account transitions to a
limit-reached state.
All of your projects are automatically deactivated and the API will return an error
(free_tier_limit_reached,
HTTP 403) to your visitors instead of issuing CAPTCHA challenges. This is automatically
and uniformly enforced for every Free account.
Recovery — two paths:
- (a) Upgrade to a paid plan. Your account is reactivated immediately upon successful payment, and all of your projects are automatically re-enabled. Service resumes within seconds.
- (b) Wait for the next billing cycle. Your monthly counter resets to zero and your account state automatically returns to active. Note: your projects are not automatically reactivated — you must manually re-enable each project from the dashboard. This step is intentional and ensures you see the upgrade options before resuming free service. The Free plan limit will continue to apply in the new cycle.
While your account is in the limit-reached state, the dashboard remains accessible only via a dedicated upgrade-required page; project management, project creation, and the API surface for issuing challenges are blocked. Account settings, billing, and the upgrade flow remain accessible so that you can complete recovery without obstruction.
Hitting the monthly cap three times within a rolling 12-month window deactivates the account itself. A deactivated account is upgrade-only: you can still sign in to view and export your data and to delete projects, but you cannot create or edit projects. Upgrading to a paid plan restores full access immediately. If the account is not upgraded, it and all of its data are permanently deleted approximately three months after deactivation.
The Free plan is provided with a monthly request limit and is available for any use. It carries no service availability guarantee for end-users. By choosing the Free plan you accept that reaching the cap will deactivate your captcha protection until upgrade or cycle reset, and that any resulting impact on your visitors or downstream business is your responsibility, not mine. If your usage requires uninterrupted service, a paid plan is required.
I reserve the right to adjust monthly limits, cap thresholds, recovery mechanics, and enforcement procedures at any time, subject to the notice rules in Section 11.
The PoW difficulty applied to challenges issued from your projects is the same across all plans: approximately 4,096–65,536 hash iterations per visitor, scaling smoothly with per-IP request rate within the rolling 60-second window. Tiering applies to monthly quotas, project counts, and support eligibility, not to PoW difficulty — by design, a paid sitekey is never a cheaper attack target than a Free one. When a sitekey is observed under attack, an additional difficulty multiplier (1.5× / 8× / 16× depending on the detected severity) is applied for a sticky time window so that every visitor of that sitekey solves a proportionally harder PoW until the attack ends; the multiplier is observable in the response target and never causes a visitor to be blocked.
Upgrading to a paid plan requires providing a valid billing address. Business customers (entrepreneurs) must additionally provide a company registration number and VAT number where applicable, as required for invoicing under Czech and EU law. This information is retained for the period required by applicable accounting legislation (10 years from the date of the last invoice) regardless of account deletion.
# 5 Billing, Payment, and Account Suspension
Paid plans are billed on a monthly subscription basis. By subscribing, you authorize recurring charges at the rate associated with your chosen plan. The applicable payment provider for your subscription is identified at checkout and in every invoice you receive.
Payment processing depends on your customer type:
- Business customers — those who provide a company identification number (e.g. Czech IČO) or a VAT identification number at checkout — are billed directly via Stripe. captchaapi.eu is the seller of record for these transactions, and these Terms (including the refund and grace-period rules below) govern the contractual relationship in full.
- Consumer customers — natural persons not acting in the course of a trade or business, with no company or VAT identifier provided at checkout — are billed via Lemon Squeezy LLC, which acts as Merchant of Record. Lemon Squeezy is the seller of record for the transaction; their published customer terms, refund policy, and statutory consumer protections — including the EU 14-day right of withdrawal under Article 9 of Directive 2011/83/EU and § 1829 of the Czech Civil Code — govern the payment relationship and refund eligibility. captchaapi.eu remains responsible for delivering the underlying service.
Refund requests, withdrawal claims, payment-method changes, and tax invoice corrections must be directed to the applicable provider's support channel. For business customers (Stripe), contact me directly. For consumer customers (Lemon Squeezy), use Lemon Squeezy's customer portal — I will assist where the issue concerns the underlying service rather than billing.
If a payment fails, your account is not immediately suspended and does not revert to the Free tier. Instead, a grace period of 14 days begins during which your account continues to function normally. You will receive daily reminder emails with instructions on how to resolve the payment issue.
If payment is not received within the grace period, your account will be suspended. While suspended, all projects stop issuing challenge tokens. Your account and data are retained. Service is restored immediately upon successful payment.
Accounts on a paid plan that fail to pay are not transferred to the Free tier; instead they enter a suspended state, which preserves your configuration and data until the payment issue is resolved.
The grace period and suspension mechanics in this section apply to Stripe-billed business accounts. Consumer accounts billed via Lemon Squeezy follow Lemon Squeezy's own dunning schedule and refund policy as Merchant of Record; the underlying service state (active / paused / cancelled) is synchronised from Lemon Squeezy via webhooks.
Suspended (paid) and limit-reached (Free) are
distinct states. The "suspended" state described in this section applies only to paid
accounts that have failed to pay within the grace period above and is triggered by the billing
system. The Free plan limit-reached state described in Section 4 is triggered by usage
(exceeding the monthly request cap), is not a billing event, and follows its own recovery rules
(upgrade or cycle reset with manual project reactivation). The two states are surfaced through
different API error codes
(account_suspended,
HTTP 402, vs
free_tier_limit_reached,
HTTP 403) so that customer-side error handling can route them to the correct recovery flow.
Unless otherwise stated or required by mandatory law, all payments are non-refundable.
# 6 No Guarantee of Protection
While captchaapi.eu helps reduce automated abuse, no system can guarantee complete protection against all bots or malicious activity. The service is one layer of defence and should be used as part of a broader security strategy.
# 7 Limitation of Liability
To the extent permitted by applicable law, captchaapi.eu is provided without warranties of any kind, express or implied. I am not liable for indirect damages, data loss, service interruptions, or business losses arising from the use of the service. Your use of the service is at your own risk.
Liability cap. To the maximum extent permitted by applicable law, my total aggregate liability for any and all claims arising out of or related to the service (whether in contract, tort, or otherwise) shall not exceed the total amount paid by you to captchaapi.eu in the twelve (12) months preceding the event giving rise to the claim. This cap applies in the aggregate to all claims and does not reset per incident. Nothing in these Terms limits liability for fraud, gross negligence, willful misconduct, or any other liability that cannot be limited under mandatory applicable law (including mandatory consumer protection rights).
# 8 Account and Access
You are responsible for your account and the security of your API keys. Specifically:
- Keep your API keys confidential and rotate them if compromised
- Do not share your account credentials with others
- Notify me promptly of any unauthorized use of your account
I may suspend or terminate access in cases of abuse, misuse, or violation of these terms.
# 9 Data Processing (GDPR Art. 28)
When you integrate captchaapi.eu into your website or application, captchaapi.eu acts as a data processor on your behalf for the purpose of providing the CAPTCHA service to your end users. You remain the data controller responsible for that processing.
By accepting these Terms, you enter into a Data Processing Agreement (DPA) with captchaapi.eu in accordance with Article 28 GDPR. The full DPA, addressing all elements required under Article 28(3) GDPR (subject-matter, duration, nature and purpose of processing, type of personal data, categories of data subjects, and the obligations and rights of the controller), is set out at https://captchaapi.eu/legal/dpa and is incorporated into these Terms by reference. In summary, captchaapi.eu commits to:
- Process personal data only on your documented instructions (i.e. providing the CAPTCHA service)
- Ensure that authorized personnel are bound by confidentiality
- Implement appropriate technical and organizational security measures (Art. 32 GDPR)
- Engage sub-processors only with your general authorization (the current and complete list is maintained on the Sub-processors page, the single authoritative source)
- Assist you in fulfilling your obligations regarding data subject rights and security incidents
- Delete or return all personal data upon termination of the service relationship, except where retention is required by applicable law
The subject-matter, nature, purpose, and duration of processing are described in the Privacy Policy and the standalone Data Processing Agreement, which is incorporated into these Terms by reference and addresses all elements required by Article 28(3) GDPR.
Need a standalone DPA document?
Download a print-ready version with signature lines — always reflects the current terms.
# 10 Governing Law
These Terms are governed by and construed in accordance with the laws of the Czech Republic, without regard to its conflict-of-law provisions. Any disputes arising from or in connection with these Terms shall be subject to the exclusive jurisdiction of the competent courts of the Czech Republic, unless mandatory consumer protection law in your country of residence provides otherwise.
# 11 Changes to the Service and These Terms
I reserve the right to modify, suspend, or discontinue any part of the Service, including features, pricing, and usage limits. For material changes that adversely affect paying customers, I will provide at least 30 days' prior notice by email, and you may cancel your subscription before the change takes effect with a pro-rata refund of any prepaid unused period (this is the exception referenced in the "non-refundable" rule above). The notice period does not apply to changes required for security, legal compliance, or to respond to a serious operational risk, which may take effect immediately.
I may update these terms from time to time. When I do, I will update the "Last updated" date at the top of this page and, for significant changes, notify registered users by email before the changes take effect, except where immediate changes are required for security or legal compliance. Continued use of the service after the effective date constitutes acceptance of the updated terms.
# 12 Force Majeure
I am not liable for any failure or delay in performance caused by events beyond my reasonable control, including but not limited to: failure or degradation of upstream infrastructure providers (e.g. Hetzner Online GmbH, Cloudflare Inc., DNS or upstream-routing providers), denial-of-service attacks, government actions, embargoes, war, civil unrest, pandemics, natural disasters, power or telecommunications outages, or any other event of force majeure. I will use reasonable efforts to mitigate such events and restore service as soon as practicable. If a force-majeure event materially affects the Service for more than 30 consecutive days, you may terminate your subscription with a pro-rata refund of any prepaid unused period.
# 13 Severability
If any provision of these Terms is held to be invalid, illegal, or unenforceable by a court of competent jurisdiction, that provision will be enforced to the maximum extent permitted by applicable law and the remaining provisions will remain in full force and effect. The parties will use commercially reasonable efforts to substitute the invalid provision with a valid provision that most closely approximates the intent of the original.
# 14 Survival
The provisions of Section 5 (Billing — for amounts owed at termination), Section 7 (Limitation of Liability), Section 9 (Data Processing — for legal-retention obligations), Section 10 (Governing Law), Section 13 (Severability), and any other provisions which by their nature are intended to survive, will continue in effect after termination or expiration of these Terms.
Questions about these terms?
I am happy to help and will respond promptly.