跳到主要内容
NexCaptcha

迁移指南

从 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 ]逐项对比

逐项对比

逐项对比
2CaptchaNexCaptcha
公开价格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,下面的步骤里写清楚了。

改之前
const task = { type: "RecaptchaV2TaskProxyless", websiteURL, websiteKey };
const res = await fetch("https://api.2captcha.com/createTask", {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({ clientKey: API_KEY, task }),
});
改之后
const task = { type: "RecaptchaV2TaskProxyless", websiteURL, websiteKey };
const res = await fetch("https://api.nexcaptcha.net/createTask", {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({ clientKey: API_KEY, task }),
});

怎么迁移

  1. 01把现有客户端的 base URL 指到 https://api.nexcaptcha.net/createTask,再换掉 API key,请求体其他部分不用动。
  2. 02任务对象原样保留。走 Anti-Captcha 这一支的类型名这边都认:RecaptchaV2TaskProxyless、RecaptchaV3TaskProxyless、RecaptchaV2EnterpriseTaskProxyless、TurnstileTaskProxyless、GeeTestTaskProxyless、FunCaptchaTaskProxyless、ImageToTextTask,拼写都不变。
  3. 03只有 2Captcha 才有的类型名,切流量之前先跟我们这 33 个题型对一遍。CutCaptcha、CyberSiARA、arcaptcha、Basilisk、Solve Media 这边没有对应任务类型,别等上线了才发现。
  4. 04还在用 in.php / res.php 的,先把提交和轮询两处改写成 createTask / getTaskResult,再把 callbackUrl 指回原来的 handler。回调的 POST body 就是 getTaskResult 的返回结构,handler 本身不用改。
  5. 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 计费。

第一千次识别,我们请。

创建密钥,粘进上面的示例代码,看着真实的 token 返回。不用绑卡,没有销售电话。