2captcha is a service that solves many different types of captchas, this library serves as a wrapper around their API to bring easy, promise-based functionality to NodeJS. This libary specilizes in concurrent solves, and bulk-api usage.
- Promise based 2captcha solving
- Browser & NodeJS Support
- Uses node-fetch, a light weight http library
- Fluent typings & TS support
- Account Interaction
- Invalid Captcha reporting
- Proxy Support
Currently supports:
- google-recaptcha (v2 / v3),
- hcaptcha,
- FunCaptcha,
- base64 image captchas
Account InteractionBase64 image supportDocumentation Site- Built-in Rate-Limit handling
Proxy supportInvalid-Captcha reporting support- And many other things.
npm install 2captcha
yarn add 2captcha
Recaptcha,
const Captcha = require("2captcha")
// A new 'solver' instance with our API key
const solver = new Captcha.Solver("<Your 2captcha api key>")
/* Example ReCaptcha Website */
solver.recaptcha("6Ld2sf4SAAAAAKSgzs0Q13IZhY02Pyo31S2jgOB5", "https://patrickhlauke.github.io/recaptcha/")
.then((res) => {
console.log(res)
})
.catch((err) => {
console.error(err.message)
})
Image,
const Captcha = require("2captcha")
const fs = require("fs")
const solver = new Captcha.Solver("<Your 2captcha api key>")
// Read from a file as base64 text
solver.imageCaptcha(fs.readFileSync("./captcha.png", "base64"))
.then((res) => {
// Logs the image text
console.log(res)
})
.catch((err) => {
console.error(err.message)
})
Proxy,
const Captcha = require("2captcha")
const solver = new Captcha.Solver("<Your 2captcha api key>")
solver.recaptcha("6Ld2sf4SAAAAAKSgzs0Q13IZhY02Pyo31S2jgOB5", "https://patrickhlauke.github.io/recaptcha/", {
proxy: "login:[email protected]", // The (Username : Password @ Address) of our chosen proxy
proxytype: "HTTP" // The 'Type' of proxy, http, https, socks, ect.
})
.then((res) => {
console.log(res)
})
.catch((err) => {
console.error(err.message)
})
The latest version of the code base will always be under the 'next' branch!
- All pull requiests must provide a valid reason for the change or implementation
- All CORE CHANGES require an issue with reasoning made before a PR will even be addressed.
- All PR's must follow the general structure of the code base
- If you have questions, feel free to make an issue and i'll get to it right away!