bestcaptchasolver
Version:
bestcaptchasolve-nodejs is a super easy to use bypass captcha nodeJS API wrapper for bestcaptchasolver.com captcha service
268 lines (217 loc) • 8.36 kB
Markdown
bestcaptchasolver - Bestcaptchasolver nodeJS client API library
===============================================================
bestcaptchasolver-nodejs is a super easy to use bypass captcha nodeJS API wrapper for bestcaptchasolver.com captcha service
## Installation
npm install bestcaptchasolver
or
git clone https://github.com/bestcaptchasolver/bestcaptchasolver-nodejs
## Usage
Set access token, before using the library
``` javascript
var bestcaptchasolver = require('bestcaptchasolver');
bestcaptchasolver.set_access_token('access token from /account');
```
**Get balance**
``` javascript
bestcaptchasolver.account_balance().then(function (balance) {
console.log('Balance: $', balance);
})
```
**Submit image captcha**
The submission of image captcha is done by sending us the image as a b64 encoded string.
``` javascript
bestcaptchasolver.submit_captcha({
b64image: captcha,
// is_case: true, // case sensitive, default: false, optional
// is_phrase: true, // contains at least one space, default: false, optional
// is_math: true, // math calculation captcha, default: false, optional
// alphanumeric: 2, // 1 (digits only) or 2 (letters only), default: all characters
// minlength: 2, // minimum length of captcha text, default: any
// maxlength: 3, // maximum length of captcha text, default: any
// affiliate_id: 'ID of affiliate' // default: None, optional
}).then(function (id)) { /* use id to retrieve text */ };
```
**Submit reCAPTCHA**
The `page_url` and `site_key` are the only requirements. There are other optional parameters though.
``` javascript
bestcaptchasolver.submit_recaptcha({
page_url: 'PAGE_URL_HERE',
site_key: 'SITE_KEY_HERE',
// other parameters
// -------------------------------------------
// reCAPTCHA type(s) - optional, defaults to 1
// -------------------------------------------
// 1 - v2
// 2 - invisible
// 3 - v3
// 4 - enterprise v2
// 5 - enterprise v3
//
// type: '1',
//
// user_agent: 'Your user agent', // optional
// proxy: 'abc:def@12.35.56.78:4321 or 12.35.56.78:4321', // optional
// v3_action: '', // v3 action, optional
// v3_min_score: '0.3', // if v3, score to target, optional
// domain: 'www.google.com', // optional
// data_s: 'recaptcha data-s parameter used in loading reCAPTCHA',
// cookie_input: 'a=b;c=d', // used in reCAPTCHA solving, optional
// affiliate_id: 'ID of affiliate' // optional
}).then(function (id)) { /* use id to retrieve response */ };
```
**Geetest**
- domain
- gt
- challenge
- api_server (optional)
- user_agent (optional)
- proxy (optional)
```javascript
bestcaptchasolver.submit_geetest({
domain: 'DOMAIN_HERE',
gt: 'GT_HERE',
challenge: 'CHALLENGE_HERE',
// api_server: 'GT_DOMAIN_HERE', // optional
// user_agent: 'your user agent', // optional
// proxy: 'user:pass@123.45.67.89:3031', // optional
// affiliate_id: 'ID of affiliate' // optional
}).then(function (id)) { /* use id to retrieve solution */ };
```
**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 `<script>` tag you'll find a link that looks like this: https://i.imgur.com/XcZd47y.png
```javascript
bestcaptchasolver.submit_geetest_v4({
domain: 'https://example.com',
captchaid: '647f5ed2ed8acb4be36784e01556bb71',
// user_agent: 'your user agent', // optional
// proxy: 'user:pass@123.45.67.89:3031', // optional
// affiliate_id: 'ID of affiliate' // optional
}).then(function (id)) { /* use id to retrieve solution */ };
```
**Capy**
- page_url
- site_key
- user_agent (optional)
- proxy (optional)
```javascript
bestcaptchasolver.submit_capy({
page_url: 'PAGE_URL_HERE',
site_key: 'SITE_KEY_HERE',
// user_agent: 'your user agent', // optional
// proxy: 'user:pass@123.45.67.89:3031', // optional
// affiliate_id: 'ID of affiliate' // optional
}).then(function (id)) { /* use id to retrieve solution */ };
```
**hCaptcha**
- page_url
- site_key
- invisible (optional)
- payload (optional)
- domain (optional)
- user_agent (optional)
- proxy (optional)
```javascript
bestcaptchasolver.submit_hcaptcha({
page_url: 'PAGE_URL_HERE',
site_key: 'SITE_KEY_HERE',
// invisible: 1,
// payload: {rqdata: 'from web requests'},
// domain: 'hcaptcha.com',
// user_agent: 'your UA',
// proxy: '12.34.54.56:1234'
// affiliate_id: 'ID of affiliate'
}).then(function (id)) { /* use id to retrieve solution */ };
```
**FunCaptcha (Arkose Labs)**
- page_url
- s_url
- site_key
- data (optional)
- user_agent (optional)
- proxy (optional)
```javascript
bestcaptchasolver.submit_funcaptcha({
page_url: 'https://abc.com',
s_url: 'https://api.arkoselabs.com',
site_key: '11111111-1111-1111-1111-111111111111',
// data: '{"x":"y"}', // optional
// user_agent: 'your user agent', // optional
// proxy: 'user:pass@123.45.67.89:3031', // optional
// affiliate_id: 'ID of affiliate' // optional
}).then(function (id)) { /* use id to retrieve solution */ };
```
**Turnstile (Cloudflare)**
- page_url
- site_key
- action (optional)
- cdata (optional)
- domain (optional)
- user_agent (optional)
- proxy (optional)
```javascript
bestcaptchasolver.submit_turnstile({
page_url: 'PAGE_URL_HERE',
site_key: 'SITE_KEY_HERE',
// action: 'taken from page source, optional',
// cdata: 'taken from page source, optional',
// domain: 'challenges.cloudflare.com',
// user_agent: 'your UA',
// proxy: '12.34.54.56:1234'
// affiliate_id: 'ID of affiliate'
}).then(function (id)) { /* use id to retrieve solution */ };
```
**Task**
- template_name
- page_url
- variables
- user_agent (optional)
- proxy (optional)
```javascript
bestcaptchasolver.submit_task({
template_name: 'Login test page',
page_url: 'https://bestcaptchasolver.com/automation/login',
variables: {"username": "xyz", "password": "0000"},
// user_agent: 'your UA',
// proxy: '12.34.54.56:1234'
// affiliate_id: 'ID of affiliate'
}).then(function (id)) { /* use id to retrieve solution */ };
```
#### 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 `bestcaptchasolver.task_push_variables(captcha_id, push_variables)` method can be used as many times as it is needed.
```javascript
bestcaptchasolver.task_push_variables(captcha_id, {"tfa_code": "4965"})
```
**Retrieve**
Retrieval is done by passing the ID, for all captchas
``` javascript
bestcaptchasolver.retrieve_captcha(id).then(function (data) { console.log(JSON.stringify(data)); });
```
This method returns an object, with the `text` attribute for image captcha or `gresponse` if submission was done for reCAPTCHA
or `solution` for geetest and capy
**If reCAPTCHA is submitted with proxy, get proxy status**
```javascript
log('Recaptcha response: ' + data.gresponse);
log('Proxy status: ' + data.proxy_status);
```
**Set captcha bad**
```javascript
bestcaptchasolver.set_captcha_bad(captcha_id);
```
## Examples
Check the `examples` folder
## License
API library is licensed under the MIT License
## More information
More info about the API parameters can be found [here](https://bestcaptchasolver.com/captchabypass-api)
<sup><sub>captcha, bypasscaptcha, decaptcher, decaptcha, 2captcha, deathbycaptcha, anticaptcha,
bypassrecaptchav2, bypassnocaptcharecaptcha, bypassinvisiblerecaptcha, captchaservicesforrecaptchav2,
recaptchav2captchasolver, googlerecaptchasolver, recaptchasolverpython, recaptchabypassscript</sup></sub>