Captcha Solving API for Automation & Testing
Reliable, high-accuracy captcha solving API built for QA automation, web testing, accessibility tools, and legitimate workflow automation. Integrate in minutes.
# 1. Submit a task $ curl -X POST https://azcaptcha.com/createTask \ -d '{"clientKey":"YOUR_KEY", "task":{"type":"RecaptchaV2TaskProxyless", "websiteURL":"https://example.com", "websiteKey":"SITE_KEY"}}' # Response { "errorId": 0, "taskId": 48291043 } # 2. Get the result $ curl -X POST https://azcaptcha.com/getTaskResult \ -d '{"clientKey":"YOUR_KEY","taskId":48291043}' # Solved in ~12s โ { "status": "ready", "solution": { "gRecaptchaResponse": "03AGdBq24..." }}
Solve Any CAPTCHA Type
We support all major captcha providers for your testing, monitoring, and automation workflows.
reCAPTCHA v2
Solve Google reCAPTCHA v2 checkbox and invisible challenges. Supports standard and enterprise variants with token-based proxyless solving.
reCAPTCHA v3
Return high-confidence score tokens (0.7โ0.9) for reCAPTCHA v3 challenges. No user interaction needed โ fully invisible, score-based solving.
reCAPTCHA v2 Grid
Solve image-selection grid challenges ("select all traffic lights"). Handles 3ร3 and 4ร4 grid layouts with dynamic tile replacement.
Cloudflare Turnstile
Handle Cloudflare Turnstile managed and non-interactive challenges. Fast token generation with low latency for protected sites.
Image Captcha
Solve classic text-based image captchas using AI-powered OCR. Supports distorted text, math equations, and custom captcha images.
Integrate in Minutes
Use any API compatible library โ works with Selenium, Playwright, Puppeteer, and your existing test frameworks.
- Classic API and Task Types compatible
- RESTful JSON API
- Async webhook callbacks
- SDKs for Python, PHP, Node.js
# Submit captcha task curl -X POST https://azcaptcha.com/createTask \ -H "Content-Type: application/json" \ -d '{ "clientKey": "YOUR_API_KEY", "task": { "type": "RecaptchaV2TaskProxyless", "websiteURL": "https://example.com", "websiteKey": "SITE_KEY" } }' # Response: {"errorId":0,"taskId":12345} # Get result curl -X POST https://azcaptcha.com/getTaskResult \ -H "Content-Type: application/json" \ -d '{ "clientKey": "YOUR_API_KEY", "taskId": 12345 }'
import requests, time API_KEY = "YOUR_API_KEY" # Submit captcha task res = requests.post("https://azcaptcha.com/createTask", json={ "clientKey": API_KEY, "task": { "type": "RecaptchaV2TaskProxyless", "websiteURL": "https://example.com", "websiteKey": "SITE_KEY" } }).json() task_id = res["taskId"] # Poll for result while True: result = requests.post("https://azcaptcha.com/getTaskResult", json={ "clientKey": API_KEY, "taskId": task_id }).json() if result["status"] == "ready": print(result["solution"]["gRecaptchaResponse"]) break time.sleep(3)
$apiKey = 'YOUR_API_KEY'; // Submit task $res = json_decode(file_get_contents( 'https://azcaptcha.com/createTask', false, stream_context_create(['http' => [ 'method' => 'POST', 'header' => 'Content-Type: application/json', 'content' => json_encode([ 'clientKey' => $apiKey, 'task' => [ 'type' => 'RecaptchaV2TaskProxyless', 'websiteURL' => 'https://example.com', 'websiteKey' => 'SITE_KEY', ] ]) ]]) ), true); $taskId = $res['taskId']; // Poll with getTaskResult...
const API_KEY = 'YOUR_API_KEY'; async function solveCaptcha() { // Submit task const { taskId } = await fetch('https://azcaptcha.com/createTask', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ clientKey: API_KEY, task: { type: 'RecaptchaV2TaskProxyless', websiteURL: 'https://example.com', websiteKey: 'SITE_KEY' } }) }).then(r => r.json()); // Poll for solution while (true) { const result = await fetch('https://azcaptcha.com/getTaskResult', { method: 'POST', body: JSON.stringify({ clientKey: API_KEY, taskId }) }).then(r => r.json()); if (result.status === 'ready') return result.solution; await new Promise(r => setTimeout(r, 3000)); } }
import java.net.http.*; import java.net.URI; var client = HttpClient.newHttpClient(); var body = """ {"clientKey":"YOUR_API_KEY", "task":{"type":"RecaptchaV2TaskProxyless", "websiteURL":"https://example.com", "websiteKey":"SITE_KEY"}}"""; // Submit task var req = HttpRequest.newBuilder() .uri(URI.create("https://azcaptcha.com/createTask")) .header("Content-Type", "application/json") .POST(HttpRequest.BodyPublishers.ofString(body)) .build(); var res = client.send(req, HttpResponse.BodyHandlers.ofString()); System.out.println(res.body()); // {"errorId":0,"taskId":12345}
using System.Net.Http.Json; var client = new HttpClient(); var payload = new { clientKey = "YOUR_API_KEY", task = new { type = "RecaptchaV2TaskProxyless", websiteURL = "https://example.com", websiteKey = "SITE_KEY" } }; // Submit task var res = await client.PostAsJsonAsync( "https://azcaptcha.com/createTask", payload); var json = await res.Content.ReadAsStringAsync(); Console.WriteLine(json); // {"errorId":0,"taskId":12345}
package main import ( "bytes" "fmt" "io" "net/http" ) func main() { body := []byte(`{"clientKey":"YOUR_API_KEY", "task":{"type":"RecaptchaV2TaskProxyless", "websiteURL":"https://example.com", "websiteKey":"SITE_KEY"}}`) resp, _ := http.Post( "https://azcaptcha.com/createTask", "application/json", bytes.NewBuffer(body)) defer resp.Body.Close() out, _ := io.ReadAll(resp.Body) fmt.Println(string(out)) }
require 'net/http' require 'json' api_key = 'YOUR_API_KEY' uri = URI('https://azcaptcha.com/createTask') # Submit task res = Net::HTTP.post(uri, { clientKey: api_key, task: { type: 'RecaptchaV2TaskProxyless', websiteURL: 'https://example.com', websiteKey: 'SITE_KEY' } }.to_json, 'Content-Type' => 'application/json') data = JSON.parse(res.body) puts "Task ID: #{data['taskId']}" # Poll getTaskResult for solution...
v1.0.3
Solve Captchas Without Writing Code
Install the AZcaptcha extension and let it handle captchas automatically as you browse. reCAPTCHA, hCaptcha, Turnstile โ detected and solved in seconds.
Captchas solved on page load
reCAPTCHA, hCaptcha, Turnstile
Custom settings per website
No tracking, no data collection
Built for Developers
Designed for QA engineers, test automation teams, and developers building legitimate workflows.
Lightning Fast
Average solve time under 12 seconds โ ideal for CI/CD pipelines and automated test suites.
Highly Accurate
99%+ accuracy ensures your automated tests and monitoring jobs run reliably.
Drop-in Compatible
Works with Selenium, Playwright, Puppeteer, and all major testing frameworks.
Infinitely Scalable
Auto-scaling infrastructure handles parallel test runs and high-volume monitoring.
Secure by Design
API keys, HMAC verification, and encrypted connections keep your data safe.
Async Pingback
Receive results via webhook callbacks โ perfect for asynchronous test pipelines.
Why Choose AZcaptcha?
Purpose-built for automation engineers and QA teams who need reliable captcha handling.
Lightning Fast API
Sub-500ms average response time โ keeps your CI/CD pipelines and test suites running fast.
High Success Rate
98.5% average success rate ensures your automated workflows complete reliably.
Developer Friendly
RESTful API with clear docs, code examples, and native integration with testing frameworks.
Global Solver Network
Distributed worker network across multiple regions for reliable, low-latency solving.
24/7 Support
Round-the-clock support via ticket and live chat for any integration issues.
Secure & Private
TLS encryption, no data logging, GDPR compliant. Your requests stay private.