MTCaptcha

CapMonster Cloud по умолчанию работает через встроенные прокси — они уже включены в стоимость. Указывать собственные прокси требуется только в тех случаях, когда сайт не принимает токен или доступ к встроенным сервисам ограничен.
Если прокси с авторизацией по IP, то необходимо добавить адрес 65.21.190.34 в белый список.
Параметры запроса
type<string>requiredMTCaptchaTask
websiteURL<string>requiredАдрес страницы, на которой решается капча.
websiteKey<string>requiredКлюч MTcaptcha, передаётся в запросе в параметрах, как sk (см. пример ниже, как его найти).
Имеет следующий примерный формат: MTPublic-abCDEFJAB
pageAction<string>optionalПараметр action передаётся в запросе как act и отображается при валидации токена. Указывайте его в запросе, только если значение отличается от стандартного - %24.
Пример в html:
<script>
var mtcaptchaConfig = {
"sitekey": "MTPublic-abCDEFJAB",
"action": "login"
};
</script>
isInvisible<bool>optionaltrue, если капча невидимая, т.е. имеет скрытое поле для подтверждения. При подозрении на бота вызывается дополнительная проверка.
userAgent<string>optionalUser-Agent браузера. Используйте текущее значение, поддерживаемое CapMonster Cloud: userAgentPlaceholder
Получить актуальное значение можно по адресу: https://capmonster.cloud/api/useragent/actual.
proxyType<string>optionalhttp - обычный http/https прокси;
https - попробуйте эту опцию только если "http" не работает (требуется для некоторых кастомных прокси);
socks4 - socks4 прокси;
socks5 - socks5 прокси.
proxyAddress<string>optionalIP адрес прокси IPv4/IPv6. Не допускается:
- использование прозрачных прокси (там где можно видеть IP клиента);
- использование прокси на локальных машинах.
proxyPort<integer>optionalПорт прокси.
proxyLogin<string>optionalЛогин прокси-сервера.
proxyPassword<string>optionalПароль прокси-сервера.
Метод создания задачи
https://api.capmonster.cloud/createTask
Для пользователей из России также доступен:
https://ru.api.capmonster.cloud/createTask
Подробнее в разделе createTask.
- MTCaptchaTask (без прокси)
- MTCaptchaTask (при использовании прокси)
Пример запроса
{
"clientKey": "API_KEY",
"task":
{
"type": "MTCaptchaTask",
"websiteURL": "https://yourwebsite.com/page-with-mtcaptcha",
"websiteKey": "your-website-key",
"isInvisible": false,
"pageAction": "your-page-action"
}
}
Пример ответа
{
"errorId":0,
"taskId":407533077
}
Пример запроса
{
"clientKey": "API_KEY",
"task":
{
"type": "MTCaptchaTask",
"websiteURL": "https://yourwebsite.com/page-with-mtcaptcha",
"websiteKey": "your-website-key",
"isInvisible": false,
"pageAction": "your-page-action",
"proxyType": "your-proxy-type",
"proxyAddress": "your-proxy-address",
"proxyPort": 1234,
"proxyLogin": "your-proxy-login",
"proxyPassword": "your-proxy-password"
}
}
Пример ответа
{
"errorId":0,
"taskId":407533077
}
Метод получения результата задачи
Используйте метод getTaskResult, чтобы получить решение MTCaptcha капчи.
https://api.capmonster.cloud/getTaskResult
Для пользователей из России также доступен:
https://ru.api.capmonster.cloud/getTaskResult
Подробнее в разделе getTaskResult.
Пример запроса
{
"clientKey": "API_KEY",
"taskId": 407533077
}
Пример ответа
{
"errorId": 0,
"errorCode": null,
"errorDescription": null,
"solution": {
"token": "v1(155506dc,c8c2e356,MTPublic-abCDEFJAB,70f03532a53...5FSDA**)"
},
"status": "ready"
}
Как найти параметры капчи
websiteKey
Этот параметр можно найти во вкладке Network в Инструментах разработчика.
Ищите запросы, начинающиеся, например, с getchallenge.json — параметр sk соответствует websiteKey.

pageAction
В этом же запросе содержится параметр pageAction: нужное значение передаётся как act.
По умолчанию оно равно %24; если значение отличается (например, ..&act=login&...), укажите его при создании задачи.

