Skip to content
../products
MTCaptchaMtCaptchaTaskProxyLess

MTCaptcha Solver, solved in 5.0s.

Solve MTCaptcha verification used on government sites and enterprise portals. Token-based, fast solving.

$2.00per 1,000
~5.0savg solve
99%+success
12/mthroughput
websiteKey: MTPublic-abc123…0.00s
POST/createTask type=MtCaptchaTaskProxyLess
taskId tsk_e9jszatq
POLL/getTaskResult status=processing
status ready
token 0x99348b6458139...
type: MtCaptchaTaskProxyLess● running on production solvers

What is MTCaptcha?

MTCaptcha is a GDPR-compliant captcha service used by government sites, universities, and enterprise portals worldwide. It presents an invisible or checkbox challenge and produces a verification token.

How it works

1

Send Task

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

2

We Solve

Capzy's proprietary solver returns valid MTCaptcha verifiedtokens for authorized testing and automation.

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": "MtCaptchaTaskProxyLess",
        "websiteKey": "MTPublic-abc123",
        "websiteURL": "https://example.com/form"
    }
}).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: Use the result — paste the token into the site's captcha form field
token = result["solution"]["token"]
# Browser side: set the textarea value or the hidden input. Then submit.
# Server-to-server: post the token alongside the form fields you normally send.
resp = requests.post("https://target.example.com/submit", data={
    "username": "...",
    "captcha_response": token,   # <-- replace with the field name your site uses
})
print(resp.status_code)

Using your own proxy

Use MtCaptchaTask instead of MtCaptchaTaskProxyLess to route the solve through your own proxy. This is useful when the target site checks the IP that solved the captcha matches the IP submitting the form.

solve_proxy.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": "MtCaptchaTask",
        "proxyPort": "8080",
        "proxyType": "http",
        "proxyLogin": "user",
        "websiteKey": "MTPublic-abc123",
        "websiteURL": "https://example.com/form",
        "proxyAddress": "123.45.67.89",
        "proxyPassword": "pass"
    }
}).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: Use the result — paste the token into the site's captcha form field
token = result["solution"]["token"]
# Browser side: set the textarea value or the hidden input. Then submit.
# Server-to-server: post the token alongside the form fields you normally send.
resp = requests.post("https://target.example.com/submit", data={
    "username": "...",
    "captcha_response": token,   # <-- replace with the field name your site uses
})
print(resp.status_code)

additional proxy parameters

proxyTypetypestringreqyesProxy protocol: http or https
proxyAddresstypestringreqyesProxy IP address or hostname
proxyPorttypenumberreqyesProxy port number
proxyLogintypestringreqnoProxy username (if auth required)
proxyPasswordtypestringreqnoProxy password (if auth required)
userAgenttypestringreqnoUser-Agent string to use. Must match the UA you use when submitting the token

Task parameters

typetypestringreqyesMtCaptchaTaskProxyLess or MtCaptchaTask
websiteURLtypestringreqyesThe page URL
websiteKeytypestringreqyesThe MTCaptcha sitekey

Solution response

tokentypestringThe MTCaptcha verification token

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": {
    "token": "v1(<MTPublic key>,<verified-token payload>)"
  }
}

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

Fast token generation
GDPR-compliant captcha
Used on government/enterprise sites
Most instances auto-pass

task types

proxyless: MtCaptchaTaskProxyLess

with proxy: MtCaptchaTask

start solving mtcaptcha.

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