This page is for teams already running an automated captcha pipeline who want a second option, either as a replacement or as a fallback behind their primary provider. It sets out what carries over unchanged, what differs, and what to verify first.
What carries over
The asynchronous job model: submit, receive an identifier, poll until the result is ready
A key sent in an authorization header rather than a session, which suits scripts and CI
Numeric error codes, including one specifically for a job that is still being processed
Token endpoints for reCAPTCHA, hCaptcha, Turnstile, FunCaptcha and text captchas, so the calling code keeps its shape
Where the billing differs
Refused submissions are not charged, so a pipeline that trips rate limits does not pay for the refusals
Polling the result never costs anything, which matters when jobs are slow
Cheap types are priced cheaply: text recognition and Turnstile are one credit
No subscription, so an intermittent workload is not billed through the quiet weeks
Supported types
reCAPTCHA v2 and v3, hCaptcha, Cloudflare Turnstile, Arkose Labs FunCaptcha and its matching variant, AWS WAF captcha, GeeTest, Lemin, PerimeterX, and text or arithmetic captchas. Every type listed is implemented; types that are not implemented are not listed.
Running two providers at once
Send by type: route the types your primary handles well to it and the rest here
Send by failure: keep the primary, fall back here when it returns a terminal error
Send by budget: use one provider until a daily cap is reached and the other after it
Keep a single internal interface so switching a route is a configuration change rather than a code change
What to verify before committing
That every type you hit is supported, including variants such as matching FunCaptcha that are easy to miss
That a job still in progress returns a distinct code, so your retry loop does not treat it as a failure
That failed solves are not billed, since that is what dominates cost in a noisy pipeline
That the free tier is large enough to load test with, and that it covers token types as well as image reads
An honest note
If your traffic is enormous or you rely on types we do not support, staying where you are may be correct. What we offer is a straightforward asynchronous API, a trial large enough to validate against, per-solve billing that does not charge for refusals, and a supported type list that is short and real. For many scraping teams that is enough, and for some it is not.
Charged per solve: one credit for each recognition request, and polling for the result is free. Signing up includes 200 free solves.
FAQ
How much code has to change to move?
Usually the host and the key. The submit-and-poll pattern is the same, so the parser for the response typically needs no change at all.
What is the free trial?
200 solves on sign-up, usable across every supported type including token solves, which is enough to validate an integration end to end.
Am I charged when a solve fails?
A submission the upstream refuses is not charged, and polling is always free. Once a job is accepted it costs one credit.
Can I use both providers at the same time?
Yes, and it is the usual starting point: keep your current provider as primary and route specific types or fallbacks here, behind one internal interface.
Do you support the newer browser-based challenge types?
We support the types listed on this site, which include reCAPTCHA v2 and v3, hCaptcha, Turnstile, FunCaptcha, AWS WAF, GeeTest, Lemin and PerimeterX. Anything not listed is not currently implemented.