Migration guide
Switching from Anti-Captcha
Anti-Captcha's request shape works here unchanged, including the types their task list does not cover: hCaptcha, DataDome, MTCaptcha and KeyCaptcha.
API compatibilityDrop-in — change the base URL
What they do well
- They invented the createTask/getTaskResult convention. CapSolver, CapMonster, NextCaptcha, 2Captcha's v2 API and ours are all downstream of it. Migration in this market is cheap at all because Anti-Captcha specified it well and everyone copied it — that is worth saying out loud on a page whose whole argument is that switching is easy.
- The most complete method set of anyone here: getQueueStats for live capacity, getSpendingStats, a test method for debugging your JSON, and cost, ip, createTime, endTime and solveCount returned with every result. Engineers who have used all of these generally rate their docs highest.
- AntiGateTask has no equivalent anywhere on this list. It is a programmable browser template you script yourself, with pushAntiGateVariable to inject OTP codes or form values mid-run — the only escape hatch in the category for a challenge nobody sells a task type for.
- Longest continuous operating history in the category, since 2007, and the best standing among API buyers specifically: Trustpilot 4.7 out of 5 across 204 reviews, 90% five-star, and the reviewers there are visibly customers rather than workers.
- Webhook payloads are byte-identical to the polling response, so you can move a workload between push and pull without touching the handler.
- Proxy and proxyless variants of every task type, plus explicit report endpoints that credit you back for rejected reCAPTCHA tokens.
Where they fall short
- The catalogue is short, and you can verify it in ten seconds from their own docs index: ImageToText, reCAPTCHA v2/v3/Enterprise, FunCaptcha, GeeTest, Turnstile, AntiGate, ImageToCoordinates, Prosopo, Friendly Captcha, Amazon WAF, Altcha. That is the whole list.
- No hCaptcha task type. Not deprecated, not beta — absent from the task list and absent from the price table. If your target moved to hCaptcha, you have to leave.
- No DataDome, no Cloudflare interstitial (they cover the Turnstile widget only), no MTCaptcha, no Lemin, no KeyCaptcha, no Capy, no Tencent, no atbCAPTCHA, no Imperva.
- reCAPTCHA Enterprise at $5.00 per 1,000 is the highest Enterprise rate of any vendor profiled here — five times CapSolver's $1.00 and more than three times our $1.50.
- reCAPTCHA v2 and v3 are published as bands, $0.95–$2.00 and $1.00–$2.00, and the v3 rate moves with the score you ask for. Per-solve cost is not a single number you can put in a spreadsheet.
- Human-pool latency, with no published percentiles. A Trustpilot reviewer running both services side by side measured Anti-Captcha at 10 to 20 seconds against CapMonster Cloud at 1 to 3.
- AntiGateTask's power costs real maintenance. You are writing and keeping a behaviour template alive against a moving target, which is a small automation project rather than an API call.
[ 02 ]Side by side
Side by side
| Anti-Captcha | NexCaptcha | |
|---|---|---|
| Published pricing | 13 priced rows. reCAPTCHA v2 $0.95–$2.00, v3 score-dependent, Enterprise $5.00. | 33 types, one flat rate each, $0.75–$4.49 per 1,000. reCAPTCHA Enterprise $1.50. |
| Published latency | getQueueStats returns live capacity. No p50 or p95 published for any type. | p50 and p95 published per type. Overall p50 4.8s, p95 11.2s. |
| Published success rate | Not published. The site claims 99.99% uptime since 2007, which is a different number. | Published per type, 99.4% overall, counted on tokens the target accepted. |
| What counts as a solve | A worker's answer. Token rejections are credited back when you call the report endpoints. | The target site accepting the token. We bill on that, not on returning one. |
| Failed-solve billing | Report endpoints credit back rejected reCAPTCHA and image tokens, on your initiative. | Rejected, failed and timed-out solves are refunded automatically within the hour. |
| API compatibility | The original createTask/getTaskResult. AntiGateTask has no equivalent anywhere. | Same envelope, same field names, same type spellings. Host is the only line that changes. |
| Support response | Ticket support, no published target. Trustpilot 4.7/5 across 204 reviews. | 24/7 engineers. Median first response 7 minutes on Telegram. |
[ 03 ]The code change
The code change
This is the API everyone else copied, including us: JSON POST to /createTask and /getTaskResult, clientKey in the body rather than a header, and the {errorId, taskId} then {errorId, status, solution} envelopes. We follow their spelling exactly, lowercase-l Proxyless included, which matters because CapSolver spells the same concept ProxyLess and a copy-paste between those two silently 400s. The result is that the only line in your request that changes is the host.
How to migrate
- 01Point your existing client at https://api.nexcaptcha.net/createTask and swap the clientKey value — the field name and the whole request envelope stay as they are.
- 02Keep every task type string exactly as written, lowercase-l Proxyless included. ImageToTextTask, RecaptchaV2Task(Proxyless), RecaptchaV3TaskProxyless, RecaptchaV2EnterpriseTask(Proxyless), FunCaptchaTask(Proxyless), GeeTestTask(Proxyless), TurnstileTask(Proxyless), ImageToCoordinatesTask, FriendlyCaptchaTask, AmazonTask and AltchaTask all resolve here. ProsopoTask is the one exception — we do not sell that type.
- 03Delete your reportIncorrectRecaptcha, reportCorrectRecaptcha and reportIncorrectImageCaptcha calls. Rejected tokens are refunded here automatically within the hour, so there is nothing left to report.
- 04Keep an Anti-Captcha account if you run AntiGateTask. It is a browser-automation template engine and there is no drop-in equivalent here — it is only worth retiring if we already sell the type your template was working around, in which case the template becomes one task call.
- 05Split traffic for a week and start with the types their task list does not cover: hCaptcha, DataDome, Cloudflare Challenge, MTCaptcha, Lemin, KeyCaptcha, Capy, Tencent, atbCAPTCHA and Imperva are the reason most people are on this page.
[ 04 ]Questions about this one
Questions about this one
The request does. We implement the convention they defined, so clientKey stays in the body, the task object keeps its shape, and the type strings keep their spelling including the lowercase l in Proxyless. What you do have to change is the host, and what you should delete are the report calls, since refunds here are automatic. If you read the optional cost, createTime, endTime or solveCount fields off a result, check them on a test task before you cut over.
Yes, and you can check it yourself rather than taking our word for it: hCaptcha is not in their task-type documentation index and not on their price table. We sell hCaptcha at $2.18 per 1,000 and hCaptcha Enterprise at $4.49, with p50 5.1s and p95 11.6s published for the standard type.
Keep it, and keep the account that runs it, until you have checked whether we sell the type it was built to get around. AntiGateTask is a scripted browser template and we have no drop-in for it. If the target uses something on our list of 33 — DataDome, Cloudflare Challenge, Imperva, Tencent, Akamai — the template collapses into one createTask call and the migration is a simplification. If it does not, run both services; that is a perfectly reasonable end state.
For a normal client, one afternoon: change the host, swap the key, delete the report calls, deploy behind a percentage split. Give it a week of real traffic before you move the remaining 90%, and spend the time comparing accepted rate per type rather than raw latency, because a faster rejected token costs you more than a slower accepted one.
Solve your first thousand on us.
Create a key, paste it into the sample above, and watch a real token come back. No card, no sales call.
