How to Solve reCAPTCHA v3
The box above runs a live reCAPTCHA v3 check. reCAPTCHA v3 is invisible and score based: it returns a g-recaptcha-response token that your server verifies for a score from 0.0 (bot) to 1.0 (human). This page shows three easy ways to solve reCAPTCHA v3 and get a valid token: automatically with the CapSkip browser extension, in your own code with the CapSkip SDK, or by routing the captcha service your tools already call to CapSkip. CapSkip runs locally on your device, so there are no per solve fees and nothing leaves your machine.
Option 1: Solve reCAPTCHA v3 with the browser extension
The simplest way to bypass reCAPTCHA v3 is the CapSkip captcha solver extension for Chrome and Firefox. It detects the reCAPTCHA v3 script on any page and generates a token automatically in the background, with no code to write.
Install the extension
Add CapSkip from the Chrome Web Store or Firefox Add-ons. It also works in Brave, Edge, Opera and Vivaldi.
Run the CapSkip app
Install and open the CapSkip desktop app. It does the solving on your own device and pairs with the extension.
It solves automatically
Reload this page and CapSkip generates a reCAPTCHA v3 token in the background. Prefer to stay in control? Switch to manual mode anytime.
Option 2: Solve reCAPTCHA v3 with the CapSkip SDK
Building automation, a scraper or a bot? Use the CapSkip captcha solving SDK to solve reCAPTCHA v3 from Python, Node.js, PHP or C#. You pass this page's site key, action and URL, and CapSkip returns a fresh g-recaptcha-response token you can submit like a real one.
6LcHaCstAAAAALdP4qCWUKOpcNDRhpT099YkCeQL
demo
https://capskip.com/captcha-demo/recaptcha-v3/
Before you start
CapSkip solves locally. Download and run the CapSkip desktop app and keep it open in the background. The SDK talks to it on 127.0.0.1:8080, so there are no cloud calls and no per solve fees.
Install the SDK
Add the official CapSkip client to your project.
pip install capskipnpm install capskipcomposer require capskip/capskipdotnet add package CapSkipSolve reCAPTCHA v3 and get a token
Pass this page's sitekey, action and url to recaptcha() with version="v3". CapSkip returns a fresh g-recaptcha-response token.
from capskip import CapSkip
# Connect to the CapSkip app running on your machine
solver = CapSkip(host="127.0.0.1", port=8080)
# Solve the reCAPTCHA v3 on this page
result = solver.recaptcha(
sitekey="6LcHaCstAAAAALdP4qCWUKOpcNDRhpT099YkCeQL",
url="https://capskip.com/captcha-demo/recaptcha-v3/",
version="v3",
action="demo",
)
token = result["code"] # the g-recaptcha-response token
print(token)const { CapSkip } = require('capskip');
// Connect to the CapSkip app running on your machine
const solver = new CapSkip({ host: '127.0.0.1', port: 8080 });
(async () => {
// Solve the reCAPTCHA v3 on this page
const result = await solver.recaptcha(
'6LcHaCstAAAAALdP4qCWUKOpcNDRhpT099YkCeQL',
'https://capskip.com/captcha-demo/recaptcha-v3/',
{ version: 'v3', action: 'demo' },
);
const token = result.code; // the g-recaptcha-response token
console.log(token);
})();<?php
require 'vendor/autoload.php';
use CapSkip\CapSkip;
// Connect to the CapSkip app running on your machine
$solver = new CapSkip(['host' => '127.0.0.1', 'port' => 8080]);
// Solve the reCAPTCHA v3 on this page
$result = $solver->recaptcha(
'6LcHaCstAAAAALdP4qCWUKOpcNDRhpT099YkCeQL',
'https://capskip.com/captcha-demo/recaptcha-v3/',
['version' => 'v3', 'action' => 'demo']
);
$token = $result['code']; // the g-recaptcha-response token
echo $token;using CapSkip;
// Connect to the CapSkip app running on your machine
var solver = new CapSkipClient(host: "127.0.0.1", port: 8080);
// Solve the reCAPTCHA v3 on this page
var result = await solver.RecaptchaAsync(
"6LcHaCstAAAAALdP4qCWUKOpcNDRhpT099YkCeQL",
"https://capskip.com/captcha-demo/recaptcha-v3/",
new Dictionary<string, object?> { ["version"] = "v3", ["action"] = "demo" });
string token = result.Code; // the g-recaptcha-response token
Console.WriteLine(token);You get a long g-recaptcha-response token, ready to submit.
Use the token
Put the token into the hidden g-recaptcha-response field (or send it straight to your backend), then submit. Your server verifies it with Google siteverify, which returns the score and the action. Note that the Check button on this page runs its own grecaptcha.execute() call, so it always scores a freshly generated browser token rather than one you place in the field. reCAPTCHA v3 tokens are single use and expire in about two minutes, so use each one right away.
// Drop the solved token into the reCAPTCHA v3 response field
document.querySelector('[name="g-recaptcha-response"]').value = token;
// ...then submit your form. Your backend verifies the token with Google
// siteverify and checks the returned score and action.Using CapSkip on other reCAPTCHA v3 sites
reCAPTCHA v3 is invisible, so first confirm the page uses it: there is no checkbox, and the api.js script loads with a render=SITEKEY parameter. To solve it with the SDK you need three values from the page:
- Site key: the
render=SITEKEYvalue in theapi.jsscript URL. - Action: search the page's JavaScript for a
grecaptcha.execute()call and read theactionvalue passed to it. If you cannot find one, useverify, which is the default. - Page URL: the full address of the page.
reCAPTCHA v3 Enterprise
If the page loads enterprise.js instead of api.js, add the enterprise flag:
result = solver.recaptcha(
sitekey="6Lc...ENTERPRISE_SITEKEY",
url="https://example.com/",
version="v3",
action="demo",
enterprise=1,
)
token = result["code"] # the g-recaptcha-response tokenconst result = await solver.recaptcha(
'6Lc...ENTERPRISE_SITEKEY',
'https://example.com/',
{ version: 'v3', action: 'demo', enterprise: 1 },
);
const token = result.code; // the g-recaptcha-response token$result = $solver->recaptcha(
'6Lc...ENTERPRISE_SITEKEY',
'https://example.com/',
['version' => 'v3', 'action' => 'demo', 'enterprise' => 1]
);
$token = $result['code']; // the g-recaptcha-response tokenvar result = await solver.RecaptchaAsync(
"6Lc...ENTERPRISE_SITEKEY",
"https://example.com/",
new Dictionary<string, object?> { ["version"] = "v3", ["action"] = "demo", ["enterprise"] = 1 });
string token = result.Code; // the g-recaptcha-response tokenA proxy is also supported, which helps when the site scores requests by IP.
Not using Python, Node.js, PHP or C#? The SDKs are just wrappers over the CapSkip HTTP API (the standard in.php / res.php endpoints), so you can solve reCAPTCHA v3 from any language, framework or tool. See the reCAPTCHA v3 API reference.
Option 3: Send your existing solver-service code to CapSkip
Already solving reCAPTCHA v3 through a pay-per-captcha service such as 2Captcha, Anti-Captcha or CapMonster? You do not have to rewrite a line. The CapSkip app includes a service emulator that speaks those services' own APIs locally: pick the service you use, click Add to hosts file, and every request your bot, scraper or off-the-shelf tool already sends to it is answered by CapSkip on your own machine, for a flat price instead of a per-solve bill.
Pick your service
Open the CapSkip app and choose the service your code already talks to: 2Captcha, RuCaptcha, Anti-Captcha, CapMonster Cloud, CapSolver, DeathByCaptcha, SolveCaptcha or Captchas.io.
Add to hosts file
One click in the app points that service's domain at CapSkip, so the calls your tool makes are answered on your own machine instead of going out to a paid API.
Run your tool unchanged
Same API key, same request, same polling loop. CapSkip replies in that service's own format and your code gets a valid g-recaptcha-response token for the action you ask for back.
Nothing below changes when you switch. It is the same call your code makes today, except that reCAPTCHA v3 is now solved locally and a valid g-recaptcha-response token for the action you ask for comes back from CapSkip:
POST https://2captcha.com/in.php
key=YOUR_EXISTING_API_KEY
method=userrecaptcha
googlekey=6LcHaCstAAAAALdP4qCWUKOpcNDRhpT099YkCeQL
pageurl=https://capskip.com/captcha-demo/recaptcha-v3/
version=v3
action=verify
min_score=0.7
GET https://2captcha.com/res.php?key=YOUR_EXISTING_API_KEY&action=get&id=2122988149
OK|03AGdBq26… the v3 token, solved by CapSkipClient libraries work the same way: an Anti-Captcha style createTask / getTaskResult pair, or any wrapper built on one of these services, keeps working once the emulator is on. The full request and response reference lives in the CapSkip API docs.
More on solving reCAPTCHA v3
Guides for the tools and languages people usually pair with this demo.
About this reCAPTCHA v3 demo
This page is a live reCAPTCHA v3 demo where you can test how reCAPTCHA v3 works and watch it get solved in real time. reCAPTCHA v3 is Google's invisible, score based captcha: it runs in the background, analyzes behavior, and returns a g-recaptcha-response token with a score from 0.0 (bot) to 1.0 (human). There is no checkbox and no image grid, just a risk score your server checks against a threshold.
Developers, testers and automation engineers can use this reCAPTCHA v3 test page to observe token generation, score evaluation and the action parameter, and to benchmark how CapSkip solves reCAPTCHA v3. Whether you need to solve reCAPTCHA v3 once or automate thousands of solves, CapSkip is a reCAPTCHA v3 solver that works three ways: the no-code captcha solver extension for Chrome and Firefox, and the captcha solving SDK for Python, Node.js, PHP and C#, and drop-in emulation of the captcha services you may be paying per solve today, all with unlimited solving on one flat price. All three are driven by the same desktop AI captcha solver, installed once and running on your own machine, so nothing is queued on a remote server and nothing is billed per solve.
