A NoCaptchaAI alternative for hCaptcha.

NoCaptchaAI and NoneCap end in the same place: a real token your page submits as h-captcha-response. What differs is scope, how you integrate, and how much of the price you can read before you sign up. NoCaptchaAI is a multi-captcha service with a task API and a set of in-browser tools around it. NoneCap does hCaptcha and nothing else, over one REST endpoint, at a rate printed on the pricing page.

NoneCap vs NoCaptchaAI at a glance

hCaptcha solving: NoneCap vs NoCaptchaAI
NoneCapNoCaptchaAI
Captcha focushCaptcha only: regular, invisible, enterprise rqdatahCaptcha, reCAPTCHA, GeeTest, Turnstile and image/text captchas, per their docs
Integration surfaceREST token APITask API, plus a browser extension, a Tampermonkey userscript, a Firefox add-on and a Puppeteer package
Billing modelPrepaid credits, from 1 credit per challenge round, no subscription“Pay-as-you-go pricing. Per 1,000 solves. No subscriptions, no rate caps.”
Published price$0.20-$0.50 per 1,000 credits, printed on the pricing pagePer-1,000 rates shown in their dashboard, not on a page we could read
Free tier1,300 credits on signup6,000 solves a month on signup, per their repo descriptions
Failed solvesNever chargedNot stated in the material we could read
Enterprise rqdataFully supported; tokens enterprise sitekeys acceptNot addressed in their public material
API shapePOST /v1/solves, then read token“Create a task, poll for the result.”

Most of the decision sits in the first four rows. Scope is the first fork, because they cover many captcha types and NoneCap covers one. Integration surface is the second, since a task API and a browser extension are different amounts of work depending on what you have already built. The pricing rows are where the two are hardest to line up directly, so the rest of this page spends its time there.

Token API vs in-browser recognition

The two products overlap, but they are sold in two different shapes, and the shape decides how much of the work stays on your side.

In-browser recognition means you run the browser and the challenge yourself. Your extension, userscript or Puppeteer script loads the page, hCaptcha renders its widget, and the service is asked what the images show. The answer comes back, your automation performs it, and hCaptcha issues the token to the session that earned it. NoCaptchaAI ships that surface publicly: their GitHub organisation holds a Chrome extension, a Tampermonkey userscript, a Firefox add-on, a nocaptchaai-puppeteer package, and a pip package described as “for qCaptcha token, OCR”. Their projects now refer to the hCaptcha products as “qCaptcha”. The browser extension README lists reCAPTCHA v2 and v3, “popularCaptcha”, GeeTest v3 and v4, AWS WAF, Tencent, TikTok, Binance, BLS, MTCaptcha, Prosopo, Lemin and OCR captchas, along with HTTP and SOCKS4/5 proxy support with rotation, User-Agent spoofing and a site blacklist. It needs an API key from their dashboard to run.

A token API takes the browser off your side of the integration. You send the sitekey and the page URL, a token comes back, and you post it with the form. Nothing renders on your side, so there is no widget or viewport to manage and no click to perform. NoCaptchaAI offers this shape too, described in their docs as “Create a task, poll for the result.” NoneCap offers only this shape: POST /v1/solves with the sitekey and URL, and the response carries id, status, token and credits_charged.

Which one fits depends on where your automation already lives. If you are driving a real browser anyway, in-browser hCaptcha recognition keeps the whole flow inside that one session, and it is the only option when the page is doing something you cannot reproduce from outside it. If your job is a request-level scraper, a queue worker, or a backend flow with no browser in it at all, a token API is the smaller integration: one HTTP call and a token in the response, with no browser process on your side.

The shapes also differ in what you have to keep working. A recognition setup has moving parts on your own machine: the browser, the extension or script that drives it, and the version of the page you are automating, any of which can change under you. A token API moves all of that behind an HTTP call, and what you watch instead is whether the token you were handed is accepted when your form posts it.

Pricing you can read before you sign up

NoneCap publishes the whole ladder. $5 buys 10,000 credits, which is $0.50 per 1,000. $100 buys 400,000 credits, or $0.25 per 1,000. A $500 pack lands at $0.20 per 1,000. Billing starts at one credit per hCaptcha challenge round, and hCaptcha decides how many rounds a sitekey throws (often one, sometimes two or three). Credits are prepaid and never expire, there is no monthly fee, and failed solves are never charged. Concurrency is 5 on the free trial and up to 100 on paid packs.

NoCaptchaAI states its model plainly in their docs: “Pay-as-you-go pricing. Per 1,000 solves. No subscriptions, no rate caps.” The per-1,000 figures themselves are not on a page we could read, because the site renders them in-app once you have a key, so check your dashboard for the current line before you compare.

On free volume, theirs is the bigger offer. Their repository descriptions advertise 6,000 free solves a month on signup. NoneCap grants 1,300 credits once, when the account is created. If you want a few thousand hCaptchas a month for free, they win on that. NoneCap’s free credits exist for a narrower purpose: proving the tokens pass on your own sitekey before you put money in.

The units are not identical either, which matters as soon as you put the two numbers side by side. A rate quoted per 1,000 solves counts finished solves. NoneCap counts hCaptcha challenge rounds, from one credit each, so a sitekey that throws two rounds on the way to a token spends two credits. On sitekeys that hand over a token after a single round the two units line up; on harder ones they do not, and the only way to know which kind you have is to run your own traffic.

