greezlu / capsolver-php
0.9.4
2025-05-29 18:48 UTC
Requires
- php: >=7.4
- ext-curl: *
- ext-json: *
README
The simple client for CapSolver captcha solving service.
Installation
This package can be installed via composer.
Composer
composer require greezlu/capsolver-php
Configuration
CapsolverClient
instance can be created like this:
$solver = new \Capsolver\CapsolverClient('YOUR_API_KEY');
Solve captcha
Find more information about request and response in the related documentation page.
ReCaptcha v3
More in the documentation.
Request:
$solution = $solver->recaptchaV3( \Capsolver\Solvers\Token\ReCaptchaV3::TASK, [ 'websiteURL' => 'https://www.google.com/recaptcha/api2/demo', 'websiteKey' => '6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-', 'pageAction' => 'verify', 'minScore' => 0.6, 'proxy' => 'http:ip:port:user:pass' ] );
Response:
$solution = [ 'userAgent' => 'xxx', 'expireTime' => 1671615324290, 'gRecaptchaResponse' => '3AHJ...' ];
ReCaptcha v2
More in the documentation.
Request:
$solution = $solver->recaptchaV2( \Capsolver\Solvers\Token\ReCaptchaV2::TASK, [ 'websiteURL' => 'https://www.google.com/recaptcha/api2/demo', 'websiteKey' => '6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-', 'proxy' => 'http:ip:port:user:pass' ] );
Response:
$solution = [ 'userAgent' => 'xxx', 'expireTime' => 1671615324290, 'gRecaptchaResponse' => '3AHJ...' ];
Cloudflare Turnstile
More in the documentation.
Request:
$solution = $solver->turnsite([ 'websiteURL' => 'https://www.yourwebsite.com', 'websiteKey' => '0x4XXXXXXXXXXXXXXXXX', 'metadata' => [ 'action' => 'login', //optional 'cdata' => '0000-1111-2222-3333-example-cdata' //optional ] ]);
Response:
$result = [ 'token' => "0.mF74FV8wEuf...", 'type' => 'turnstile', 'userAgent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)...' ];
Error handling
If case of an error solver throws an instance of CapsolverException
exception.
try { $solution = $solver->recaptchaV3('', []); } catch (\Capsolver\Exceptions\RequestException $error) { // Error happened before api request } catch (\Capsolver\Exceptions\ResponseException $error) { // Error happened after api request } catch (\Capsolver\Exceptions\CapsolverException $error) { // General error }