Castle
O CapMonster Cloud, por padrão, funciona com proxies integrados — já incluídos no custo do serviço. É necessário especificar seus próprios proxies apenas nos casos em que o site não aceita o token ou quando o acesso aos serviços integrados está restrito.
Se o proxy utiliza autenticação por IP, é necessário adicionar o endereço 65.21.190.34 à lista de permissões (whitelist).
Parâmetros da solicitação
type<string>requiredCustomTask
class<string>requiredCastle
websiteURL<string>requiredA URL da página onde o Castle está localizado.
websiteKey<string>requiredPublishable Key, o identificador do Castle. Pode ser encontrado na página ou nos scripts do site.
Exemplo: pk_1Tk5Yzr1WFzxrJCh7WzMZzY1rHpaOtdK
wUrl (inside metadata)<string>requiredLink para cw.js, por exemplo: https://s.rsg.sc/auth/js/20251234bgef/build/cw.js
swUrl (inside metadata)<string>requiredLink para csw.js, por exemplo: https://s.rsg.sc/auth/js/20251234bgef/build/cw.js
count (inside metadata)<intenger>optionalNúmero de tokens — o padrão é 1 (geração de 1 a 49 tokens Castle vinculados à mesma sessão do navegador, ou seja, com o mesmo identificador __cuid).
Se for especificado um valor maior que 49, será retornado o número máximo permitido de tokens — 49 — e o custo será calculado com base nessa quantidade.
userAgent<string>optionalUser-Agent do navegador.
Transmita apenas o UA atual do sistema operacional Windows. No momento, o válido é: userAgentPlaceholder
proxyType<string>optionalhttp - proxy http/https comum;
https - tente esta opção apenas se "http" não funcionar (necessário para alguns proxies personalizados);
socks4 - proxy socks4;
socks5 - proxy socks5.
proxyAddress<string>optionalEndereço IP do proxy IPv4/IPv6. Não é permitido:
- uso de proxies transparentes (que revelem o IP do cliente);
- uso de proxies em máquinas locais.
proxyPort<integer>optionalPorta do proxy.
proxyLogin<string>optionalLogin do servidor proxy.
proxyPassword<string>optionalSenha do servidor proxy.
Método para criar tarefa
- CustomTask (sem proxy)
- CustomTask (com proxy)
https://api.capmonster.cloud/createTask
Solicitação
{
"type": "CustomTask",
"Class": "Castle",
"websiteURL": "https://www.example.com/",
"websiteKey": "pk_1Tk5Yzr1WFzxrJCh7WzMZzY1rHpaOtdK",
"userAgent": "userAgentPlaceholder",
"metadata": {
"wUrl": "https://s.rsg.sc/auth/js/20251234bgef/build/cw.js",
"swUrl": "https://s.rsg.sc/auth/js/20251234bgef/build/csw.js",
"count":1
}
}
Resposta
{
"errorId": 0,
"taskId": 123456789
}
https://api.capmonster.cloud/createTask
Solicitação
{
"type": "CustomTask",
"Class": "Castle",
"websiteURL": "https://www.example.com/",
"websiteKey": "pk_1Tk5Yzr1WFzxrJCh7WzMZzY1rHpaOtdK",
"userAgent": "userAgentPlaceholder",
"metadata": {
"wUrl": "https://s.rsg.sc/auth/js/20251234bgef/build/cw.js",
"swUrl": "https://s.rsg.sc/auth/js/20251234bgef/build/csw.js",
"count":1
}
"proxyType": "http",
"proxyAddress": "8.8.8.8",
"proxyPort": 8080,
"proxyLogin": "proxyLoginHere",
"proxyPassword": "proxyPasswordHere"
}
}
Resposta
{
"errorId": 0,
"taskId": 407533072
}
Método para obter o resultado da tarefa
Utilize o método getTaskResult para obter a solução TenDI.
https://api.capmonster.cloud/getTaskResult
Requisição
{
"clientKey":"API_KEY",
"taskId": 407533072
}
Resposta
{
"errorId":0,
"status":"ready",
"solution": {
"data":
{
"tokens":["Q05Ap...H7nYn", "cn9xW...aFl_4", ...]
},
"domains": {
"www.example.com": {
"cookies": {
"__cuid": "6883480a9ab7442d9f97da7307d6ea9c"
}
}
}
}
}
Como encontrar os parâmetros do captcha
pk (websiteKey)
Opção 1:
- Abra a página com Castle e inicie as Ferramentas do Desenvolvedor, vá para a aba Elements.
- Abra a busca (Ctrl + F) e insira as palavras-chave pk ou publishableKey.
- Encontre o parâmetro
Publishable Keyentre os elementos da página ou nos scripts conectados.

Opção 2:
Se o site utilizar o objeto window._env:
Copie o valor de pk ou execute o seguinte comando no console do navegador: window._env.pk

Opção 3:
Se o pk estiver contido em data-config:

Copie o valor de pk ou use o seguinte código no console do navegador:
const script = document.querySelector('script[data-config]');
const config = JSON.parse(script.dataset.config);
config.castle.publishableKey;
cw.js e csw.js
Nas Ferramentas do Desenvolvedor, vá para a aba Network, ative o Castle e analise as requisições de rede. Encontre as requisições para os arquivos cw.js e csw.js e copie suas URLs.

