Skip to content

MTCaptcha

MTCaptcha is an enterprise CAPTCHA service that offers adaptive challenges including invisible verification, slider puzzles, and visual challenges. It is used by government agencies, financial institutions, and enterprise websites, particularly in regulated industries. Upon solving, MTCaptcha produces a verified token that is submitted with form data for server-side validation.

TypeProxy RequiredDescription
MTCaptchaTokenYesSolves the challenge using your proxy. Use when the target site validates the solver’s IP.
MTCaptchaTokenProxyLessNoSolves the challenge without a proxy. Recommended for most use cases.
ParameterTypeRequiredDescription
typestringYesMTCaptchaToken or MTCaptchaTokenProxyLess
websiteURLstringYesThe URL of the page containing the MTCaptcha widget
websiteKeystringYesThe site key found in the MTCaptcha configuration. Look for the sitekey parameter in the MTCaptcha script initialization.

Required when using the MTCaptchaToken type:

ParameterTypeRequiredDescription
proxyTypestringYeshttp, socks4, or socks5
proxyAddressstringYesProxy IP or hostname
proxyPortintegerYesProxy port
proxyLoginstringNoProxy username
proxyPasswordstringNoProxy password
{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "MTCaptchaTokenProxyLess",
"websiteURL": "https://example.com/login",
"websiteKey": "MTPublic-KzqLY11k5"
}
}

With proxy:

{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "MTCaptchaToken",
"websiteURL": "https://example.com/login",
"websiteKey": "MTPublic-KzqLY11k5",
"proxyType": "http",
"proxyAddress": "1.2.3.4",
"proxyPort": 8080,
"proxyLogin": "user",
"proxyPassword": "pass"
}
}
{
"errorId": 0,
"taskId": "550e8400-e29b-41d4-a716-446655440000",
"status": "processing"
}
{
"token": "v1(03,79a,0,0,MTPublic-KzqLY11k5,c0b8...)"
}
FieldTypeDescription
tokenstringThe verified token to submit with the form
  1. Find the MTCaptcha site key in the page source. It is typically in a script block like mtcaptchaConfig = { sitekey: "MTPublic-..." } or in a data-sitekey attribute.
  2. Submit the task and poll for the solution.
  3. Set the returned token as the value of the mtcaptcha-verifiedtoken hidden input field in the form.
  4. Submit the form. The server will verify the token against the MTCaptcha API.
import requests
import time
API_KEY = "YOUR_API_KEY"
response = requests.post("https://api.ucaptcha.net/createTask", json={
"clientKey": API_KEY,
"task": {
"type": "MTCaptchaTokenProxyLess",
"websiteURL": "https://example.com/login",
"websiteKey": "MTPublic-KzqLY11k5"
}
})
task_id = response.json()["taskId"]
while True:
result = requests.post("https://api.ucaptcha.net/getTaskResult", json={
"clientKey": API_KEY,
"taskId": task_id
}).json()
if result["status"] == "ready":
token = result["solution"]["token"]
print("Solution:", token)
# Submit the form with the verified token
form_data = {
"mtcaptcha-verifiedtoken": token,
"username": "user",
"password": "pass"
}
response = requests.post("https://example.com/login", data=form_data)
print("Status:", response.status_code)
break
elif result["status"] == "failed":
print("Error:", result.get("errorDescription"))
break
time.sleep(5)
const API_KEY = "YOUR_API_KEY";
const { taskId } = await fetch("https://api.ucaptcha.net/createTask", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
clientKey: API_KEY,
task: {
type: "MTCaptchaTokenProxyLess",
websiteURL: "https://example.com/login",
websiteKey: "MTPublic-KzqLY11k5"
}
})
}).then(r => r.json());
while (true) {
const result = await fetch("https://api.ucaptcha.net/getTaskResult", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ clientKey: API_KEY, taskId })
}).then(r => r.json());
if (result.status === "ready") {
console.log("Solution:", result.solution.token);
break;
} else if (result.status === "failed") {
console.error("Error:", result.errorDescription);
break;
}
await new Promise(r => setTimeout(r, 5000));
}
Terminal window
# Create the task
curl -X POST https://api.ucaptcha.net/createTask \
-H "Content-Type: application/json" \
-d '{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "MTCaptchaTokenProxyLess",
"websiteURL": "https://example.com/login",
"websiteKey": "MTPublic-KzqLY11k5"
}
}'
# Poll for the result (replace TASK_ID with the returned taskId)
curl -X POST https://api.ucaptcha.net/getTaskResult \
-H "Content-Type: application/json" \
-d '{
"clientKey": "YOUR_API_KEY",
"taskId": "TASK_ID"
}'
  • 2Captcha
  • CapSolver

No backward-compatible aliases. Use MTCaptchaToken or MTCaptchaTokenProxyLess directly.