Skip to content
CaptchAPI
CAPTCHA solving API

Send a sitekey.
Get a token.

One anti-captcha compatible endpoint for Turnstile, reCAPTCHA, hCaptcha, Cloudflare interstitials and FunCaptcha. Solves that fail are refunded as they fail, so you pay for the tokens you could actually use.

No card required. Top up with crypto or card when you're ready.

Supported task types

Cloudflare Turnstile

All modes (managed, non-interactive, invisible). Exact User-Agent supported.

task.type
TurnstileTokenProxyLess
+2 accepted aliases
Returns
Token
Typical
1.64s
Coverage

Six families, one endpoint

Switch task type, keep the same integration. Every family returns through the same polling contract.

  • Cloudflare Turnstile

    All modes (managed, non-interactive, invisible). Exact User-Agent supported.

    Typical
    1.64s
    Returns
    Token
  • reCAPTCHA v3

    v3 and v3 Enterprise, score-based, custom pageAction.

    Typical
    1.43.7s
    Returns
    Token
  • reCAPTCHA v2

    Checkbox and invisible, solved via the audio challenge.

    Typical
    911s
    Returns
    Token
  • Cloudflare Challenge

    Clears the "Just a moment…" interstitial and JSD sensor, returns cf_clearance cookies.

    Typical
    47s
    Returns
    cf_clearance cookies
  • hCaptcha

    Non-enterprise widget and invisible mode.

    Typical
    435s
    Returns
    Token
  • FunCaptcha / Arkose

    Arkose Labs FunCaptcha, games answered on a minimal page.

    Typical
    520s
    Returns
    Token
Integration

Two calls, no SDK

If you already talk to CapSolver or Anti-Captcha, change the base URL and your key. That's the migration.

Create a task
POST the sitekey and page URL. You get a task id back immediately.
Poll for the result
Ask for the result until status flips to ready, then use the token.
curl https://api.captchapi.com/createTask \
  -H 'content-type: application/json' \
  -d '{
    "clientKey": "YOUR_API_KEY",
    "task": {
      "type": "TurnstileTokenProxyLess",
      "websiteURL": "https://example.com/login",
      "websiteKey": "0x4AAAAAAADnPIDROrmt1Wwj"
    }
  }'

# → { "errorId": 0, "taskId": "9f2c…" }

curl https://api.captchapi.com/getTaskResult \
  -H 'content-type: application/json' \
  -d '{ "clientKey": "YOUR_API_KEY", "taskId": "9f2c…" }'

# → { "errorId": 0, "status": "ready",
#     "solution": { "token": "0.f3Kd…" } }

The same challenge, four providers

reCAPTCHA v3 · measured on our production VPS
CaptchAPI
0.00s
SolveCaptcha
0.00s
CapSolver
0.00s
Castlebreaker
0.00s
0s2s4s6s8s10s

Median solve time over repeated runs against live sitekeys. Competitor figures are their own published averages.

Why CaptchAPI

Built for people who watch their p95

Failed solves cost nothing

We charge on create and refund the moment a task fails. Your invoice matches your successful requests, not your attempts.

Latency we publish

Every number on this site is measured on the machine that serves you, not a marketing figure. The status page shows the live p50 and p95.

Drop-in compatible

The anti-captcha contract, including error codes. Existing clients work unchanged — HTTP is always 200, you branch on errorId.

Exact User-Agent matching

Ask for a specific Chrome, Edge or Firefox build and the token is produced by that engine. Real Gecko for Firefox tasks, not a spoofed header.

Pricing

Pay per thousand solves

No subscription, no minimum spend. Volume discounts apply automatically as your lifetime spend grows.

  • Cloudflare Turnstile$0.60
  • reCAPTCHA v3$0.60
  • reCAPTCHA v2$1.00
  • Cloudflare Challenge$1.20
  • hCaptcha$1.50
  • FunCaptcha / Arkose$2.00

per 1,000 solves

See full pricing

Start with a key and a few cents

Create an account, generate a key, and run your first solve in the time it takes to read the docs.

Create an account