greezlu / capsolver-php
0.9.4
2025-05-29 18:48 UTC
Requires
- php: >=7.4
- ext-curl: *
- ext-json: *
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
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 }