ES module for the Google reCAPTCHA v3 frontend integration.
- Only supports reCAPTCHA Enterprise as Classic use is no longer recommended.
- Supports both score-based and checkbox site-keys;
- Supports language and render configuration;
- Supports both the user interaction and HTML button models;
- Exposes all methods of the API;
- Loads the script asynchronously and automatically appends resource hints for improved performance.
$ npm install --save recaptcha-frontend
Pick your favorite:
const { execute, load } = require("recaptcha-frontend");
import { execute, load } from 'recaptcha-frontend';
... then:
load('site-key').then(() => {
// The API is loaded and ready.
execute('homepage').then(token => {
// Send `token` to your backend for verification.
});
});
-
siteKey
(string) Your reCAPTCHA site key. -
options
-
lang
(string) Which reCAPTCHA language to use. Defaults to the browser language when not specified. -
recaptchaNet
(boolean) Whether to use the recaptcha.net alternate endpoint to load the API. -
render
(string) The value for the render parameter. Defaults tositeKey
, which only works with score-based site keys. Use 'onload' or 'explicit' for checkbox site keys. See this for more details.
-
Returns: (Promise) The fulfillement handler (then
) is called when the API is loaded and ready.
Loads the API.
-
action
(string) The action to execute. -
siteKey
(string) Your reCAPTCHA site key. Defaults to the site key provided toload()
. -
widget_id
(number) The widget ID returned byrender()
. Defaults to the ID of the first widget that was created.
Returns: (Promise) The fulfillment handler (then
) receives a single token
parameter that can be used for verification.
Executes an action.
All these methods mirror the signatures of the reCAPTCHA methods of the same names. Only execute()
is different.
Shows the reCAPTCHA badge.
Hides the reCAPTCHA badge. This requires the reCAPTCHA branding to be included visibly in the user flow.