Product
Captcha solving API
The Captcha Solving API takes a challenge description and returns the answer: g-recaptcha-response, cf-turnstile-response, a cf_clearance cookie, coordinates, text. Your request never leaves your infrastructure — you keep the session, the cookies and the exit IP, and you post the token with the form yourself. 33 challenge types run on this endpoint.
[ 01 ]How a request travels
How a request travels
The whole difference between our two products is where your request stops.
- 01
createTask with what you can see
A JSON POST carrying clientKey and a task object: the type name, the page URL, the site key, and a proxy only where the challenge is bound to an IP. You get back { errorId, taskId }.
- 02
Poll getTaskResult, or take the callback
getTaskResult returns { errorId, status, solution } and flips from processing to ready. Set callbackUrl instead and the same body is POSTed to you, so there is nothing to poll.
- 03
Read the solution
solution.gRecaptchaResponse for reCAPTCHA and hCaptcha, the token field for Turnstile, cf_clearance plus the user agent it was solved with for a Cloudflare interstitial, coordinates or text for the image families.
- 04
You submit it yourself
The token goes into your own form POST or XHR, from your session, your cookies and your IP. Nothing about your request path changes, which is the point: the solve is a subroutine, not a detour.
[ 02 ]What it gets through
What it gets through
- reCAPTCHA v2, v3 and EnterpriseReturns g-recaptcha-response; v3 tasks take the action name and target the score you ask for.
- Cloudflare TurnstileManaged, non-interactive and invisible modes on one task type, returning cf-turnstile-response inside its 300-second window.
- Cloudflare ChallengeThe full interstitial, returning a cf_clearance cookie issued through your proxy, with the user agent to pin beside it.
- hCaptcha and hCaptcha EnterpriseStandard tokens, and Enterprise tasks that carry signed rqdata through the solve.
- FunCaptcha / Arkose LabsReturns the session token for the rotating game variants, including the harder public keys.
- DataDome, AWS WAF, ImpervaSlider and interstitial flows that answer with a cookie rather than a form field.
- GeeTest, Tencent, NetEase Yidun, AlibabaThe Chinese widget families: slide, click-in-order and icon selection, returning validate and seccode pairs.
- Image, rotate, slider, click and audioSend the image or clip and get text, an angle, a distance or coordinates back.
[ 03 ]What you get
What you get
33
types on the API
Challenge types
One endpoint, one balance, from image OCR up to Arkose and the Chinese widget families. Nothing is a separate subscription.
4.8s
median, p95 11.2s
Solve time
Across all types on live traffic. Image OCR lands near 1.9s; a Cloudflare interstitial pulls the tail out to 19.5s.
99.4%
acceptance
Accepted solves
Share of tasks that returned a token the target then accepted. Failed and timed-out tasks are not billed.
Balance does not expire
Pay per solve against a balance, with no dated package and no monthly minimum. The same balance pays for gateway requests.
[ 04 ]Five lines, any language
Five lines, any language
# 1. Submit the challenge.
curl -s https://api.nexcaptcha.net/createTask \
-H "Content-Type: application/json" \
-d '{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "RecaptchaV2TaskProxyless",
"websiteURL": "https://shop.example.com/login",
"websiteKey": "6Lc..."
}
}'
# -> {"errorId":0,"taskId":"9f2c1d..."}
# 2. Poll until status is ready, then read the token.
curl -s https://api.nexcaptcha.net/getTaskResult \
-H "Content-Type: application/json" \
-d '{"clientKey":"YOUR_API_KEY","taskId":"9f2c1d..."}'
# -> {"errorId":0,"status":"ready",
# "solution":{"gRecaptchaResponse":"03AGdBq2..."}}[ 05 ]What it costs
What it costs
Both products bill from one rate card, per 1,000 successful solves, priced by the challenge type: $0.75 image-to-text, $1.50 reCAPTCHA v2, $2.18 reCAPTCHA v3, Turnstile, hCaptcha, Arkose and DataDome, $4.49 Cloudflare Challenge, GeeTest v4, Akamai, Kasada and PerimeterX. A task that fails or times out is not billed, and the price does not change if you later decide you would rather have the gateway fetch the page for you.
Image-to-Text CAPTCHA (OCR)
$0.75per 1,000
reCAPTCHA v2 (Checkbox)
$1.50per 1,000
reCAPTCHA v3 (Score-based)
$2.18per 1,000
hCaptcha
$2.18per 1,000
Cloudflare Turnstile
$2.18per 1,000
GeeTest v4
$4.49per 1,000
FunCaptcha
$2.18per 1,000
DataDome
$2.18per 1,000
[ 06 ]Which one fits
Which one fits
Pick this one when
- The captcha sits inside a form you are submitting with your own session, and the POST has to come from your own IP.
- You already load the page fine and only one widget is in the way — reCAPTCHA, GeeTest, an image field, a slider.
- Something other than your scraper owns the HTTP call: a mobile client, a worker queue, an internal service that just needs the token string.
- You are migrating off another solver and want the createTask/getTaskResult calls to keep working with the base URL changed.
Pick the other one when
- You get a 403 or an interstitial before your form ever renders, so there is no widget to point a task at.
- Matching a token to the fingerprint, cookie jar and user agent that will be accepted is turning into more code than the scrape itself.
- You are crawling many pages behind one challenge and want the cleared session reused instead of re-solved per URL.
- Your browser automation should route through an upstream proxy and never see the shield at all.
[ 07 ]Questions about this one
Questions about this one
If the page loads and a widget blocks the form, you want this one: you get the token and submit it from your own session. If a shield blocks the page before your form exists, you want the Automation API, which returns the page itself. Same engine, same rate card, different stopping point.
No, and that is deliberate. Both are priced per 1,000 successful results by the challenge encountered, from the same rate card, so the interface you pick is a design decision rather than a cost decision. Turnstile is $2.18 per 1,000 either way; a Cloudflare interstitial is $4.49 either way.
Yes. The token is a string: solve the widget through the API, then set it on the page and fire the form, which is the usual pattern for a browser-driven flow that owns its own session. If the browser is being stopped by a full interstitial before your script can run, that is the Automation API's job instead.
They are two separate tasks here, in order: a Cloudflare Challenge task returns cf_clearance and the matching user agent, you pin both to your session, then the widget inside the page is a second task returning its token. If you would rather not orchestrate that, the Automation API does both inside one request.
Nothing — failed and timed-out tasks are not billed, and balance does not expire, so there is no package to burn down before a retry. Median solve time is 4.8s and p95 is 11.2s across all types, with 99.4% of returned tokens accepted by the target. New accounts get free test credit to run a type end to end before topping up.
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.
