https://github.com/bestcaptchasolver/bestcaptchasolver-php
bestcaptchasolver-php is a super easy to use bypass captcha php API wrapper for bestcaptchasolver.com captcha service
https://github.com/bestcaptchasolver/bestcaptchasolver-php
2captcha anticaptcha bestcaptchasolver bypass-invisible-recaptcha bypass-no-captcha-recaptcha bypass-recaptcha-v2 bypasscaptcha captcha captcha-services-for-recaptcha-v2 deathbycaptcha decaptcha decaptcher google-recaptcha-solver php-captcha php-recaptcha recaptcha-bypass-script recaptcha-solver-php recaptcha-v2-captcha-solver
Last synced: about 2 months ago
JSON representation
bestcaptchasolver-php is a super easy to use bypass captcha php API wrapper for bestcaptchasolver.com captcha service
- Host: GitHub
- URL: https://github.com/bestcaptchasolver/bestcaptchasolver-php
- Owner: bestcaptchasolver
- License: other
- Created: 2018-05-11T15:38:51.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2023-04-26T10:10:08.000Z (almost 3 years ago)
- Last Synced: 2025-03-14T04:34:31.619Z (12 months ago)
- Topics: 2captcha, anticaptcha, bestcaptchasolver, bypass-invisible-recaptcha, bypass-no-captcha-recaptcha, bypass-recaptcha-v2, bypasscaptcha, captcha, captcha-services-for-recaptcha-v2, deathbycaptcha, decaptcha, decaptcher, google-recaptcha-solver, php-captcha, php-recaptcha, recaptcha-bypass-script, recaptcha-solver-php, recaptcha-v2-captcha-solver
- Language: PHP
- Homepage: https://bestcaptchasolver.com
- Size: 43.9 KB
- Stars: 9
- Watchers: 0
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: license.md
Awesome Lists containing this project
README
BestCaptchaSolver.com php API wrapper
=========================================
bestcaptchasolver-php is a super easy to use bypass captcha php API wrapper for bestcaptchasolver.com captcha service
## Installation
composer require bestcaptchasolver/bestcaptchasolver
or
git clone https://github.com/bestcaptchasolver/bestcaptchasolver-php
## How to use?
Simply require the module, set the auth details and start using the captcha service:
``` php
require('lib/bestcaptchasolver.php');
```
Initialize library with access token
Get token from [https://bestcaptchasolver.com/account](https://bestcaptchasolver.com/account)
``` php
$bcs = new BestCaptchaSolver($ACCESS_TOKEN);
```
Once you've set your authentication details, you can start using the API
**Get balance**
Returns balance in USD
``` php
$balance = $bcs->account_balance();
```
**Submit image captcha**
You can give it a b64 encoded string or a file path as `image` parameter
``` php
$p = array();
$p['image'] = '../captcha.jpg';
// $p['is_case'] = FALSE; // is case sensitive, default: False
// $p['is_phrase'] = FALSE; // has at least one space, default: FALSE, optional
// $p['is_math'] = FALSE; // math captcha calculation, default: FALSE, optional
// $p['alphanumeric'] = 1; // 1 - digits only, 2 - letters only, default: all, optional
// $p['minlength'] = 2; // minimum text length, default: any, optional
// $p['maxlength'] = 3; // maximum text length, default: any, optional
// $p['affiliate_id'] = 'affiliate_id'; // get it from /account, optional
$id = $bcs->submit_image_captcha($p);
```
**Retrieve image text**
Once you have the captcha ID, you can check for completion of captcha
```php
$image_text = NULL;
while($image_text === NULL) {
$image_text = $bcs->retrieve($id)['text']; // get the image text (if completed)
sleep(2); // retry every 2 seconds
}
```
**Submit recaptcha details**
For recaptcha submission there are two parameters that are required an others that are optional
- page_url
- site_key
- type (optional, defaults to 1 if not given)
- `1` - v2
- `2` - invisible
- `3` - v3
- `4` - enterprise v2
- `5` - enterprise v3
- v3_action (optional)
- v3_min_score (optional)
- domain (optional)
- data_s (optional)
- cookie_input (optional)
- user_agent (optional)
- proxy (optional)
- affiliate_id (optional)
Check the [/api](https://bestcaptchasolver.com/api) page for more about this parameters
``` php
$p = array();
$p['page_url'] = $PAGE_URL;
$p['site_key'] = $SITE_KEY;
$id = $bcs->submit_recaptcha($p);
```
**Retrieve recaptcha gresponse**
Just as the image captcha, once you have the ID, you can start checking for it's
completion using the same retrieve method. The response (when ready) will be a gresponse code
```php
$gresponse = NULL;
while($gresponse === NULL) {
$gresponse = $bcs->retrieve($id)['gresponse']; // get the image text (if completed)
sleep(2); // retry every 2 seconds
}
```
**If submitted with proxy, get proxy status**
```
$proxy_status = $bcs->retrieve($id)['proxy_status']
```
**Geetest**
- domain
- gt
- challenge
- api_server (optional)
- user_agent (optional)
- proxy (optional)
```php
$p = array();
$p['domain'] = 'DOMAIN_HERE';
$p['gt'] = 'GT_HERE';
$p['challenge'] = 'CHALLENGE_HERE';
//$p['api_server'] = 'GT_DOMAIN_HERE'; // optional
//$p['user_agent'] = 'user agent here'; // optional
//$p['proxy'] = 'user:pass@123.45.67.89:3031'; // optional
//$p["affiliate_id"] = "affiliate_id"; // optional
$id = $bcs->submit_geetest($p);
$solution = $bcs->retrieve($id)['solution']; // get the image text (if completed)
```
**GeetestV4**
- domain
- captchaid
- user_agent (optional)
- proxy (optional)
**Important:** This is not the captchaid that's in our system that you receive while submitting a captcha. Gather this from HTML source of page with geetestv4 captcha, inside the `` tag you'll find a link that looks like this: https://i.imgur.com/XcZd47y.png
```php
$p = array();
$p['domain'] = 'https://example.com';
$p['captchaid'] = '647f5ed2ed8acb4be36784e01556bb71';
//$p['user_agent'] = 'user agent here'; // optional
//$p['proxy'] = 'user:pass@123.45.67.89:3031'; // optional
//$p["affiliate_id"] = "affiliate_id"; // optional
$id = $bcs->submit_geetest_v4($p);
$solution = $bcs->retrieve($id)['solution']; // get the image text (if completed)
```
**Capy**
- page_url
- site_key
- user_agent (optional)
- proxy (optional)
```php
$p = array();
$p['page_url'] = 'PAGE_URL_HERE';
$p['site_key'] = 'SITE_KEY_HERE';
//$p['user_agent'] = 'user agent here'; // optional
//$p['proxy'] = 'user:pass@123.45.67.89:3031'; // optional
//$p["affiliate_id"] = "affiliate_id"; // optional
$id = $bcs->submit_capy($p);
$solution = $bcs->retrieve($id)['solution'];
```
**hCaptcha**
- page_url
- site_key
- invisible (optional)
- payload (optional)
- domain (optional)
- user_agent (optional)
- proxy (optional)
```php
$p = array();
$p['page_url'] = 'PAGE_URL_HERE';
$p['site_key'] = 'SITE_KEY_HERE';
// $p['invisible'] = true;
// $p['payload'] = array(
// "rqdata" => "taken from web requests"
// );
// $p['domain'] = 'hcaptcha.com'; // optional
// $p['user_agent'] = 'user agent here'; // optional
// $p['proxy'] = '123.234.241.123:1234'; // optional
// $p["affiliate_id"] = "affiliate_id"; // get it from /account
$id = $bcs->submit_hcaptcha($p);
$solution = $bcs->retrieve($id)['solution'];
```
**FunCaptcha (Arkose Labs)**
- page_url
- s_url
- site_key
- data (optional)
- user_agent (optional)
- proxy (optional)
```php
$p = array();
$p['page_url'] = 'https://abc.com';
$p['s_url'] = 'https://api.arkoselabs.com';
$p['site_key'] = '11111111-1111-1111-1111-111111111111';
//$p['data'] = '{"x":"y"}'; // optional
//$p['user_agent'] = 'user agent here'; // optional
//$p['proxy'] = 'user:pass@123.45.67.89:3031'; // optional
//$p["affiliate_id"] = "affiliate_id"; // get it from /account
$id = $bcs->submit_funcaptcha($p);
$solution = $bcs->retrieve($id)['solution'];
```
**Turnstile (Cloudflare)**
- page_url
- site_key
- action (optional)
- cdata (optional)
- domain (optional)
- user_agent (optional)
- proxy (optional)
```php
$p = array();
$p['page_url'] = 'PAGE_URL_HERE';
$p['site_key'] = 'SITE_KEY_HERE';
// $p['action'] = 'taken from page source, optional';
// $p['cdata'] = 'taken from page source, optional';
// $p['domain'] = 'challenges.cloudflare.com'; // optional
// $p['user_agent'] = 'user agent here'; // optional
// $p['proxy'] = '123.234.241.123:1234'; // optional
// $p["affiliate_id"] = "affiliate_id"; // get it from /account
$id = $bcs->submit_turnstile($p);
$solution = $bcs->retrieve($id)['solution'];
```
**Task**
- template_name
- page_url
- variables
- user_agent (optional)
- proxy (optional)
- affiliate_id (optional)
```php
$p = array();
$p['page_url'] = 'https://bestcaptchasolver.com/automation/login';
$p['template_name'] = 'Login test page';
$p['variables'] = array(
"username" => "roger", "password" => "mypass"
);
// $p['user_agent'] = 'user agent here'; // optional
// $p['proxy'] = '123.234.241.123:1234'; // optional
// $p["affiliate_id"] = "affiliate_id"; // get it from /account
$id = $bcs->submit_task($p);
```
#### Task pushVariables
Update task variables while it is being solved by the worker. Useful when dealing with data / variables, of which
value you don't know, only after a certain step or action of the task. For example, in websites that require 2 factor
authentication code.
When the task (while running on workers machine) is getting to an action defined in the template, that requires a variable, but variable was not
set with the task submission, it will wait until the variable is updated through push.
The `bcs.task_push_variables(captcha_id, push_variables)` method can be used as many times as it is needed.
```python
$bcs->task_push_variables($id, array(
"tfa_code" => "1693"
));
```
**Set captcha bad**
When a captcha was solved wrong by our workers, you can notify the server with it's ID,
so we know something went wrong.
``` php
$bcs->set_captcha_bad(50);
```
## Examples
Check example.php
## License
API library is licensed under the MIT License
## More information
More details about the server-side API can be found [here](https://bestcaptchasolver.com/api)
<sup><sub>captcha, bypasscaptcha, decaptcher, decaptcha, 2captcha, deathbycaptcha, anticaptcha,
bypassrecaptchav2, bypassnocaptcharecaptcha, bypassinvisiblerecaptcha, captchaservicesforrecaptchav2,
recaptchav2captchasolver, googlerecaptchasolver, recaptchasolverpython, recaptchabypassscript, bestcaptchasolver</sup></sub>