Prosopo Procaptcha

CapMonster Cloud uses built-in proxies by default — their cost is already included in the service. You only need to specify your own proxies in cases where the website does not accept the token or access to the built-in services is restricted.
If you are using a proxy with IP authorization, make sure to whitelist the address 65.21.190.34.
The token-based automatic CAPTCHA solving method Prosopo Procaptcha.
Request parameters
type<string>requiredProsopoTask
websiteURL<string>requiredThe full URL of the CAPTCHA page.
websiteKey<string>requiredThe value of the siteKey parameter found on the page.
It typically has the following format: 5EZU3LG31uzq1Mwi8inwqxmfvFDpj7VzwDnZwj4Q3syyxBwV.
userAgent<string>optionalBrowser User-Agent. Use the current value supported by CapMonster Cloud: userAgentPlaceholder
You can get the latest value at: https://capmonster.cloud/api/useragent/actual.
proxyType<string>optionalhttp - regular http/https proxy;
https - try this option only if "http" doesn't work (required for some custom proxies);
socks4 - socks4 proxy;
socks5 - socks5 proxy.
proxyAddress<string>optionalIPv4/IPv6 proxy IP address. Not allowed:
- using transparent proxies (where you can see the client's IP);
- using proxies on local machines.
proxyPort<integer>optionalProxy port.
proxyLogin<string>optionalProxy-server login.
proxyPassword<string>optionalProxy-server password.
Create task method
- ProsopoTask (without proxy)
- ProsopoTask (with proxy)
https://api.capmonster.cloud/createTask
Request example
{
"clientKey": "API_KEY",
"task": {
"type": "ProsopoTask",
"websiteURL": "https://www.example.com",
"websiteKey": "your-website-key"
}
}
Response example
{
"errorId":0,
"taskId":407533077
}
https://api.capmonster.cloud/createTask
Request example
{
"clientKey": "API_KEY",
"task": {
"type": "ProsopoTask",
"websiteURL": "https://www.example.com",
"websiteKey": "your-website-key",
"proxyType": "your-proxy-type",
"proxyAddress": "your-proxy-address",
"proxyPort": 1234,
"proxyLogin": "your-proxy-login",
"proxyPassword": "your-proxy-password"
}
}
Response example
{
"errorId":0,
"taskId":407533077
}
Get task result method
Use the method getTaskResult to obtain the Prosopo solution.
https://api.capmonster.cloud/getTaskResult
Request example
{
"clientKey":"API_KEY",
"taskId": 407533077
}
Response example
{
"errorId":0,
"status":"ready",
"solution":
{
"token": "0x00016c68747470733a2f2f70726f6e6f6465332e70726f736f706f2e696fc0354550516f4d5a454463354c704e376774784d4d7a5950547a4136..."
}
}
How to find the websiteKey
-
Open the site where the Prosopo captcha is triggered.
-
Go to Developer Tools (DevTools) → Network, reload the page, and look for a request that loads an
image(for example, an API request likehttps://example.prosopo.io/v1/prosopo/provider/client/captcha/image). -
In Request Headers, find the
Prosopo-Site-Keyparameter, copy its value, and use it when creating the request.

Use the SDK library
- JavaScript / TypeScript
- Python
- C#
Show code (for browser)
// https://github.com/CapMonsterCloud/capmonster-nodejs-captcha-solver
import {
CapMonsterCloudClientFactory,
ClientOptions,
ProsopoRequest
} from "@zennolab_com/capmonstercloud-client";
document.addEventListener("DOMContentLoaded", async () => {
const API_KEY = "YOUR_API_KEY"; // Specify your CapMonster Cloud API key
const client = CapMonsterCloudClientFactory.Create(
new ClientOptions({ clientKey: API_KEY })
);
// Basic example without proxy
// CapMonster Cloud automatically uses its own proxies
let prosopoRequest = new ProsopoRequest({
websiteURL: "https://yourwebsite.com/page-with-procaptcha",
websiteKey: "your-website-key",
});
// Example using your proxy
// Uncomment this block if you want to use your own proxy
/*
const proxy = {
proxyType: "http",
proxyAddress: "123.45.67.89",
proxyPort: 8080,
proxyLogin: "username",
proxyPassword: "password",
};
prosopoRequest = new ProsopoRequest({
websiteURL: "https://yourwebsite.com/page-with-procaptcha",
websiteKey: "your-website-key",
proxy,
userAgent: "userAgentPlaceholder",
});
*/
// You can check your balance if necessary
const balance = await client.getBalance();
console.log("Balance:", balance);
const result = await client.Solve(prosopoRequest);
console.log("Solution:", result.solution);
});
Show code (Node.js)
// https://github.com/CapMonsterCloud/capmonster-nodejs-captcha-solver
const {
CapMonsterCloudClientFactory,
ClientOptions,
ProsopoRequest,
} = require("@zennolab_com/capmonstercloud-client");
const API_KEY = "YOUR_API_KEY"; // Specify your CapMonster Cloud API key
async function solveProCaptcha() {
const client = CapMonsterCloudClientFactory.Create(
new ClientOptions({ clientKey: API_KEY }),
);
// Basic example without proxy
// CapMonster Cloud automatically uses its own proxies
let prosopoRequest = new ProsopoRequest({
websiteURL: "https://yourwebsite.com/page-with-procaptcha",
websiteKey: "your-website-key",
});
// Example using your proxy
// Uncomment this block if you want to use your own proxy
/*
const proxy = {
proxyType: "http",
proxyAddress: "123.45.67.89",
proxyPort: 8080,
proxyLogin: "username",
proxyPassword: "password",
};
prosopoRequest = new ProsopoRequest({
websiteURL: "https://yourwebsite.com/page-with-procaptcha",
websiteKey: "your-website-key",
proxy,
userAgent: "userAgentPlaceholder",
});
*/
// You can check your balance if necessary
const balance = await client.getBalance();
console.log("Balance:", balance);
const result = await client.Solve(prosopoRequest);
console.log("Solution:", result.solution);
}
solveProCaptcha().catch(console.error);
Show code
# https://github.com/CapMonsterCloud/capmonster-python-captcha-solver
import asyncio
from capmonstercloudclient import CapMonsterClient, ClientOptions
from capmonstercloudclient.requests import ProsopoTaskRequest
# Import ProxyInfo if you plan to use your own proxy
from capmonstercloudclient.requests.proxy_info import ProxyInfo
API_KEY = "YOUR_API_KEY" # Specify your CapMonster Cloud API key
async def solve_procaptcha():
client = CapMonsterClient(
options=ClientOptions(api_key=API_KEY)
)
# Basic example without proxy
# CapMonster Cloud automatically uses its own proxies
prosopo_request = ProsopoTaskRequest(
websiteUrl="https://yourwebsite.com/page-with-procaptcha",
websiteKey="your-website-key",
)
# Example using your proxy
# Uncomment this block if you want to use your own proxy
"""
proxy = ProxyInfo(
proxyType="http",
proxyAddress="123.45.67.89",
proxyPort=8080,
proxyLogin="username",
proxyPassword="password",
)
prosopo_request = ProsopoTaskRequest(
websiteUrl="https://yourwebsite.com/page-with-procaptcha",
websiteKey="your-website-key",
proxy=proxy,
userAgent="userAgentPlaceholder",
)
"""
# You can check your balance if necessary
balance = await client.get_balance()
print("Balance:", balance)
result = await client.solve_captcha(prosopo_request)
print("Solution:", result)
asyncio.run(solve_procaptcha())
Show code
// 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)
{
// Specify your CapMonster Cloud API key
var clientOptions = new ClientOptions
{
ClientKey = "YOUR_API_KEY"
};
var cmCloudClient = CapMonsterCloudClientFactory.Create(clientOptions);
// Basic example without proxy
// CapMonster Cloud automatically uses its own proxies
var prosopoRequest = new ProsopoTaskRequest
{
WebsiteUrl = "https://yourwebsite.com/page-with-procaptcha",
WebsiteKey = "your-website-key"
};
// Example using your proxy
// Uncomment this block if you want to use your own proxy
/*
prosopoRequest = new ProsopoTaskRequest
{
WebsiteUrl = "https://yourwebsite.com/page-with-procaptcha",
WebsiteKey = "your-website-key",
Proxy = new ProxyContainer(
"123.45.67.89",
8080,
ProxyType.Http,
"username",
"password"
)
};
*/
// You can check your balance if necessary
var balance = await cmCloudClient.GetBalanceAsync();
Console.WriteLine("Balance: " + balance);
var prosopoResult = await cmCloudClient.SolveAsync(prosopoRequest);
Console.WriteLine("Solution: " + prosopoResult.Solution.Value);
}
}
