Skip to content
../products
Math CaptchaMathCaptchaTask

Math Captcha Solver, solved in 5.0s.

Send an image of an arithmetic expression (e.g. '3 + 5'), get back the computed answer. Sub-second solves.

$2.00per 1,000
~5.0savg solve
99%+success
12/mthroughput
capzy math — live
input · base64 image
3 + 5
↓ vision pipeline · 0.6s
solution.expression
""
solution.text
strategy: geminisolved in 0.6s
type: MathCaptchaTask● running on production solvers

What is Math Captcha?

A math captcha is an image showing a small arithmetic expression — addition, subtraction, multiplication, or division of two or three small whole numbers (e.g. '7 + 2', 'twelve minus four', '6 × 3'). The user is expected to compute the result and type the numeric answer.

How it works

1

Send Task

POST your MathCaptchaTask with the target URL and sitekey to our API. We'll queue it instantly.

2

We Solve

Capzy's proprietary vision pipeline reads the expression off the image and returns the computed answer, typically in ~0.6-1s.

3

Get Token

Poll getTaskResult — when status is 'ready', the solution contains the token to inject into the target page.

Quick integration

solve.py
import requests, time

API = "https://api.capzy.ai"
KEY = "capzy_your_key_here"

# Step 1: Create task
task = requests.post(f"{API}/createTask", json={
    "clientKey": KEY,
    "task": {
        "type": "MathCaptchaTask",
        "body": "/9j/4AAQSkZJRgABAQ..."
    }
}).json()

task_id = task["taskId"]
print(f"Task created: {task_id}")

# Step 2: Poll for result
while True:
    result = requests.post(f"{API}/getTaskResult", json={
        "clientKey": KEY,
        "taskId": task_id
    }).json()

    if result["status"] == "ready":
        print("Solved!", result["solution"])
        break
    elif result["status"] == "failed":
        print("Failed:", result.get("errorDescription"))
        break

    time.sleep(1)

# Step 3: Image-to-text / math — submit the recognized text as the captcha answer
answer = result["solution"]["text"]
requests.post("https://target.example.com/login", data={"username": "...", "captcha": answer})

Task parameters

typetypestringreqyesMathCaptchaTask
bodytypestringreqyesBase64-encoded image (PNG, JPG, GIF, BMP) of the math expression

Solution response

texttypestringThe computed numeric answer (e.g. '8')
expressiontypestringThe expression we read from the image, in standard form (e.g. '3 + 5')

Example response

Full getTaskResult response shape. The fields in the table above describe what's inside solution — the outer envelope (errorId, status) is identical for every captcha type.

{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "text": "8",
    "expression": "3 + 5"
  }
}

Error response

Failures use the same envelope with errorId: 1 plus errorCode + errorDescription. See the error-code reference for the full list.

{
  "errorId": 1,
  "errorCode": "ERROR_CAPTCHA_UNSOLVABLE",
  "errorDescription": "Solver gave up — automatically refunded."
}

Pending response

While the solver is still working, getTaskResult returns status: "processing". Poll every 1–2 seconds until ready or failed.

{
  "errorId": 0,
  "status": "processing"
}

Features

Handles + - x / with two or three operands
Reads symbols and word forms ('plus', 'minus')
Image-in, answer-out
Typical solve under 1 second

task types

proxyless: MathCaptchaTask

Frequently asked questions

start solving math captcha.

$0.10 in free credits — no card. ~250 free solves to test before you spend.