← Back to Skills
Browser

2captcha

adinvadim By adinvadim 👁 15 views ▲ 0 votes

Solve CAPTCHAs using 2Captcha service.

GitHub
---
name: 2captcha
description: Solve CAPTCHAs using 2Captcha service via CLI. Use for bypassing captchas during web automation, account creation, or form submission.
homepage: https://github.com/adinvadim/2captcha-cli
---

# 2Captcha Skill

Solve CAPTCHAs programmatically using the 2Captcha human-powered service.

## Installation

```bash
# One-line install
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

# Verify
solve-captcha --version
```

## Configuration

```bash
# Save your 2Captcha API key
mkdir -p ~/.config/2captcha
echo "YOUR_API_KEY" > ~/.config/2captcha/api-key

# Or use environment variable
export TWOCAPTCHA_API_KEY="your-key"
```

Get your API key at https://2captcha.com/enterpage

## Quick Reference

### Check Balance First
```bash
./solve-captcha balance
```

### Image CAPTCHA
```bash
# From file
./solve-captcha image /path/to/captcha.png

# From URL  
./solve-captcha image "https://site.com/captcha.jpg"

# With options
./solve-captcha image captcha.png --numeric 1 --math
./solve-captcha image captcha.png --comment "Enter red letters only"
```

### reCAPTCHA v2
```bash
./solve-captcha recaptcha2 --sitekey "6Le-wvk..." --url "https://example.com"
```

### reCAPTCHA v3
```bash
./solve-captcha recaptcha3 --sitekey "KEY" --url "URL" --action "submit" --min-score 0.7
```

### hCaptcha
```bash
./solve-captcha hcaptcha --sitekey "KEY" --url "URL"
```

### Cloudflare Turnstile
```bash
./solve-captcha turnstile --sitekey "0x4AAA..." --url "URL"
```

### FunCaptcha (Arkose)
```bash
./solve-captcha funcaptcha --public-key "KEY" --url "URL"
```

### GeeTest
```bash
# v3
./solve-captcha geetest --gt "GT" --challenge "CHALLENGE" --url "URL"

# v4
./solve-captcha geetest4 --captcha-id "ID" --url "URL"
```

### Text Question
```bash
./solve-captcha text "What color is the sky?" --lang en
```

## Finding CAPTCHA Parameters

### reCAPTCHA sitekey
Look for:
- `data-sitekey` attribute in HTML
- `k=` parameter in reCAPTCHA iframe URL
- Network request to `google.com/recaptcha/api2/anchor`

### hCaptcha sitekey
Look for:
- `data-sitekey` in hCaptcha div
- Network requests to `hcaptcha.com`

### Turnstile sitekey
Look for:
- `data-sitekey` in Turnstile widget
- `cf-turnstile` class elements

## Workflow for Browser Automation

1. **Detect CAPTCHA** - Check if page has captcha element
2. **Extract params** - Get sitekey/challenge from page source
3. **Solve via CLI** - Call solve-captcha with params
4. **Inject token** - Set `g-recaptcha-response` or callback

### Example: Inject reCAPTCHA Token
```javascript
// After getting token from solve-captcha
document.getElementById('g-recaptcha-response').value = token;
// Or call callback if defined
___grecaptcha_cfg.clients[0].callback(token);
```

## Cost Awareness

- Check balance before heavy automation
- Image: ~$0.001 per solve
- reCAPTCHA/hCaptcha/Turnstile: ~$0.003 per solve

## Error Handling

Common errors:
- `ERROR_ZERO_BALANCE` - Top up account
- `ERROR_NO_SLOT_AVAILABLE` - Retry in few seconds
- `ERROR_CAPTCHA_UNSOLVABLE` - Bad image or impossible captcha
- `ERROR_WRONG_CAPTCHA_ID` - Invalid task ID

## Notes

- Solving takes 10-60 seconds depending on type
- reCAPTCHA v3 may need multiple attempts for high scores
- Some sites detect automation - use carefully
- Tokens expire! Use within 2-5 minutes
browser

Comments

Sign in to leave a comment

Loading comments...