Built for legitimate automation workflows

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.

QA & test automation
Accessibility testing
Legitimate workflow automation
azcaptcha โ€” quick start
# 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..." }}
Client
API
Workers
Solved
Response
99.9%
Guaranteed SLA
<12s
Avg. Solve Time
5+
Captcha Types
99%
Accuracy Rate

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.

Checkbox Invisible Enterprise
8โ€“15s 98% Available
Learn more

reCAPTCHA v3

Return high-confidence score tokens (0.7โ€“0.9) for reCAPTCHA v3 challenges. No user interaction needed โ€” fully invisible, score-based solving.

Score-based Enterprise
10โ€“20s 95% Available
Learn more

reCAPTCHA v2 Grid

Solve image-selection grid challenges ("select all traffic lights"). Handles 3ร—3 and 4ร—4 grid layouts with dynamic tile replacement.

Image Select 3ร—3 Grid 4ร—4 Grid
3โ€“8s 97% Available
Learn more

Cloudflare Turnstile

Handle Cloudflare Turnstile managed and non-interactive challenges. Fast token generation with low latency for protected sites.

Managed Non-interactive
5โ€“10s 97% Available
Learn more

Image Captcha

Solve classic text-based image captchas using AI-powered OCR. Supports distorted text, math equations, and custom captcha images.

AI OCR Text Math
0.3โ€“1s 99% Available
Learn more

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
Read API Docs
cURL
# 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
  }'
Python
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)
PHP
$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...
Node.js
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));
  }
}
Java
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}
C#
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}
Go
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))
}
Ruby
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...
AZcaptcha Browser Extension 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.

Auto-Solve
Captchas solved on page load
All Major Types
reCAPTCHA, hCaptcha, Turnstile
Per-Site Rules
Custom settings per website
Lightweight
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.

Frequently Asked Questions

AZcaptcha is designed for legitimate automation and testing workflows โ€” QA test automation, accessibility testing, web monitoring, data migration, compliance auditing, and development environments where captcha challenges block automated processes.

We support reCAPTCHA v2 (checkbox, invisible, grid), reCAPTCHA v3, hCaptcha, Cloudflare Turnstile, FunCaptcha/Arkose, image captchas, GeeTest v3/v4, audio captchas, and text captchas.

We maintain 99%+ accuracy. For image captchas and token-based challenges, incorrect results can be reported and you won't be charged.

You top up your account balance and pay per successfully solved captcha. There are no monthly fees or minimum commitments.

Yes. High-volume teams running large test suites can contact us for custom pricing and dedicated solver capacity.

Absolutely. Just change the API endpoint URL to azcaptcha and your existing test code will work without modification.

New accounts receive a small free credit to test the service in your automation pipeline before committing to a top-up.

Yes. AZcaptcha is designed for legitimate automation and testing workflows only. We strictly prohibit misuse including unauthorized access, credential stuffing, spam, and any activity that violates applicable laws or third-party terms of service. Accounts found violating our policy will be terminated.

Ready to Streamline Your Testing Workflow?

Verify your email and get $0.10 free credit to test the API โ€” no credit card, no commitment.