Getting Started
Copy a setup prompt with the install steps and the full markdown guide for this plugin.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-recaptcha`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/recaptcha/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
Install
Section titled “Install”npm install @capgo/capacitor-recaptchanpx cap syncConfigure Site Keys
Section titled “Configure Site Keys”Create platform keys in Google Cloud reCAPTCHA, then add them to capacitor.config.ts.
import type { CapacitorConfig } from '@capacitor/cli';import '@capgo/capacitor-recaptcha';
const config: CapacitorConfig = { appId: 'com.example.app', appName: 'Example', webDir: 'dist', plugins: { Recaptcha: { androidSiteKey: 'ANDROID_SITE_KEY', iosSiteKey: 'IOS_SITE_KEY', webSiteKey: 'WEB_SITE_KEY', enterprise: true, }, },};
export default config;androidSiteKey, iosSiteKey, and webSiteKey override the shared siteKey. You can also pass a siteKey directly to load() or execute() when the key depends on your environment.
Generate A Token
Section titled “Generate A Token”import { Recaptcha } from '@capgo/capacitor-recaptcha';
const { token } = await Recaptcha.execute({ action: 'login',});
await fetch('/api/recaptcha-assessment', { method: 'POST', headers: { 'content-type': 'application/json' }, body: JSON.stringify({ token, action: 'login' }),});execute() calls load() automatically when the client is not ready, so an explicit preload step is optional.
Web Standard reCAPTCHA v3
Section titled “Web Standard reCAPTCHA v3”Set enterprise: false to load Google’s standard Web reCAPTCHA v3 script.
const { token } = await Recaptcha.execute({ siteKey: 'WEB_V3_SITE_KEY', enterprise: false, action: 'signup',});On Android and iOS, Google’s native mobile SDK path is Enterprise/mobile only. Passing enterprise: false on native platforms is rejected so a standard Web v3 key is not used accidentally.
Migration Notes
Section titled “Migration Notes”The plugin accepts the old Cordova option aliases sitekeyAndroid and sitekeyWeb in call options and Capacitor config. It also accepts sitekeyIos and sitekeyIOS as iOS migration aliases. Prefer the Capacitor config names for new code.