Library for automating captcha verification.


This module also has a CLI.

This module requires node >= 8.
npm install --save captcha-solver

const CaptchaSolver = require('captcha-solver')
const solver = new CaptchaSolver('browser')
const codes = await solver.solve()

Table of Contents
  • CaptchaSolver
    • provider
    • createTask
    • getTaskResult
Main entrypoint for solving captchas.

Type: function (provider, opts)
  • provider (string | CaptchaSolverProvider) Name of built-in provider or an instance of a custom provider to use for solving.
  • opts (optional, default {})
Provider powering this solver.

Type: CaptchaSolverProvider

Creates a new captcha solving task.

Valid values for opts.type are:
  • image-to-text
  • recaptcha
  • recaptcha-proxyless
  • nocaptcha
  • nocaptcha-proxyless
  • funcaptcha
  • funcaptcha-proxyless
Note that not all providers support all captcha types. See provider.supportedTaskTypes for a Set containing all task types a given provider supports.

Note that most of these options will be unused depending on the task type.

Type: function (opts)
  • opts object Options
    • opts.type string Type of captcha to solve
    • opts.image (buffer | string)? Path, URL, or buffer of an image to process
    • opts.websiteURL string? Website URL for nocaptcha, recaptcha, and funcaptcha
    • opts.websiteKey string? Recaptcha website key
    • opts.websiteSToken string? Secret token for old versions of Recaptcha
    • opts.websitePublicKey string? Funcaptcha public key
    • opts.proxyType string? Proxy type (http/socks4/socks5)
    • opts.proxyAddress string? Proxy IP address (ipv4/ipv6)
    • opts.proxyPort (string | number)? Proxy port
    • opts.proxyLogin string? Proxy login for basic auth
    • opts.proxyPassword string? Proxy password
    • opts.userAgent string? Browser's User-Agent to emulate
    • opts.cookies string? Additional cookies to emulate
Fetches the result of a previously created captcha solving task.

Type: function (taskId, opts)
  • taskId string Unique task identifier
  • opts object? Options (optional, default {})
    • opts.retries number Number of retries to perform (optional, default 3)
    • opts.timeout number Max timeout to wait in ms before aborting (optional, default 30000)