@captcha-libs/capsolver
v1.1.8
Published
CapSolver NodeJS client, captcha recognition service
Downloads
1,327
Maintainers
Readme
Capsolver NodeJS captcha client - use CapSolver with ease
Docs: https://docs.capsolver.com
Installation
Via npm
$ npm i @captcha-libs/capsolver
pnpm
$ pnpm i @captcha-libs/capsolver
yarn
$ yarn add @captcha-libs/capsolver
Usage
//import CapSolver client and desired task
import { CapSolver, ReCaptchaV3EnterpriseTaskProxyLess } from "@captcha-libs/capsolver";
const capsolverClient = new CapSolver({
clientKey: "<YOUR_CLIENT_KEY>",
pollingInterval: 5000, // optional. Delay in milliseconds to fetch task result, default: 5000ms
timeout: 120_000 // optional. Max time in milliseconds to wait for settled task result, default: 120000ms
});
// Pass captcha params to solve
const reCaptchaV3Request = new ReCaptchaV3EnterpriseTaskProxyLess({
websiteKey: "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
websiteURL: "https://www.google.com/recaptcha/api2/demo"
});
// returns solution or throws an exception
const reCaptchaV3Solution = await capsolverClient.solve(reCaptchaV3Request);
const {
solution, //returns generic captcha type specific solution
errorId,
errorCode,
errorDescription,
status
} = reCaptchaV3Solution;
const {
gRecaptchaResponse, userAgent, expireTime
} = solution;
//if you want to submit feedback
const feedback = await capsolverClient.feedbackTask({
taskId,
invalid: false, //is captcha solved successfully? required.
message: "success", //optional
code: 1, //optional
});
//to get balance
const balance = await capsolverClient.getBalance()
Usage with proxies
const reCaptchaV3Request = new ReCaptchaV3EnterpriseTask({
websiteKey: "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
websiteURL: "https://www.google.com/recaptcha/api2/demo",
//You can send the proxy information with one of these proxy format, please read carefully
//pass proxy connection string
proxy: "socks5:192.191.100.10:4780:user:pwd",
//or
proxy: "198.199.100.10:4780:user:pwd",
//or use object format
proxyAddress: "198.199.100.10",
proxyType: "https", // socks5 | http | https
proxyLogin: "user",
proxyPassword: "pass",
proxyPort: 3949,
});
Features
- Supports all captcha types, solutions and methods from CapSolver docs (updated at June 2024)
- TypeScript-first design
- Automatically waits for solution
- Fully tested task payloads
- Only one dependency (ofetch)
Currently supported task payloads
What 'custom' does mean? Custom means that the parameters and solutions have been narrowed down from the official documentation from more general cases. However, you can still use classes strictly according to the official documentation.
- Classification
- Token
- HCaptchaTask | HCaptchaTaskProxyLess
- FunCaptchaTaskProxyLess
- GeeTestTask | GeeTestTaskProxyLess
- ReCaptchaV2Task | ReCaptchaV2EnterpriseTask | ReCaptchaV2TaskProxyLess | ReCaptchaV2EnterpriseTaskProxyLess
- ReCaptchaV3Task | ReCaptchaV3EnterpriseTask | ReCaptchaV3TaskProxyLess | ReCaptchaV3EnterpriseTaskProxyLess | ~~DEPRECATED (ReCaptchaV3M1TaskProxyLess)~~
- DatadomeSliderTask
- AntiAwsWafTask | AntiAwsWafTaskProxyLess
- DEPRECATED ~~AntiCyberSiAraTask | AntiCyberSiAraTaskProxyLess~~
- AntiImpervaTask | AntiImpervaTaskProxyLess
- AntiCloudflareTurnstileTask
- AntiCloudflareChallengeTask
- DEPRECATED. ~~AntiAkamaiBMPTask~~
- DEPRECATED. ~~Custom - AntiAkamaiPowTask~~
- DEPRECATED. ~~Custom - AntiAkamaiSensorTask~~
- DEPRECATED ~~AntiAkamaiWebTask~~
~~DEPRECATED~~ = task type removed from service support, but you can still try to send task