Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

2captcha-rucaptcha

DeOne4eg156MIT1.1.7TypeScript support: included

Simple 2captcha and rucaptcha API wrapper for Node.js

2captcha, 2captcha.com, rucaptcha, rucaptcha.com

readme

Simple 2captcha and rucaptcha API wrapper for Node.js

npm version coverage build

The package is written in TypeScript and currently only supports base64 images.

Instalation

NPM:

npm i 2captcha-rucaptcha --save

Yarn:

yarn add 2captcha-rucaptcha

Usage

All examples are on the github.

Upload image to rucaptcha

const { Captcha } = require("2captcha-rucaptcha");
const fs = require("fs");

const captcha = new Captcha({
  type: 1,
  key: "<YOUR_API_KEY>"
});

const base64 = fs.readFileSync("base64.txt", "utf-8");
captcha
  .solve({ method: "base64", body: base64 })
  .then(result => {
    console.log(result);
  })
  .catch(e => {
    console.log(e);
  });

Upload image to 2captcha

const { Captcha } = require("2captcha-rucaptcha");
const fs = require("fs");

const captcha = new Captcha({
  type: 2,
  key: "<YOUR_API_KEY>"
});

const base64 = fs.readFileSync("base64.txt", "utf-8");
captcha
  .solve({ method: "base64", body: base64 })
  .then(result => {
    console.log(result);
  })
  .catch(e => {
    console.log(e);
  });

Available options to create an instance

Name Required Description
type + 1 - rucaptcha
2 - 2captcha
key + Your API key
delay - Delay before receiving a captcha recognition response in seconds
Default - 3s

Available options solve()

Name Required Description
method + post (multipart form) or base64 (image base64 encode)
phrase - 0 - captcha contains one word
1 - captcha contains two or more words
regsense - 0 - captcha in not case sensitive
1 - captcha is case sensitive
numeric - 0 - not specified
1 - captcha contains only numbers
2 - captcha contains only letters
3 - captcha contains only numbers OR only letters
4 - captcha contains both numbers AND letters
calc - 0 - not specified
1 - captcha requires calculation (e.g. type the result 4 + 8 = )
min_len - 0 - not specified
1..20 - minimal number of symbols in captcha
max_len - 0 - not specified
1..20 - maximal number of symbols in captcha
language - 0 - not specified
1 - Cyrillic captcha
2 - Latin captcha.
lang - ru, en and etc.
textinstructions - Text will be shown to worker to help him to solve the captcha correctly.
imginstructions - BASE64
Image will be shown to worker to help him to solve the captcha correctly.
pingback - URL for pingback (callback) response that will be sent when captcha is solved.
URL should be registered on the server.
header_acao - 0 - disabled
1 - enabled.
If enabled in.php will include Access-Control-Allow-Origin:* header in the response.
Used for cross-domain AJAX requests in web applications.
softId - ID of software developer

Report bad and good

To report a failed or successful captcha solution, you need to use the following methods:

bad(id)
good(id)

Example:

solution = await captcha.solve({ method: "base64", body: base64, lang: "en", numeric: 1 });
if (ok) captcha.good(captcha.id);
else captcha.bad(captcha.id);

Proxy

Passed to the solve() along with the options above.

Name Description
proxy Format for IP authentication: IP_address:PORT
Example: proxy=123.123.123.123:3128
Format for login/password authentication: login:password@IP_address:PORT
Example: proxy=proxyuser:strongPassword@123.123.123.123:3128
proxytype Type of your proxy: HTTP, HTTPS, SOCKS4, SOCKS5.