hcaptcha-challenger vs a solving service.

hcaptcha-challenger is one of the most-starred open-source hCaptcha solvers on GitHub: a Python library that works the challenge inside a Playwright browser using Google's Gemini models. NoneCap is an hCaptcha solver service that returns the token from an API call. This page sets out what hcaptcha-challenger does and needs, quoted from its README, docs, releases and issue tracker as of November 2, 2026, and when each one is the better pick. One disclosure: this site is NoneCap.

What hcaptcha-challenger does

Its GitHub repository describes it in one line: "Gracefully face hCaptcha challenge with multimodal large language model." The README adds that it "does not use any third-party anti-captcha services". Its documentation says the agent "controls browser pages through Playwright" and "interacts exclusively with web pages through the Page object". In practice:

  • You open the page with Playwright, in any browser Playwright can launch, and pass the Page to its agent. The agent clicks the hCaptcha checkbox and works through the challenge in that page.
  • Each step asks a Gemini model through your own key. Its main branch moved the default to Gemini 3.7 Flash in August 2026.
  • Its README lists the challenge types the agent handles: binary image labels, point selection and drag-drop. Bounding-box and multiple-choice challenges are listed without a check mark.
  • It is free under GPL-3.0. On November 2, 2026 it had about 2,600 stars and 450 forks on GitHub, and pypistats.org counted about 26,000 downloads in the previous month.