Используйте библиотеку SDK
- JavaScript / TypeScript
- Python
- C#
Показать код (для браузера)
// https://github.com/CapMonsterCloud/capmonster-nodejs-captcha-solver
import {
CapMonsterCloudClientFactory,
ClientOptions,
MTCaptchaRequest
} from "@zennolab_com/capmonstercloud-client";
document.addEventListener("DOMContentLoaded", async () => {
const API_KEY = "YOUR_API_KEY"; // Укажите ваш API-ключ CapMonster Cloud
const client = CapMonsterCloudClientFactory.Create(
new ClientOptions({ clientKey: API_KEY })
);
// Базовый пример без прокси
// CapMonster Cloud автоматически использует собственные прокси
let mtcaptchaRequest = new MTCaptchaRequest({
websiteURL: "https://yourwebsite.com/page-with-mtcaptcha",
websiteKey: "your-website-key",
isInvisible: false,
pageAction: "login",
});
// Пример с использованием вашего прокси
// Раскомментируйте этот блок, если хотите использовать свой прокси
/*
const proxy = {
proxyType: "http",
proxyAddress: "123.45.67.89",
proxyPort: 8080,
proxyLogin: "username",
proxyPassword: "password",
};
mtcaptchaRequest = new MTCaptchaRequest({
websiteURL: "https://yourwebsite.com/page-with-mtcaptcha",
websiteKey: "your-website-key",
isInvisible: false,
pageAction: "login",
proxy,
userAgent: "userAgentPlaceholder",
});
*/
// При необходимости можно проверить баланс
const balance = await client.getBalance();
console.log("Balance:", balance);
const result = await client.Solve(mtcaptchaRequest);
console.log("Solution:", result.solution);
});
Показать код (Node.js)
// https://github.com/CapMonsterCloud/capmonster-nodejs-captcha-solver
const {
CapMonsterCloudClientFactory,
ClientOptions,
MTCaptchaRequest,
} = require("@zennolab_com/capmonstercloud-client");
const API_KEY = "YOUR_API_KEY"; // Укажите ваш API-ключ CapMonster Cloud
async function solveMTCaptcha() {
const client = CapMonsterCloudClientFactory.Create(
new ClientOptions({ clientKey: API_KEY }),
);
// Базовый пример без прокси
// CapMonster Cloud автоматически использует собственные прокси
let mtcaptchaRequest = new MTCaptchaRequest({
websiteURL: "https://yourwebsite.com/page-with-mtcaptcha",
websiteKey: "your-website-key",
isInvisible: false,
pageAction: "login",
});
// Пример с использованием вашего прокси
// Раскомментируйте этот блок, если хотите использовать свой прокси
/*
const proxy = {
proxyType: "http",
proxyAddress: "123.45.67.89",
proxyPort: 8080,
proxyLogin: "username",
proxyPassword: "password",
};
mtcaptchaRequest = new MTCaptchaRequest({
websiteURL: "https://yourwebsite.com/page-with-mtcaptcha",
websiteKey: "your-website-key",
isInvisible: false,
pageAction: "login",
proxy,
userAgent: "userAgentPlaceholder",
});
*/
// При необходимости можно проверить баланс
const balance = await client.getBalance();
console.log("Balance:", balance);
const result = await client.Solve(mtcaptchaRequest);
console.log("Solution:", result.solution);
}
solveMTCaptcha().catch(console.error);
Показать код
# https://github.com/CapMonsterCloud/capmonster-python-captcha-solver
import asyncio
from capmonstercloudclient import CapMonsterClient, ClientOptions
from capmonstercloudclient.requests import MTCaptchaRequest
# Импортируйте ProxyInfo, если планируете использовать собственный прокси
from capmonstercloudclient.requests.proxy_info import ProxyInfo
API_KEY = "YOUR_API_KEY" # Укажите ваш API-ключ CapMonster Cloud
async def solve_mtcaptcha():
client = CapMonsterClient(
options=ClientOptions(api_key=API_KEY)
)
# Базовый пример без прокси
# CapMonster Cloud автоматически использует собственные прокси
mtcaptcha_request = MTCaptchaRequest(
websiteUrl="https://yourwebsite.com/page-with-mtcaptcha",
websiteKey="your-website-key",
isInvisible=False,
pageAction="login",
)
# Пример с использованием вашего прокси
# Раскомментируйте этот блок, если хотите использовать свой прокси
"""
proxy = ProxyInfo(
proxyType="http",
proxyAddress="123.45.67.89",
proxyPort=8080,
proxyLogin="username",
proxyPassword="password",
)
mtcaptcha_request = MTCaptchaRequest(
websiteUrl="https://yourwebsite.com/page-with-mtcaptcha",
websiteKey="your-website-key",
isInvisible=False,
pageAction="login",
proxy=proxy,
userAgent="userAgentPlaceholder",
)
"""
# При необходимости можно проверить баланс
balance = await client.get_balance()
print("Balance:", balance)
result = await client.solve_captcha(mtcaptcha_request)
print("Solution:", result)
asyncio.run(solve_mtcaptcha())
Показать код
// https://github.com/CapMonsterCloud/capmonster-dotnet-captcha-solver
using System;
using System.Threading.Tasks;
using Zennolab.CapMonsterCloud;
using Zennolab.CapMonsterCloud.Requests;
class Program
{
static async Task Main(string[] args)
{
// Укажите ваш API-ключ CapMonster Cloud
var clientOptions = new ClientOptions
{
ClientKey = "YOUR_API_KEY"
};
var cmCloudClient = CapMonsterCloudClientFactory.Create(clientOptions);
// Базовый пример без прокси
// CapMonster Cloud автоматически использует собственные прокси
var mtcaptchaRequest = new MTCaptchaTaskRequest
{
WebsiteUrl = "https://yourwebsite.com/page-with-mtcaptcha",
WebsiteKey = "your-website-key",
Invisible = false,
PageAction = "login",
UserAgent = "userAgentPlaceholder"
};
// Пример с использованием вашего прокси
// Раскомментируйте этот блок, если хотите использовать свой прокси
/*
mtcaptchaRequest = new MTCaptchaTaskRequest
{
WebsiteUrl = "https://yourwebsite.com/page-with-mtcaptcha",
WebsiteKey = "your-website-key",
Invisible = false,
PageAction = "login",
UserAgent = "userAgentPlaceholder",
Proxy = new ProxyContainer(
"123.45.67.89",
8080,
ProxyType.Http,
"username",
"password"
)
};
*/
// При необходимости можно проверить баланс
var balance = await cmCloudClient.GetBalanceAsync();
Console.WriteLine("Balance: " + balance);
var mtcaptchaResult = await cmCloudClient.SolveAsync(mtcaptchaRequest);
Console.WriteLine("Solution: " + mtcaptchaResult.Solution.Value);
}
}
