An Anti-Captcha alternative built only for hCaptcha.
Anti-Captcha is one of the longest-running solving services, but if you landed here for hCaptcha there's a catch: its current API docs list no hCaptcha task type at all. NoneCap does hCaptcha and nothing else. One REST call returns a real token, billed against prepaid credits that never expire.
Does Anti-Captcha still solve hCaptcha?
The honest answer, checked June 2026: Anti-Captcha's API documentation no
longer lists an hCaptcha task type. Its
supported task types cover
image-to-text, image coordinates, reCAPTCHA v2/v3 (plus Enterprise), FunCaptcha,
GeeTest, Turnstile, Prosopo, Friendly Captcha, Amazon WAF, Altcha, and a custom
AntiGate task. HCaptchaTask and HCaptchaTaskProxyless are
absent, their old doc pages are gone, and the pricing page has no hCaptcha line.
Confusingly, the homepage tagline still says "Bypass Recaptcha, hCaptcha, image
captcha…", and older official client libraries on npm and PyPI still ship hCaptcha
helper methods. That mismatch is why plenty of codebases still post
HCaptchaTaskProxyless and only find out at runtime. Anti-Captcha isn't
alone here; several broad solving services have dropped or de-emphasized hCaptcha
over the past couple of years. If your integration depends on it, test what the API
actually returns today, or ask their support directly.
NoneCap goes the other way: hCaptcha is the entire product. Regular, invisible, and
enterprise (rqdata) sitekeys, with reCAPTCHA and Turnstile on the
roadmap but not supported today.
NoneCap vs Anti-Captcha at a glance
| NoneCap | Anti-Captcha | |
|---|---|---|
| Captcha focus | hCaptcha only: regular, invisible, enterprise rqdata | Broad: reCAPTCHA v2/v3 + Enterprise, Turnstile, FunCaptcha, GeeTest, image tasks, more |
| hCaptcha today | Fully supported | No hCaptcha task type in the current API docs |
| Billing model | Prepaid credits, from 1 credit per round | USD balance; each task bills a cost on completion |
| Credit expiry | Never expire | Balance-based (no subscription) |
| Failed solves | Auto-refunded | Error and refund rules vary by task type |
| API shape | One POST /v1/solves?wait=90, token inline | createTask, then poll getTaskResult |
| Auth | Authorization: Bearer header | clientKey in every JSON body |
| Async option | webhook_url, or poll GET /v1/solves/{id} | callbackUrl on createTask |
| Proxies | Not required | Proxy and proxyless variants per task type |
| Published hCaptcha price | $0.25-$0.50 / 1k credits | None (no hCaptcha line on the pricing page) |
| Free to start | 100 free credits on signup | Deposit-funded |
Billing: a USD balance vs credits that never expire
Anti-Captcha runs a classic deposit balance. You fund the account in
USD, every completed task comes back with a cost field, and that amount
is billed against your balance. Published rates vary by captcha type: image-to-text
is $0.5-$0.7 per 1,000, reCAPTCHA v2 is $0.95-$2, Turnstile is $2, and reCAPTCHA
Enterprise tops the list at $5 per 1,000. There's no subscription, which is a
reasonable model; the friction is that pricing is per-type and there's no hCaptcha
rate to compare against at all.
NoneCap is also prepaid, but in credits: from 1 credit per hCaptcha challenge round (hCaptcha decides how many rounds a solve takes; often one, sometimes two or three, about 1.7 on average). You're charged on success only, and failed, cancelled, or expired solves are refunded automatically. Packs run from $5 for 10,000 credits ($0.50/1k) to $100 for 400,000 ($0.25/1k), the credits never expire, and you get 100 free credits on signup to test against your own target. Full packs are on the pricing page.
A direct per-1,000 price comparison isn't possible, because Anti-Captcha publishes no hCaptcha rate. What you can compare is the failure handling: NoneCap refunds failures automatically, so a bad run against a hard sitekey costs nothing.
One call instead of createTask + getTaskResult
Anti-Captcha's API is the classic two-step pattern most older solvers share:
POST /createTask with your
clientKey and a task object, get a taskId back, then poll
POST /getTaskResult every few seconds until status flips
from processing to ready. The hCaptcha version of that
loop looked like this:
# Anti-Captcha: createTask, then poll getTaskResult until "ready".
import time, requests
API_KEY = "YOUR_ANTICAPTCHA_KEY"
task_id = requests.post("https://api.anti-captcha.com/createTask", json={
"clientKey": API_KEY,
"task": {
"type": "HCaptchaTaskProxyless", # gone from the current docs
"websiteURL": "https://target.example/login",
"websiteKey": "f5ab1c2d-7e8f-4a9b-b1c2-d3e4f5a6b7c8",
},
}).json()["taskId"]
while True: # spin until it's ready
time.sleep(5)
r = requests.post("https://api.anti-captcha.com/getTaskResult", json={
"clientKey": API_KEY, "taskId": task_id,
}).json()
if r.get("status") == "ready":
token = r["solution"]["gRecaptchaResponse"]
break
NoneCap collapses the loop into one request. ?wait=90 holds the
connection open until the token is ready, so there's no task ID to track and no
poll interval to tune:
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"
}' {
"id": "solve_01HQF7K3JKWZX",
"object": "solve",
"type": "hcaptcha",
"status": "solved",
"token": "P1_eyJ0eXAi...UV8w",
"credits_charged": 1
} The same thing as a Python helper:
# NoneCap: one POST, block for the token with ?wait. No poll loop.
import os, requests
def solve_hcaptcha(sitekey: str, url: str) -> str:
r = requests.post(
"https://api.nonecap.com/v1/solves",
headers={"Authorization": f"Bearer {os.environ['NONECAP_KEY']}"},
params={"wait": 90}, # block up to 90s for the token
json={"type": "hcaptcha", "sitekey": sitekey, "url": url},
timeout=120,
)
r.raise_for_status()
return r.json()["token"] # a real P1_… hCaptcha token
# Submit the returned token as the form's h-captcha-response field.
If you'd rather stay async, the two-step shape still exists: skip ?wait
and poll GET /v1/solves/{id}, or pass a webhook_url and
get called back, which is the equivalent of Anti-Captcha's callbackUrl.
Auth moves from a clientKey in every JSON body to a standard
Authorization: Bearer header, and you never supply proxies. The
API reference has the full solve object; official
SDKs for Node and Python wrap the whole thing in one
solve() call.
Enterprise hCaptcha (rqdata)
Enterprise hCaptcha binds each challenge to a fresh rqdata blob, which
is where generic image-recognition solvers tend to fail even when they nominally
support hCaptcha. NoneCap accepts the blob directly: pass
type: "hcaptcha_enterprise" with the rqdata value and you
get back a token the enterprise sitekey accepts. If enterprise rqdata
is what broke your current solver, start with the
rqdata guide.
When Anti-Captcha is the better fit
Be honest about scope. Anti-Captcha covers reCAPTCHA v2/v3 and Enterprise, Cloudflare Turnstile, FunCaptcha, GeeTest, Amazon WAF, and plain image captchas, with image-to-text from $0.5 per 1,000, and it has been in this business longer than most of the field. If your pipeline needs that breadth from one balance, or it leans on image tasks, Anti-Captcha wins and NoneCap doesn't compete. NoneCap is the better pick for exactly one case: you need hCaptcha solved, today, including invisible and enterprise
rqdata, with credits that never expire and auto-refunds on failures.
Last updated June 2026.
Frequently asked
Does Anti-Captcha still solve hCaptcha?
HCaptchaTask doc pages are gone. Its homepage tagline and older client libraries still mention hCaptcha, so confirm with their support before relying on it. If hCaptcha is the captcha you need solved, that gap is the reason to look elsewhere.Is NoneCap a drop-in Anti-Captcha replacement?
createTask followed by a getTaskResult poll loop with clientKey in every body; NoneCap is a single POST /v1/solves?wait=90 with a Bearer header that returns the token inline. Both hand back a token you submit as the form’s h-captcha-response. NoneCap does not solve reCAPTCHA, Turnstile, or image tasks, so it replaces Anti-Captcha only for hCaptcha.How does billing differ between NoneCap and Anti-Captcha?
cost against it, at published per-1,000 rates that vary by captcha type. NoneCap sells prepaid credits at $0.25 to $0.50 per 1,000, charges from 1 credit per hCaptcha challenge round on success only, auto-refunds failed solves, and the credits never expire. See pricing for the packs.Can NoneCap handle enterprise hCaptcha (rqdata)?
type: "hcaptcha_enterprise" with the rqdata blob and NoneCap returns a token that enterprise sitekeys accept. Invisible hCaptcha works the same way. See the API reference for the enterprise fields and the rqdata guide for how the binding works.