Skip to main content

Universal captcha solver for Playwright automation — hCaptcha + reCAPTCHA v2 via NopeCHA API

Project description

auto-captcha

PyPI version Python License: MIT MCP Compatible Hermes Skill

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 URL
  • captcha_solve — detect and solve all captchas
  • captcha_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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

auto_captcha_solver-0.1.3.tar.gz (13.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

auto_captcha_solver-0.1.3-py3-none-any.whl (13.8 kB view details)

Uploaded Python 3

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

Hashes for auto_captcha_solver-0.1.3.tar.gz
Algorithm Hash digest
SHA256 37477901b04cce425f541dc7c4f4ecd90a7bc9fbe82f1cbee3ba4abb99f443c8
MD5 af8cc5a427d5c3f780f2b538e026016f
BLAKE2b-256 c135dc6d8a4459d805b4a681200d8297907ec9f3c85acd51fc5100c4d2089c5f

See more details on using hashes here.

File details

Details for the file auto_captcha_solver-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for auto_captcha_solver-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a33befc690fb239b8dd81da2102107b1915caf0a7cd99bc6f16351a1bfd6a067
MD5 073d07eb986768d758533afe65166561
BLAKE2b-256 c0c922325440dce001024524597f5d0a539a15866c91ed0a15b5e1969721b040

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page