迁移指南
从 2Captcha 迁移过来
接口结构一致,createTask / getTaskResult、clientKey、任务类型名都不用改,只换 base URL。按每千次公开标价,识别失败不计费。
接口兼容性完全兼容,换域名即可
他们做得好的地方
- 题型是这一类服务里最全的,差距还不小。它自己的价目表有 48 行,CyberSiARA、Cutcaptcha、Binance、Solve Media、arcaptcha、Basilisk、TSPD 这些长尾题型只有它一家在卖。我们公开 33 个题型,如果你的目标站点正好落在它有、我们没有的那一段,那该用 2Captcha,这一页对你没用。
- AI 之外还有人工打码池兜底,遇到没见过的、长得很怪的图形题也能出结果,不会直接返回 ERROR_CAPTCHA_UNSOLVABLE。老客户不换平台,多半就是为了这个兜底,纯模型方案给不了。
- 它的 v1 in.php / res.php 参数格式,后来成了整个行业的事实标准,DeathByCaptcha、CapMonster、RuCaptcha 都做了对应的兼容层。当参考实现本身就是很硬的资产。
- 官方开源 SDK 有八种语言,Python、PHP、Java、C#、Node、Go、Ruby、C++ 都齐,另外还有浏览器插件和各框架接入示例,文档写得是这一行里最好的。
- 2015 年运营到现在,有公开的 status 页,价目表上还带每个题型的实时并发容量和速度,买之前就能看出哪个题型在排队。
- 按成功识别次数计费,识别失败不计费,没有订阅费也没有最低消费。reportCorrect / reportIncorrect 可以把被目标站点拒掉的 reCAPTCHA token 报回去拿退款。
不足之处
- 价格是跟着负载浮动的区间,不是固定单价。reCAPTCHA v2 标的是 $1.00 到 $2.99,FunCaptcha 是 $1.45 到 $50.00,实际单价跟着打码工的出价走,这个月的量算不出下个月的账。
- 价目表按 IP 切币种,页面上没有统一的美元锚点。2026-09-22 直连抓到的是人民币表,同一个 URL 走美国出口抓到的是美元表,两套价格是各自独立定的区域价,不是同一套换算过去的。
- Akamai、Kasada、PerimeterX 三行在表里标价 $0,列了但不按次计费。价目表上有这一行,并不代表这个题型真的卖。
- hCaptcha 已经不在当前价目表里,两种币种渲染下的 48 行都查过,官方文档页 2captcha.com/api-docs/hcaptcha 返回 404。第三方对比文章还在引用每千次 $2.99,它自己站上查不到这个价。
- 有人工参与就有延迟,而且没有公开 p50 / p95。token 类题型常见落在 10 到 30 秒,图形题 8 到 15 秒。价目表上那一列每分钟空闲容量,本身就说明并发随在线打码工的数量浮动。
[ 02 ]逐项对比
逐项对比
| 2Captcha | NexCaptcha | |
|---|---|---|
| 公开价格 | 48 行价目,其中 7 行是随负载浮动的区间,reCAPTCHA v2 $1.00 到 $2.99,FunCaptcha $1.45 到 $50.00。 | 33 个题型逐个标价,每千次 $0.75 到 $4.49,统一美元标价,所有访客同一张表。 |
| 公开延迟 | 价目表上有每个题型的实时容量和速度,但全站没有 p50 / p95。 | 每个题型公开 p50 与 p95,整体 p50 4.8 秒、p95 11.2 秒。 |
| 公开识别成功率 | 没有公开。 | 按题型公开,整体 99.4%,口径是目标站点接受的 token。 |
| 怎么算识别成功 | 返回答案即算,token 被拒要事后调 reportIncorrect 处理。 | 目标站点接受 token 才算成功,计费也按这个口径。 |
| 识别失败怎么计费 | 识别失败不计费,reCAPTCHA token 被拒可以上报后退款。 | 被拒、失败、超时都不计费,当小时自动退回余额。 |
| 接口兼容性 | api.2captcha.com 上的 createTask / getTaskResult,另外保留老的 in.php / res.php。 | 同一套任务接口,任务类型名不变。没有 in.php 形态,v1 的代码要先改写。 |
| 技术支持响应 | 工单和邮件,没有公开响应时间承诺。 | 7x24 工程师值守,Telegram 首次响应中位数 7 分钟。 |
[ 03 ]代码改动
代码改动
2Captcha 同时在跑两套接口。新的一套是 api.2captcha.com 上的 createTask / getTaskResult,clientKey 放在 body 里,这套本身就是照着 Anti-Captcha 的任务模型做的,我们用的也是同一套约定,所以请求体、errorId / taskId 的回参结构、标准任务类型名都能原样沿用。老的一套是 in.php / res.php,参数用 key= 和 method= 传,我们没有提供这种形态的接口。还在用 v1 的代码,要把提交和轮询两个函数改写成任务式调用,这一步是真动代码,不是换个 URL,下面的步骤里写清楚了。
怎么迁移
- 01把现有客户端的 base URL 指到 https://api.nexcaptcha.net/createTask,再换掉 API key,请求体其他部分不用动。
- 02任务对象原样保留。走 Anti-Captcha 这一支的类型名这边都认:RecaptchaV2TaskProxyless、RecaptchaV3TaskProxyless、RecaptchaV2EnterpriseTaskProxyless、TurnstileTaskProxyless、GeeTestTaskProxyless、FunCaptchaTaskProxyless、ImageToTextTask,拼写都不变。
- 03只有 2Captcha 才有的类型名,切流量之前先跟我们这 33 个题型对一遍。CutCaptcha、CyberSiARA、arcaptcha、Basilisk、Solve Media 这边没有对应任务类型,别等上线了才发现。
- 04还在用 in.php / res.php 的,先把提交和轮询两处改写成 createTask / getTaskResult,再把 callbackUrl 指回原来的 handler。回调的 POST body 就是 getTaskResult 的返回结构,handler 本身不用改。
- 05先切 10% 流量跑一周,按题型对比目标站点接受率和 p95,再把当初为 2Captcha 写的 60 到 120 秒超时收紧。
[ 04 ]关于这一项的常见问题
关于这一项的常见问题
可以,而且建议这么做。两边请求体一样,账号也各自独立,客户端里按百分比分流就行。先切 10% 过来跑一周,按题型对比目标站点接受率和 p95,再决定剩下的流量。我们这边不需要知道你在灰度。
走 Anti-Captcha 这一支的不用改,RecaptchaV2TaskProxyless、RecaptchaV3TaskProxyless、TurnstileTaskProxyless、GeeTestTaskProxyless、FunCaptchaTaskProxyless、ImageToTextTask 在这边拼写完全一样。只有 2Captcha 才有的那些不一样,CutCaptcha、CyberSiARA、arcaptcha、Basilisk、Solve Media 这几个题型我们不卖,切之前先拿你的流量跟我们这 33 个题型对一遍。
留在它那边。这个行业没有哪家能把别家的余额转过来,说能转的都是在说自己的促销额度,不是你充进去的钱。实际做法就是按上面的灰度切,一边用新接口,一边把老余额花在还没切过来的流量上。
不便宜。它的起步价更低,reCAPTCHA v2 从每千次 $1.00 起,我们是固定 $1.50,图形题它 $0.50,我们 $0.75。多出来的这部分买的是可预算的确定性:每个题型一个固定单价,不是跟着打码工出价浮动的区间;统一美元标价,不按 IP 换价;每个题型公开 p50 与 p95;只按目标站点真正接受的 token 计费。
