What is AnySolver
A unified CAPTCHA-solving API. One integration, every major provider, automatic routing.
A CAPTCHA blocks bots by asking a visitor to prove they are human, like ticking a box, picking pictures, or solving a puzzle. A CAPTCHA solver is a service that handles those challenges over an API. You send the challenge identifier, the solver returns a token your code submits as if a human had solved it. Each major solver runs its own API, pricing, and reliability profile.
AnySolver is a unified CAPTCHA-solving API. You write one integration; AnySolver picks a provider per task, runs it, and returns the solution. Switch providers from the dashboard without touching your code.
Why AnySolver
How it works
Send a task. AnySolver picks a provider, runs it, and returns the token.

The same flow over the API:
{ "clientKey": "your-api-key-from-dashboard", "task": { "type": "ReCaptchaV2TokenProxyLess", "websiteURL": "https://www.google.com/recaptcha/api2/demo", "websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-", "pageTitle": "reCAPTCHA demo" }}curl -X POST https://api.anysolver.com/createTask \ -H 'Content-Type: application/json' \ -d '{"clientKey":"your-api-key-from-dashboard","task":{"type":"ReCaptchaV2TokenProxyLess","websiteURL":"https://www.google.com/recaptcha/api2/demo","websiteKey":"6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-","pageTitle":"reCAPTCHA demo"}}'const res = await fetch('https://api.anysolver.com/createTask', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ "clientKey": "your-api-key-from-dashboard", "task": { "type": "ReCaptchaV2TokenProxyLess", "websiteURL": "https://www.google.com/recaptcha/api2/demo", "websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-", "pageTitle": "reCAPTCHA demo" }}),});const data = await res.json();import requestsres = requests.post( 'https://api.anysolver.com/createTask', json={ "clientKey": "your-api-key-from-dashboard", "task": { "type": "ReCaptchaV2TokenProxyLess", "websiteURL": "https://www.google.com/recaptcha/api2/demo", "websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-", "pageTitle": "reCAPTCHA demo" }},).json()Response:
{
"errorId": 0,
"taskId": "01KFNDF328KAN2AJ3BNHCQYE88"
}Poll getTaskResult every two to three seconds until status is ready. See the Quick Start for the full flow with code.
Routing strategies
Routing is configured per API key. Set it once and every task using that key follows the strategy.
Details: Routing strategies.
How pricing works
You are charged per task. AnySolver deducts an estimate when the task is created and reconciles to the actual cost when it completes. Failed tasks are refunded automatically.
Details: Pricing & Billing.