Send a task to the API and get a token back in seconds. The price is held when the task is created and charged only when the result is ready — failed tasks cost nothing.
createTask holds the price, ready captures it, any error releases it at once. Wrong token? Report it within 24 hours for an automatic refund.
Two protocols, one host
Anti-Captcha JSON (createTask / getTaskResult) and 2Captcha (in.php / res.php) compatibility. Migration is a one-line change.
Webhooks done properly
callbackUrl on any request, HMAC-SHA256 signature with a timestamp, retries, and a delivery log for every task.
Public live metrics
Success rate, p50/p95 and queue depth for every task type, 90-day uptime and incident history — on a public status page.
Keys with limits
Multiple API keys with spending caps, concurrency limits and IP allowlists. 90 days of task history with CSV export.
Free sandbox
Test keys return dummy tokens with the real response format, so you can debug the integration without spending money.
Integrate in a dozen lines
The API speaks the Anti-Captcha JSON protocol, so existing SDKs and tools work after changing the host. Examples in six languages:
Use a test key (test_…) during development — it returns dummy tokens and costs nothing.
import time
import requests
API = "https://api.neurocaptcha.com"
KEY = "YOUR_API_KEY"# 1. create a task: the price is held, not charged
task = requests.post(f"{API}/createTask", json={
"clientKey": KEY,
"task": {
"type": "RecaptchaV2TaskProxyless",
"websiteURL": "https://example.com/login",
"websiteKey": "6Le-SITE-KEY",
},
}).json()
if task["errorId"]:
raise RuntimeError(task["errorCode"])
# 2. poll the result (or pass "callbackUrl" and get a signed webhook)whileTrue:
time.sleep(3)
res = requests.post(f"{API}/getTaskResult",
json={"clientKey": KEY, "taskId": task["taskId"]}).json()
if res["errorId"]:
raise RuntimeError(res["errorCode"])
if res["status"] == "ready":
print(res["solution"]["gRecaptchaResponse"])
break
In crypto: USDT, USDC, BTC, LTC, ETH, TRX and TON on popular networks. The network, minimum, rate and bonus are shown before you pay; the balance is credited automatically. Minimum top-up is $5.00.
When exactly is money charged?+
When you create a task, its price is held on your balance. It is charged only when the task becomes ready. Errors, timeouts and expired tasks release the hold immediately.
What if the token turns out to be wrong?+
Call reportIncorrectRecaptcha within 24 hours. The refund is automatic while the share of reports for the key stays within 15%; above that, the request goes to manual review.
Is there a free trial?+
Test keys are free and unlimited: they return dummy tokens with the real response format. After confirming your email and Telegram you also get $0.30 of real balance.
What are the rate limits?+
By default 30 createTask requests per second per key and 200 tasks in parallel. Limits can be lowered per key in the dashboard or raised on request.
How hard is it to migrate from another service?+
If your code uses the Anti-Captcha JSON protocol or 2Captcha in.php/res.php, change the host and the key — method names and response formats stay the same.
Can I get results without polling?+
Yes. Pass callbackUrl with createTask and we POST the result as soon as it is ready, signed with HMAC-SHA256. Every delivery attempt is visible in the dashboard.
How are keys and accounts protected?+
Keys are stored as hashes and shown once. Each key can have an IP allowlist and spending caps. The account supports TOTP two-factor authentication with recovery codes and shows active sessions.
Which captchas are supported?+
reCAPTCHA v2, v2 Enterprise, v3 and v3 Enterprise, with and without your proxy. New types are announced on the status page and appear in the API catalog automatically.
What may the service be used for?+
Test automation, QA, accessibility tooling, monitoring and data collection that respects the law and the target site's terms. Fraud, spam and access to other people's accounts are forbidden — see the Acceptable Use Policy.
Get a key and solve your first task in five minutes
Sign up, create a free test key, paste a dozen lines of code. Switch to a live key when you are ready.