Node.js package for easy integration with 2Captcha API (Captcha Solver as a Service)
npm install @fede14it/node_two_captchabash
npm install @fede14it/node_two_captcha
`
Usage
$3
`javascript
// Import module
const Client = require('@fede14it/node_two_captcha');
// Declare your client
client = new Client('your_2captcha_key', {
timeout: 60000,
polling: 5000,
throwErrors: false});
`
The first parameter of the TwoCaptchaClient constructor is your API key from
2Captcha. The other parameters are:
- timeout: Time (milliseconds) to wait before giving up on waiting for a
captcha solution.
- polling: Time (milliseconds) between polls to 2captcha server. 2Captcha
documentation suggests this time to be at least 5 seconds, or you might get
blocked.
- throwErrors: Whether the client should throw errors or just log the errors.
$3
#### Image CAPTCHA
`javascript
client.decode({
url: 'http://bit.ly/1xXZcKo'
}).then(function(response) {
console.log(response.text);
});
> fede14it
`
decode is an async function. Valid parameters for decode function are:
- base64: An already base64-coded image.
- buffer: A buffer object of a binary image.
- path: The path for a system-stored image.
- url: Url for a web-located image.
The returned value will be a Captcha object. Its properties are:
- apiResponse: Complete API response body for captcha request.
- id: Captcha ID, as provided from 2Captcha.
- text: Text from captcha.
- coordinates(): If the captcha sent was a image, this function returns the
coordinates (X, Y) clicked.
- indexes(): If the captcha sent was tile-like, this function returns the
indexes of the clicks on an array.
#### reCAPTCHA v2
`javascript
client.decodeRecaptchaV2({
googlekey: 'the_key_extracted_from_the_page',
pageurl: 'https://www.google.com/recaptcha/api2/demo'
}).then(function(response) {
console.log(response.text);
});
> jTfh3o9uqafa-u5RtYofHHo2uDk0T78f78HvttFGYft8pG3wuhd-UHAIy271bQXPeUNRm...
`
decodeRecaptchaV2 is an async function. The parameters for decodeRecaptchaV2
function are:
- googlekey: The Google key for the reCAPTCHA.
- pageurl: The URL of the page with the reCAPTCHA challenge.
- invisible: optional (Boolean) switch for invisible reCAPTCHA, default is false
- enterprise: optional (Boolean) switch for reCAPTCHA Enterprise, default is false
#### reCAPTCHA v3
`javascript
client.decodeRecaptchaV3({
googlekey: 'the_key_extracted_from_the_page',
pageurl: 'https://www.site.with.recaptcha.v3/example',
action: 'test'
}).then(function(response) {
console.log(response.text);
});
> jTfh3o9uqafa-u5RtYofHHo2uDk0T78f78HvttFGYft8pG3wuhd-UHAIy271bQXPeUNRm...
`
decodeRecaptchaV3 is an async function. The parameters for decodeRecaptchaV3
function are:
- googlekey: The Google key for the reCAPTCHA.
- pageurl: The URL of the page with the reCAPTCHA challenge.
- action: the action name used by the CAPTCHA.
- enterprise: optional (Boolean) switch for reCAPTCHA Enterprise, default is false
#### hCaptcha
`javascript
client.decodeHCaptcha({
sitekey: 'the_key_extracted_from_the_page',
pageurl: 'https://www.site.with.hcaptcha/example',
}).then(function(response) {
console.log(response.text);
});
> P0_eyJ0eXAiIoJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJwYXNza2V5IjoiczHiam4vKzZnb...
`
decodeHCaptcha is an async function. The parameters for decodeHCaptcha
function are:
- sitekey: The site key for the hCaptcha.
- pageurl: The URL of the page with the hCaptcha challenge.
- invisible: optional (Boolean) switch for invisible hCaptcha, default
is false.
$3
`javascript
// 61086191138 is the ID of a previously sent CAPTCHA
client.captcha('61086191138').then(function(response){
console.log(response);
});
> Captcha {
_id: '61086191138',
_apiResponse: 'OK|infosimples',
_text: 'infosimples' }
`
$3
`javascript
client.report('61086191138').then(function(response) {
console.log(response);
});
// Returns whether the report was received or not
> true
`
Or send a correct report by setting bad parameter to false. Default is true.
`javascript
client.report('61086191138', false);
`
> Warning: abusing on this method may get you banned.
$3
`javascript
let date = new Date('2019-02-04');
client.stats(date).then(function(response) {
console.log(response);
});
// Returns an XML string with your usage statistics
> 0 0 0 0 ...
`
$3
`javascript
client.balance().then(function(response) {
console.log(response);
});
// Returns a float with your account balance in USD
> 3.75371
``