v2.0.0 2020-07-27 21:59 UTC

This package is auto-updated.

Last update: 2024-06-28 09:17:19 UTC



Works for solving captchas when scraping Google, YouTube, and other sites that use ReCaptcha.

ReCaptcha V2

Official PHP library from 2captcha did not work too well, so this was built.


use CaptchaSolver\TwoCaptcha\Client;
use CaptchaSolver\TwoCaptcha\InRequest;

$captcha = new Client([
    'key' => 'API_KEY_GOES_HERE',
    'proxy' => null // optional

$request = new InRequest([
    'googlekey' => '',
    'pageurl' => ''

$response = $captcha->send($request);
$id = $response->getResult();


$response = $captcha->getResult($id);
$solution = $response->getSolution();

// or combine the two calls into one that polls automatically every 5 seconds and times out after 90 seconds:

$response = $captcha->solveReCaptchaV2($request, 90);

$solution should now hold a "solution" token that looks something like this:


submit the captcha form given to you with that solution as g-recaptcha-response field along with any other relevant form fields, and you are done!


composer require athlon1600/php-captcha-solver


A useful mini web-application can be launched via:

php -S localhost:8000 -t public

and then visit:

Known issues

Sometimes solving the captcha will not get you through, and instead you would just get this message at the end:

so at this point there is not much else you can do other than not make any requests for a while until Google automatically unblocks your IP address.

Misc stuff

Make 'g-recaptcha-response' textarea visible on page:

document.getElementById('g-recaptcha-response').style = null;