2captcha
✓Verified·Scanned 2/17/2026
Solve CAPTCHAs using 2Captcha service via CLI. Use for bypassing captchas during web automation, account creation, or form submission.
from clawhub.ai·v198da77·7.2 KB·0 installs
Scanned from 1.0.0 at 198da77 · Transparency log ↗
$ vett add clawhub.ai/adinvadim/2captcha
solve-captcha
Solve CAPTCHAs from the command line using 2Captcha human-powered service.
Features
- 10 captcha types — Image, reCAPTCHA v2/v3, hCaptcha, Turnstile, FunCaptcha, GeeTest, Amazon WAF
- Zero dependencies — Pure Python 3 stdlib
- Human-first design — Clear output, helpful errors, progress indicators
- Script-friendly —
--jsonoutput, proper exit codes,--quietmode - Flexible config — Flag > env > config file precedence
Installation
# Quick install (one line)
curl -fsSL https://raw.githubusercontent.com/adinvadim/2captcha-cli/main/solve-captcha \
-o /usr/local/bin/solve-captcha && chmod +x /usr/local/bin/solve-captcha
# Or with Homebrew (coming soon)
# brew install adinvadim/tap/solve-captcha
# Or clone manually
git clone https://github.com/adinvadim/2captcha-cli.git
cd 2captcha-cli
chmod +x solve-captcha
sudo ln -s $(pwd)/solve-captcha /usr/local/bin/
Configuration
API key lookup order:
--api-key/-kflagTWOCAPTCHA_API_KEYenvironment variable~/.config/2captcha/api-keyfile
# Option 1: Environment
export TWOCAPTCHA_API_KEY="your-key"
# Option 2: Config file
mkdir -p ~/.config/2captcha
echo "your-key" > ~/.config/2captcha/api-key
Usage
Quick examples
# Image captcha
solve-captcha image captcha.png
solve-captcha image https://example.com/captcha.jpg --math
# reCAPTCHA v2
solve-captcha recaptcha2 -s 6Le-wvkSAAAA... -u https://example.com
# hCaptcha
solve-captcha hcaptcha -s a5f74b19-9e45... -u https://example.com
# Cloudflare Turnstile
solve-captcha turnstile -s 0x4AAA... -u https://example.com
# Check balance
solve-captcha balance
Commands
| Command | Description |
|---|---|
image <file|url> | Solve image captcha (OCR) |
recaptcha2 | Solve reCAPTCHA v2 |
recaptcha3 | Solve reCAPTCHA v3 |
hcaptcha | Solve hCaptcha |
turnstile | Solve Cloudflare Turnstile |
funcaptcha | Solve Arkose Labs FunCaptcha |
geetest | Solve GeeTest v3 |
geetest4 | Solve GeeTest v4 |
amazon | Solve Amazon WAF CAPTCHA |
text <question> | Solve text question |
balance | Check account balance |
Global flags
| Flag | Description |
|---|---|
-h, --help | Show help |
-V, --version | Show version |
-k, --api-key | API key (overrides env/config) |
-j, --json | Output full JSON response |
-q, --quiet | Suppress progress output |
-v, --verbose | Verbose debug output |
-t, --timeout | Timeout in seconds (default: 180) |
--no-color | Disable colored output |
Image captcha options
solve-captcha image captcha.png [options]
| Option | Description |
|---|---|
--phrase | Answer contains multiple words |
--case-sensitive | Case-sensitive answer |
--numeric N | 0=any, 1=numbers, 2=letters, 3=either, 4=both |
--math | Requires calculation |
--min-length N | Minimum answer length |
--max-length N | Maximum answer length |
--comment TEXT | Instructions for solver |
--lang LANG | Language pool (en, rn) |
Output
Human mode (default)
$ solve-captcha image captcha.png
Submitting image captcha...
Solving... 12s
✓ Solved in 0.00025 USD
abc123
JSON mode
$ solve-captcha --json image captcha.png
{
"errorId": 0,
"status": "ready",
"solution": {"text": "abc123"},
"cost": "0.00025"
}
Quiet mode (for scripts)
TOKEN=$(solve-captcha -q recaptcha2 -s KEY -u URL)
Exit codes
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | General error |
| 2 | Invalid usage / missing args |
| 3 | Timeout |
| 4 | Authentication error |
| 130 | Interrupted (Ctrl-C) |
Environment
Respects standard conventions:
NO_COLOR— Disable colorsTERM=dumb— Disable colors- Non-TTY stderr — Disable progress/colors
License
MIT © Vadim Kostin (@adinvadim)