Universal captcha solver for Playwright automation — hCaptcha + reCAPTCHA v2 via NopeCHA API
Project description
auto-captcha
Universal captcha solver for Playwright browser automation. Detects hCaptcha and reCAPTCHA v2, solves them via the NopeCHA API, and injects tokens — so your scripts never get stuck.
Your script → page loads → captcha detected → NopeCHA API → token injected → continue
Install
pip install auto-captcha-solver
python -m playwright install chromium
Quick Start
from auto_captcha_solver import smart_page
with smart_page(api_key="your-key") as page:
page.goto("https://protected-site.com")
page.fill("#email", "user@example.com")
page.click("#submit") # captcha auto-solved
Three Ways to Use
1. smart_page() — Context Manager (easiest)
from auto_captcha_solver import smart_page
with smart_page(api_key="your-key") as page:
page.goto("https://example.com")
page.fill("#email", "user@test.com")
page.click("#submit")
print(page.captcha_log) # [{'type': 'hcaptcha', 'status': 'solved'}]
2. SmartPage — Wrap Existing Browser
from auto_captcha_solver import SmartPage
from playwright.sync_api import sync_playwright
pw = sync_playwright().start()
browser = pw.chromium.launch(headless=True)
page = SmartPage(browser.new_page(), api_key="your-key")
page.goto("https://example.com")
page.fill("#input", "value")
3. CaptchaSolver — Full Control
from auto_captcha_solver import CaptchaSolver
solver = CaptchaSolver(api_key="your-key")
captchas = solver.detect(page) # [{'type': 'hcaptcha', 'sitekey': '...'}]
result = solver.solve("hcaptcha", sitekey, url) # CaptchaResult(success=True, token='...')
solver.inject(page, "hcaptcha", result.token)
results = solver.auto_solve(page) # detect + solve + inject
CLI
auto-captcha-solver credits --key YOUR_KEY # Check NopeCHA balance
auto-captcha-solver detect --url https://example.com # Detect captchas
auto-captcha-solver solve --url https://example.com # Solve captchas
MCP Server
Works with Claude Code, OpenClaw, Cursor, and any MCP-compatible agent.
claude mcp add auto-captcha -- python -m auto_captcha_solver.mcp_server
Or in your MCP config:
{
"mcpServers": {
"auto-captcha": {
"command": "python",
"args": ["-m", "auto_captcha_solver.mcp_server"],
"env": {"NOPECHA_API_KEY": "your-key"}
}
}
}
Tools provided:
captcha_detect— detect captchas on a URLcaptcha_solve— detect and solve all captchascaptcha_credits— check NopeCHA credit balance
Hermes Skill
Copy the hermes-skill/ directory to ~/.hermes/skills/auto-captcha-solver/ and set NOPECHA_API_KEY in your .env.
Supported Captcha Types
| Type | Detection | Speed | Reliability |
|---|---|---|---|
| hCaptcha (checkbox) | iframe + DOM | 10-40s | High |
| hCaptcha (enterprise) | iframe + DOM | 10-40s | High |
| reCAPTCHA v2 | iframe + DOM | 60-120s+ | Medium (queue) |
Coming soon: reCAPTCHA v3, Cloudflare Turnstile, FunCAPTCHA — track progress
Pitfalls
- reCAPTCHA queues are slow — can take 60-120+ seconds during peak
- Each solve costs 1 credit — check with
solver.get_credits() - Headless detection — some sites block headless; use
headless=False - Lazy-loaded captchas — add
time.sleep()after actions that might trigger them
Get an API Key
Get free credits at nopecha.com. Set as environment variable:
export NOPECHA_API_KEY="your-key"
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file auto_captcha_solver-0.1.3.tar.gz.
File metadata
- Download URL: auto_captcha_solver-0.1.3.tar.gz
- Upload date:
- Size: 13.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
37477901b04cce425f541dc7c4f4ecd90a7bc9fbe82f1cbee3ba4abb99f443c8
|
|
| MD5 |
af8cc5a427d5c3f780f2b538e026016f
|
|
| BLAKE2b-256 |
c135dc6d8a4459d805b4a681200d8297907ec9f3c85acd51fc5100c4d2089c5f
|
File details
Details for the file auto_captcha_solver-0.1.3-py3-none-any.whl.
File metadata
- Download URL: auto_captcha_solver-0.1.3-py3-none-any.whl
- Upload date:
- Size: 13.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a33befc690fb239b8dd81da2102107b1915caf0a7cd99bc6f16351a1bfd6a067
|
|
| MD5 |
073d07eb986768d758533afe65166561
|
|
| BLAKE2b-256 |
c0c922325440dce001024524597f5d0a539a15866c91ed0a15b5e1969721b040
|