What it needs from you

  • Python 3.10 or newer, per its PyPI page. Install with uv pip install hcaptcha-challenger.
  • Playwright and a browser. The agent only works through a Playwright page, so every solve runs a browser on your machine or server.
  • A Gemini API key, set as GEMINI_API_KEY. Its configuration stops with "GEMINI_API_KEY is required but not provided" without one, and Google bills the model calls to that key. An open request to add self-hosted, OpenAI-compatible models (#1098, June 2026) says the code "currently hardcodes Gemini".
  • Time to keep up with hCaptcha. Its open issues include requests for challenge types it does not handle yet, such as "Drag the pipe from the right to complete the puzzle", and a January 2026 report of an infinite retry loop on one challenge.

Maintenance as of November 2026

The latest release is v0.19.0, uploaded to PyPI on December 21, 2025 and tagged on GitHub releases on January 5, 2026, with the note "Gemini 3". Since then the main branch has had three commits, the latest on August 15, 2026 (PR #1101, the new default model). The repository is not archived. Several 2026 issues had no maintainer reply on November 2, among them a report that the older local YOLO and ONNX models can no longer be selected in v0.19 (#1091). A question about Enterprise rqdata sitekeys (#1077, October 2025) is also unanswered.

hcaptcha-challenger vs NoneCap

NoneCap vs hcaptcha-challenger, as of November 2026
NoneCaphcaptcha-challenger
What it isAn hCaptcha solving service: an API and a Chrome extensionAn open-source Python library (GPL-3.0) that works the challenge inside a page your Playwright code opens
What you sendThe sitekey and page URLA Playwright Page with the hCaptcha on it
What you get backAn hCaptcha token in the API responseThe challenge completed in your page; its quickstart prints hCaptcha's response, token included
What it needs from youAn API keyPython 3.10+, Playwright and a browser, and your own GEMINI_API_KEY
Challenge typesImage grids, drag puzzles, point-on-imagePer its README: binary image labels, point selection and drag-drop; bounding-box and multiple-choice not marked as supported
Enterprise rqdataYesAsked in issue #1077 (October 2025), unanswered as of November 2026
From other languagesAny HTTP client; SDKs for Node and PythonPython only
Price$0.20 to $0.50 per 1,000 credits, from 1 credit per challenge round; failed solves never chargedFree code; Google bills your Gemini usage on your own key
Latest releaseHosted, nothing to upgradev0.19.0: on PyPI December 21, 2025, on GitHub releases January 5, 2026

When self-hosting is the better choice

Pick hcaptcha-challenger, or another open-source project, when:

  • you want to read and change the code, or study how a multimodal model handles hCaptcha;
  • you already run Playwright and want the solving step inside your own Python process, with no solving vendor in between;
  • you need a few solves now and then, and Gemini usage on your own key costs you less than paying per solve;
  • you are building your own solver and want its dataset tool (hc dataset collect).

The price of that freedom is upkeep. When hCaptcha adds a challenge type or a dependency changes, you wait for a fix or write it yourself.

Where a solving service fits

NoneCap fits when you would rather not maintain the solving step. Send the sitekey and page URL and you get an hCaptcha token back for your code to submit with the form, from Playwright, requests, any other HTTP client or any language. You need no model key and no browser for the challenge, and regular, invisible and Enterprise rqdata sitekeys are covered. Failed solves are never charged.

Python · get a token
import os, time, requests

API = "https://api.nonecap.com/v1/solves"
HEADERS = {"Authorization": f"Bearer {os.environ['NONECAP_KEY']}"}

def solve_hcaptcha(sitekey: str, url: str) -> str:
    r = requests.post(API, headers=HEADERS, params={"wait": 90},
                      json={"type": "hcaptcha", "sitekey": sitekey, "url": url},
                      timeout=120)
    r.raise_for_status()
    data = r.json()
    while data["status"] in ("pending", "solving"):
        time.sleep(2)
        data = requests.get(f"{API}/{data['id']}", headers=HEADERS, timeout=30).json()
    if data["status"] != "solved":
        raise RuntimeError(f"solve {data['status']}: {data.get('error')}")
    return data["token"]

With ?wait=90 the request stays open for up to 90 seconds and the token usually comes back in that response; the loop covers the rest. The Playwright guide shows where the token goes on the page, and the API reference has examples in cURL, Node, Python and Go. Pricing is $0.20 to $0.50 per 1,000 credits, from 1 credit per challenge round; new accounts get 1,300 credits with no card. For hCaptcha in your own Chrome, the NoneCap extension gives 100 free solves a day with no account.

Which one to use

If you want open source you can read and change, and you are happy to run a browser and a Gemini key and keep up with hCaptcha's changes, hcaptcha-challenger is the project to start from. If you want a token from an API call, with Enterprise sitekeys covered and failed solves not charged, NoneCap's API does that.

Last updated November 2026.

Frequently asked

What is hcaptcha-challenger?
An open-source Python library on GitHub, started in February 2022 by QIN2DIM and published on PyPI as hcaptcha-challenger. Its tagline: "Gracefully face hCaptcha challenge with multimodal large language model." You hand it a Playwright page with an hCaptcha on it, and it clicks the checkbox and works through the challenge. It is GPL-3.0 licensed and had about 2,600 GitHub stars on November 2, 2026.
How do I install hcaptcha-challenger?
Its documentation gives one line, uv pip install hcaptcha-challenger (plain pip works too), and PyPI lists Python 3.10 or newer. You also need Playwright with a browser it can launch, and a Gemini API key from Google AI Studio set as GEMINI_API_KEY.
Does hcaptcha-challenger need an API key?
Yes, a Google Gemini key. Its configuration refuses to start without one: "GEMINI_API_KEY is required but not provided." An open user report (#1091, January 2026) says the older local YOLO and ONNX models can't be selected in v0.19, and a proposal to support self-hosted, OpenAI-compatible models (#1098) notes the code "currently hardcodes Gemini". Both were open on November 2, 2026.
Is hcaptcha-challenger still maintained?
It is active but slow. The last release is v0.19.0 (PyPI, December 21, 2025). The latest commit on its main branch, on August 15, 2026, switched the default model to Gemini 3.7 Flash (PR #1101); that change is not in a release yet. Several 2026 issues, including the two above, had no reply from the maintainer as of November 2, 2026.
Does hcaptcha-challenger return an hCaptcha token?
It works inside your browser page, so the page ends up with the token the same way it would after a person solves the challenge, and the library keeps hCaptcha's responses (its quickstart prints the last one). It has no endpoint that takes a sitekey and returns a token for a plain HTTP client. NoneCap does: send the sitekey and page URL to POST /v1/solves and read token.
When is hcaptcha-challenger the better choice?
When you want to read, change and run the code yourself, keep the solving step in your own Python process, or study how a multimodal model handles hCaptcha. It also has a dataset tool (hc dataset collect) for people building their own solver. If you are comfortable fixing things when hCaptcha changes a challenge type, free code with your own Gemini key is a reasonable trade.
How much does NoneCap cost?
$0.20 to $0.50 per 1,000 credits depending on the pack, from 1 credit per challenge round. Credits are prepaid and never expire, failed solves are never charged, and new accounts get 1,300 credits with no card. The Chrome extension also gives 100 free solves a day with no account. The packs are on the pricing page.

Start solving hCaptcha in minutes.

1,300 free credits on signup. Pay per solve, credits never expire, failed solves never charged.