Past the free tier, price both against your real traffic. Round counts move the effective rate, so does whether a failure costs you anything, and so does the pack you buy into. A published ladder makes that arithmetic something you can do before signing up rather than after the first invoice.

Same token, one call to rewrite

Both services hand back a real hCaptcha token, so everything downstream of the solver, the code that submits h-captcha-response, stays exactly as it is. What changes is the solver call. NoneCap has its own format: POST /v1/solves, optionally blocking for the result with ?wait=N, then read the token field. One call usually carries the token back.

Create a solve
curl "https://api.nonecap.com/v1/solves?wait=90" \
  -H "Authorization: Bearer $NONECAP_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "hcaptcha",
    "sitekey": "f5ab1c2d-7e8f-4a9b-b1c2-d3e4f5a6b7c8",
    "url": "https://target.example/login"
  }'
Response
{
  "id": "solve_01HQF7K3JKWZX",
  "object": "solve",
  "type": "hcaptcha",
  "status": "solved",
  "token": "P1_eyJ0eXAi...UV8w",
  "credits_charged": 1
}

Dropped into a Python helper, the whole flow is a few lines:

Python
import os, time, requests

BASE = "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(
        BASE, headers=HEADERS,
        params={"wait": 90},               # block up to 90s for the token
        json={"type": "hcaptcha", "sitekey": sitekey, "url": url},
        timeout=120,
    )
    r.raise_for_status()
    solve = r.json()

    # 202 = still in flight when the wait window closed, and token is null.
    while solve["status"] in ("pending", "solving"):
        time.sleep(2)
        p = requests.get(f"{BASE}/{solve['id']}", headers=HEADERS, timeout=30)
        p.raise_for_status()
        solve = p.json()

    if solve["status"] != "solved":
        raise RuntimeError(solve["error"])  # not charged: no token, no credits

    return solve["token"]                   # a real P1_… hCaptcha token

# Submit the returned token as the form's h-captcha-response field.

?wait is a long poll with a deadline. A solve still in flight when the window closes comes back as a 202 with a null token, and you poll GET /v1/solves/{id} from there, which is also what you want for long-running jobs. See the API reference for the full solve object and every language example.

Enterprise hCaptcha (rqdata)

Enterprise hCaptcha binds each challenge to a fresh rqdata blob issued by the site, and a token minted without it will not verify against an enterprise sitekey. NoneCap supports it: pass type: "hcaptcha_enterprise" with the rqdata value and the token comes back the same way as a regular solve.

Enterprise rqdata is not addressed in any NoCaptchaAI material we could read, not in their docs homepage, not in the browser extension README, and not in the repository descriptions on their GitHub organisation. That is an absence of information rather than a statement about what they support, so ask them directly if enterprise is your case. If enterprise rqdata is the reason you are shopping for an alternative at all, it is the part of NoneCap to test first, on your own sitekey, with the signup credits.

When NoCaptchaAI is the better fit

Scope decides this one. If you need reCAPTCHA, GeeTest, Cloudflare Turnstile, AWS WAF or the rest of the list their extension covers, NoCaptchaAI covers them and NoneCap does not; reCAPTCHA, Turnstile and FunCaptcha are on our roadmap, not in the product today. If your workflow is an extension or a userscript inside a browser you already drive, they ship those for many captcha types, while NoneCap’s extension is hCaptcha only. And if free monthly volume is what you are optimising for, 6,000 solves a month beats 1,300 signup credits. NoneCap is the better pick when the job is hCaptcha tokens and you want a price per 1,000 you can read up front, no charge on failures, credits that never expire, and enterprise rqdata that verifies.

Last updated August 2026.

Frequently asked

Can I point a NoCaptchaAI client at NoneCap?
No. NoneCap has its own request and response format under /v1, and it does not implement NoCaptchaAI’s task wire format. Rewrite the solver call as POST /v1/solves with {"type": "hcaptcha", "sitekey": ..., "url": ...} and read the token field, or poll GET /v1/solves/{id} for it. Everything downstream stays as it is, because both services hand back a real hCaptcha token. NoneCap covers hCaptcha only, so any other captcha types keep their current solver.
Is NoneCap cheaper than NoCaptchaAI?
It depends on your traffic, and you should price both against your own volume rather than a headline. NoneCap publishes its rate: $0.20 to $0.50 per 1,000 credits depending on the pack, from one credit per hCaptcha challenge round, with failures never charged and no monthly fee. NoCaptchaAI describes its model as pay-as-you-go per 1,000 solves with no subscription, but the per-1,000 numbers are shown in their dashboard rather than on a page we could read, so check your account there for the current line.
Does NoneCap have a browser extension too?
Yes. The NoneCap Chrome extension solves hCaptcha while you browse, with no code to write. It is open source under the MIT license and every release is published on GitHub, so you can load it unpacked instead of installing from the Chrome Web Store. It handles hCaptcha only, which is the same scope as the API.
Can NoneCap handle enterprise hCaptcha?
Yes, including invisible and enterprise (rqdata) sitekeys. Pass type: "hcaptcha_enterprise" with the rqdata blob the page issued, and NoneCap returns a token that enterprise sitekeys accept. See the API reference for the enterprise fields.

Start solving hCaptcha in minutes.

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