reCAPTCHA v2 Solver API
Solve and bypass reCAPTCHA v2 through one stable REST API. Send the target details and get a ready-to-use solution back in seconds, without maintaining custom bypass logic.

How the reCAPTCHA v2 solver works
Google's classic "I'm not a robot" checkbox captcha, plus the invisible and Enterprise variants (RecaptchaV2Invisible, RecaptchaV2Enterprise, RecaptchaV2EnterpriseInvisible). We solve the checkbox flow and any follow-up image challenge automatically.
A predictable three-step flow that stays the same even when reCAPTCHA v2 changes its protection.
Send the site key from the target page and we return a token ready to submit as the g-recaptcha-response form field - no browser or image-solving logic required on your end.
Submit the target
Send the page URL and the challenge-specific fields in a single API request.
We handle the challenge
CaptchaSolv routes the task to a specialized solver and tracks it until completion.
Use the solution
Receive the token, headers, cookies, or sensor payload required by your next request.
reCAPTCHA v2 API request & response
The same endpoint and response envelope across every supported solver.
{
"api_key": "YOUR_API_KEY",
"type": "RecaptchaV2",
"site_url": "https://example.com/login",
"data": {
"site_key": "6LcXXXXXXXXXXXXXXXXXXXXXX"}
}{
"errorId": 0,
"status": "ready",
"solvtime": 8.52,
"data": {
"useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)...",
"language": "en-US,en;q=0.9",
"solution": {
"token": "03AGdBq26..."}
}
}Task data fields
Fields you can send inside the data object of a solve request for this captcha type.
site_keyRequiredThe reCAPTCHA site key from the target page.
page_actionOptionalThe action string, if the site uses enterprise-style execute(). Usually omitted for standard v2.
is_enterpriseOptionaltrue if the site uses enterprise reCAPTCHA. Set automatically by the enterprise type strings.
api_domainOptionalCustom reCAPTCHA API domain if the site proxies Google's API. Defaults to www.google.com.
Solution fields
Fields returned in data.solution once the task is solved.
solution.tokenRequiredThe reCAPTCHA token to submit as the g-recaptcha-response form field.
What is reCAPTCHA v2?
reCAPTCHA v2 is Google's classic "I'm not a robot" captcha. The widget renders a checkbox - or runs invisibly when a button is clicked - analyses the browser and the visitor's behaviour, and either passes right away or opens an image challenge such as "select all squares with traffic lights".
Once the check is passed, the widget writes a token into the hidden g-recaptcha-response field. The site submits it with the form and its backend verifies the token with Google before processing the request. Tokens expire after about two minutes and can be verified only once, so they can't be stockpiled.
Solving reCAPTCHA v2 at scale means handling the checkbox, the invisible variant, Enterprise keys and every image challenge Google decides to show. Our reCAPTCHA v2 solver covers all of them behind one request: send the site key and page URL, get back a token ready to submit.
- 01
Widget loads
api.js (or enterprise.js) renders the checkbox for the site's data-sitekey.
- 02
Risk check
Google scores the browser and behaviour - low-risk visitors pass with one click.
- 03
Image challenge
Suspicious sessions get a grid of images to classify, sometimes several rounds.
- 04
Token issued
A g-recaptcha-response token is created and verified by the site's backend.
reCAPTCHA v2 parameters
data-sitekeyKeyPublic site key on the widget's div - send it as site_key.
g-recaptcha-responseKeyHidden textarea the token is written to before the form is submitted.
data-callbackJavaScript function some sites call with the token instead of reading the field.
data-size="invisible"Marks the invisible variant triggered by a button - use RecaptchaV2Invisible.
enterprise.jsLoaded on reCAPTCHA Enterprise sites - use RecaptchaV2Enterprise.
recaptcha.netAlternative domain some sites load reCAPTCHA from - pass it as api_domain.
How to bypass reCAPTCHA v2 with the API
You don't have to click checkboxes or classify images yourself. The solver runs the whole widget flow, including any image rounds, and hands you the final token.
- 01
Find the site key
Copy data-sitekey from the g-recaptcha div, or the sitekey passed to grecaptcha.render() in the page's script.
- 02
Pick the matching type
Use RecaptchaV2, RecaptchaV2Invisible, RecaptchaV2Enterprise or RecaptchaV2EnterpriseInvisible to match the widget on the page.
- 03
Create the task
POST site_url and site_key to /solve and poll until the status is ready - image challenges are solved inside the same task.
- 04
Submit the token
Put solution.token into g-recaptcha-response (or call the data-callback with it) and submit within two minutes.
reCAPTCHA v2 solver FAQ
Common questions about integrating this solver correctly.
Yes - it works on any site running reCAPTCHA v2, including the checkbox, invisible, and Enterprise variants, not just a fixed list of targets. Send the site key from the page you're hitting and we solve that site's specific challenge.
No. If the checkbox flow triggers a follow-up image challenge, our solver handles that automatically as part of the same task - you just receive the final token in the response.
Enterprise reCAPTCHA v2 loads recaptcha/enterprise.js instead of recaptcha/api.js and can include extra risk-analysis signals, but the API request and response shape are the same on our end - just use the matching type string for the variant you found on the page.
Set solution.token as the value of the g-recaptcha-response form field (or the equivalent hidden field your target site expects) before submitting the form or API request that the captcha was protecting.
About two minutes, and only for a single verification. Request the token right before you submit the protected form or call, rather than solving ahead of time and caching it.
Stuck trying to bypass reCAPTCHA v2?
Join our Discord and our team will help you get reCAPTCHA v2 solving working in your setup - free advice on handling it programmatically, even as the challenge changes over time.
Other solvers
Switch to a different captcha type we support.