Skip to content
voidcaptcha

Documentation

One endpoint, every challenge type.

VoidCaptcha is a CAPTCHA solving API. You send a task describing the challenge you are facing; you get back a token or cookie you can use. 13 types are documented here, 11 of them live in production today.

Tip

In a hurry? The quickstart gets you a token back in about a minute, in whichever of seven languages you work in.

Quickstart

A copyable request in eight languages and a token back in about a minute.

Authentication

How keys work, live versus test mode, and rotating without downtime.

API reference

The endpoint, the envelope, and how the task object changes per type.

Errors

Every code, what causes it, how to fix it, and whether to retry.

Proxies

Format, why sessions must be sticky, and the one type that needs none.

How it works#

Every solve is a single synchronous call. You POST a task to /v1/getResult and the response carries the finished solution — nothing to poll and no queue to drain. Most integrations are five lines. Workers that cannot hold a connection open post the same task to /v1/createTask and collect it from /v1/checkTask.

The request shape is identical for every challenge. Only the contents of the task object change, and the field that decides which shape applies is task.type. Learn the envelope once and adding a new type later is a one-line change.

Note

If you already integrate against another provider in this category, the envelope will look familiar: clientKey plus a typed task object, and an errorId of 0 on success. Point your base URL here and most code works unchanged.

What comes back#

Most types return a token in solution.token. 6 do not, because the thing you need is not a token: DataDome returns solution.datadome, GeeTest returns solution.pass_token, Cloudflare Clearance returns solution.cf_clearance, Akamai Bot Manager returns solution.cookies, Amazon AWS WAF returns solution.aws_token and PerimeterX · HUMAN returns solution.cookies. Each type page states its own field.

DataDome returns solution.datadome and solution.headers, Imperva Incapsula returns solution.token and solution.cookies and solution.reese84, GeeTest returns solution.pass_token and solution.captcha_id, solution.lot_number, solution.gen_time, solution.captcha_output, solution.validate and solution.seccode, Hunt Captcha returns solution.token and solution.data and Cloudflare Clearance returns solution.cf_clearance and solution.user_agent, solution.sec_ch_ua, solution.sec_ch_ua_platform, solution.cf_bm and solution.cookies — take both. A token presented without the cookies it was earned with lands you back on the challenge.

Alongside the solution you always get the userAgent the solve ran with. For the cookie types this matters: a cookie earned under one User-Agent and replayed under another will be rejected. Send the same one downstream.

Supported types#

Additional types can be enabled per account. If you need something not listed, ask on Telegram — that is the fastest way to reach us about anything, at any time — or email [email protected].

Last updated on 2 August 2026