Send a sitekey and a page URL. Get back a working token. No queues to manage, no browser farm to run — just a token your request can use.
Official SDKs for JavaScript, Python, and Go. Or skip the wrapper and call the REST API directly.
import { CapFF } from "@capff/sdk"; const capff = new CapFF(process.env.CAPFF_API_KEY); const { token } = await capff.solve({ type: "hcaptcha", sitekey: "10000000-ffff-ffff-ffff-000000000001", pageUrl: "https://example.com/login", }); console.log(token); // "P0_eyJ0eXAiOiJKV1QiLCJhbGc..."
from capff import CapFF import os capff = CapFF(api_key=os.environ["CAPFF_API_KEY"]) result = capff.solve( type="hcaptcha", sitekey="10000000-ffff-ffff-ffff-000000000001", page_url="https://example.com/login", ) print(result.token) # "P0_eyJ0eXAiOiJKV1QiLCJhbGc..."
package main import ( "fmt" "os" "github.com/capff/capff-go" ) func main() { client := capff.New(os.Getenv("CAPFF_API_KEY")) result, err := client.Solve(capff.Request{ Type: "hcaptcha", SiteKey: "10000000-ffff-ffff-ffff-000000000001", PageURL: "https://example.com/login", }) if err != nil { panic(err) } fmt.Println(result.Token) // "P0_eyJ0eXAiOiJKV1QiLCJhbGc..." }
# 1. Create a solve task curl -X POST https://api.capff.dev/v1/solve \ -H "Authorization: Bearer $CAPFF_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "type": "hcaptcha", "sitekey": "10000000-ffff-ffff-ffff-000000000001", "pageurl": "https://example.com/login" }' # → { "id": "tsk_8f2a1c", "status": "processing" } # 2. Poll for the result curl https://api.capff.dev/v1/result/tsk_8f2a1c \ -H "Authorization: Bearer $CAPFF_API_KEY" # → { "status": "solved", "token": "P0_eyJ0eXAiOiJKV1QiLCJhbGc..." }
Three calls, start to finish. No browser to babysit on your end.
POST the sitekey and the page URL where the CAPTCHA is shown. That's the whole request.
Our solving engine works the challenge and produces a token that the target site will accept.
Submit the token in your form or request exactly where the solved CAPTCHA response normally goes.
One integration, six CAPTCHA providers. Switch the type field, nothing else changes.
Checkbox and image-grid challenges, both visible and invisible.
"I'm not a robot" checkbox and image-selection fallback.
Score-based, invisible challenges — returns a usable action token.
Managed and non-interactive widget modes.
Rotation and puzzle-style challenges from Arkose Labs.
Slide, gobang, and icon-matching challenge formats.
No minimums. Usage resets monthly, and unused volume discounts kick in automatically.
Most hCaptcha and reCAPTCHA v2 tokens come back in 4–9 seconds. reCAPTCHA v3 and Turnstile are usually faster since there's no visual challenge to work through.
You're not charged for it. Failed solves are automatically retried once before they're returned as an error, so a bad token reaching you is rare.
Only if you're calling the REST API directly. The JavaScript, Python, and Go SDKs poll for you and resolve once the token is ready.
Yes, tied to your plan — 20 req/s on Pay as you go, 100 req/s on Team. Enterprise plans set a custom ceiling.
CapFF is built for clearing CAPTCHA challenges your own automated requests encounter — QA testing, monitoring, and scraping your own or permitted properties. You're responsible for using tokens in line with the target site's terms.
No credit card to start. Drop in an SDK and get a token in minutes.