Frontend

EU CAPTCHA for Nuxt.js

Nuxt.js is a Vue.js-based framework for building universal, server-side rendered, and statically generated web applications with a powerful module ecosystem. Protect your Nuxt.js app from bots and spam with a privacy-first, EU-hosted CAPTCHA that integrates naturally with Vue components and SSR.

Why choose Myra EU CAPTCHA?

  • Interaction-free user experience

    No puzzles, no clicks – invisible bot protection with zero user friction.

  • Digital sovereignty made in Germany

    Fully GDPR-compliant, no cookies, no tracking – developed and hosted in Germany.

  • Intelligent threat detection

    Smart protection trained by more than 100 billion daily Myra CDN signals.

  • Proven technology

    Over 5 billion successfully secured authentication attempts.

How the integration works

  1. 1. Create an EU CAPTCHA account

    Creating an account is completely free, all you need is a valid email address and you’re ready to go. Choose a plan that covers your needs. The first 3 months are free of charge.

    Create an Account
  2. 2. Create a sitekey

    Create a sitekey in the EU CAPTCHA dashboard for the domain you want to protect. Provide a clear label so you can easily identify it later. This sitekey links the widget on your Nuxt app to your EU CAPTCHA account.

  3. 3. Integrate EU CAPTCHA into your Nuxt.js app

    Install the package by running npm i @myrasec/eu-captcha-vue, then share the integration guide with your developer. Wrap the component in <ClientOnly> to ensure it only runs in the browser.

    View integration guide
  4. 4. Verify the token in a Nuxt server route

    To finish the integration, create a server route at server/api/ and validate the eu-captcha-response token against the EU CAPTCHA API before processing submissions.

    View server-side guide

5. The EU CAPTCHA widget will appear in your Nuxt.js application.

Verified

Frequently Asked Questions

  • How do I add EU CAPTCHA to a Nuxt.js application?

    Install the package with npm i @myrasec/eu-captcha-vue. Import { EuCaptcha, isEuCaptchaDone } from '@myrasec/eu-captcha-vue' in your <script setup>. Wrap the widget in <ClientOnly> or use onMounted for SSR safety. Call isEuCaptchaDone() on submit and validate the token in a Nuxt server route at server/api/.

  • Does EU CAPTCHA work with Nuxt 3 and the Composition API?

    Yes. The @myrasec/eu-captcha-vue package is built for Vue 3 and integrates naturally with Nuxt 3's Composition API. Import the component in <script setup> and use the :on-complete, :on-expired, and :on-error props to react to widget lifecycle events. The Nuxt auto-imports system does not affect the package, so the explicit import is required.

  • How do I prevent SSR errors with EU CAPTCHA in Nuxt?

    Use Nuxt's built-in <ClientOnly> wrapper component to prevent the EuCaptcha component from rendering on the server. Alternatively, guard any DOM-related logic inside an onMounted composable or with an import.meta.client check. This ensures the widget only initialises in the browser, avoiding hydration mismatches.

  • Can I verify the CAPTCHA token in a Nuxt server route?

    Yes. Create a server route at server/api/verify.post.ts. Read the eu-captcha-response token from the request body using readBody, then validate it with $fetch or ofetch by POSTing to the EU CAPTCHA verification API with your secret key. Return a success or error response based on the API result.

  • Is EU CAPTCHA compatible with Nuxt's useFetch and $fetch?

    Yes. Submit the token to your server route using $fetch in an async onSubmit handler or useFetch for reactive data fetching. For form submissions, $fetch is typically the cleanest pattern as it allows straightforward error handling and user feedback without introducing reactive bindings for a one-time operation.

  • Does EU CAPTCHA require a dedicated Nuxt module?

    No. EU CAPTCHA integrates through the standard @myrasec/eu-captcha-vue npm package and does not require a separate Nuxt module. You can optionally create a composable in the composables/ directory to encapsulate the isEuCaptchaDone() check, which Nuxt will auto-import across all your form components.

  • Is EU CAPTCHA GDPR compliant for Nuxt.js applications?

    Yes. EU CAPTCHA is operated by an EU-based company, is hosted entirely in Germany, and does not rely on US cloud providers or infrastructure subject to US surveillance laws. The service processes only the data necessary to provide and verify the CAPTCHA (such as IP address and technical browser or device information) in line with the requirements of the GDPR. Your organization remains responsible for providing transparent privacy information, selecting an appropriate legal basis, and obtaining any required consent for your specific Nuxt.js implementation. This information does not constitute legal advice; please consult your legal counsel for an assessment of your individual case.

Ready for a better CAPTCHA?

Experience invisible bot protection with privacy‑first, GDPR‑compliant verification made and hosted in Germany. Try Myra EU CAPTCHA now 3 months for free and secure your web forms without adding friction for your users.

Privacy-first technology

We guarantee zero data transfer to third-country jurisdictions.

Read our privacy policy

Fast and easy setup

We offer ready-made integrations for many CMS and popular frameworks.

Read our quick start guide