DataDome
Este tipo de captcha geralmente exige que o usuário resolva um quebra-cabeça movendo um slider para verificação.

-
Para executar esta tarefa, utilize os seus próprios proxies.
-
Se o proxy usar autenticação por IP, é necessário adicionar o endereço 65.21.190.34 à lista de permissões (whitelist).
-
Após a resolução, você receberá cookies especiais, que devem ser adicionados ao navegador.
Parâmetros da solicitação
type<string>requiredCustomTask
class<string>requiredDataDome
websiteURL<string>requiredURL da página principal onde o captcha será resolvido.
captchaUrl (dentro de metadata)<string>required"captchaUrl" - link para o captcha. Normalmente no formato: "https://geo.captcha-delivery.com/captcha/?initialCid=...".
datadomeCookie (dentro de metadata)<string>requiredSeus cookies do DataDome. Podem ser obtidos na página usando document.cookie (se os cookies não tiverem a flag HttpOnly), no cabeçalho da requisição Set-Cookie: "datadome=...", ou diretamente do código HTML initialCid (veja exemplos de como encontrar datadomeCookie).
proxyType<string>requiredhttp - proxy http/https padrão;
https - use apenas se "http" não funcionar (necessário para alguns proxies customizados);
socks4 - proxy socks4;
socks5 - proxy socks5.
proxyAddress<string>requiredEndereço IPv4/IPv6 do proxy. Não permitido:
- proxies transparentes (onde o IP do cliente é visível);
- proxies em máquinas locais.
proxyPort<integer>requiredPorta do proxy.
proxyLogin<string>requiredLogin do servidor proxy.
proxyPassword<string>requiredSenha do servidor proxy.
userAgent<string>optionalUser-Agent do navegador.
Transmita apenas o UA atual do sistema operacional Windows. No momento, o válido é: userAgentPlaceholder
Método para criar tarefa
Durante o carregamento da página, o DataDome pode usar um de dois scripts: c.js ou i.js.
Se c.js for usado no site alvo, os cookies extraídos podem não funcionar na verificação. Antes de resolver, verifique qual script está carregado (DevTools → Network / HTML).
Opção com c.js:

Opção com i.js:

https://api.capmonster.cloud/createTask
Requisição
{
"clientKey": "API_KEY",
"task": {
"type": "CustomTask",
"class": "DataDome",
"websiteURL": "https://example.com",
"userAgent": "userAgentPlaceholder",
"metadata": {
"captchaUrl": "https://geo.captcha-delivery.com/interstitial/?initialCid=AHrlqAAAAAMA9UvsL58YLqIAXNLFPg%3D%3D&hash=C0705ACD75EBF650A07FF8291D3528&cid=7sfa5xUfDrR4bQTp1c2mhtiD7jj9TXExcQypjdNAxKVFyIi1S9tE0~_mqLa2EFpOuzxKcZloPllsNHjNnqzD9HmBA4hEv7SsEyPYEidCBvjZEaDyfRyzefFfolv0lAHM&referer=https%3A%2F%2Fwww.example.com.au%2F&s=6522&b=978936&dm=cm",
"datadomeCookie": "datadome=VYUWrgJ9ap4zmXq8Mgbp...64emvUPeON45z"
},
"proxyType": "http",
"proxyAddress": "123.45.67.89",
"proxyPort": 8080,
"proxyLogin": "proxyUsername",
"proxyPassword": "proxyPassword"
}
}
Resposta
{
"errorId":0,
"taskId":407533072
}
Método para obter o resultado da tarefa
Use o método getTaskResult para obter a solução do captcha DataDome.
https://api.capmonster.cloud/getTaskResult
Requisição
{
"clientKey":"API_KEY",
"taskId": 407533072
}
Resposta
{
"errorId": 0,
"status": "ready",
"solution": {
"domains": {
"www.example.com": {
"cookies": {
"datadome": "P1w0VnjFcTFslfps0J4FaPpY_QPbPBW4MeYxj4LW~pztIfJiSSuBPr8oQTUHzdrfgv137FbOBd3kCUOOgny7LhIkhm5e1qdtzYM4s2e46U_qfERK4KiCy22MOSIDsDyh"
},
"localStorage": null
}
},
"url": null,
"fingerprint": null,
"headers": null,
"data": null
}
}
Como encontrar datadomeCookie
Usando DevTools
Opção 1:
-
Abra o site protegido pelo DataDome no navegador (Chrome, Firefox).
-
Pressione F12 → vá para a aba Application → Cookies.
-
Encontre o domínio do site (ex.: www.example.com).
Entre os cookies, procure a chave datadome — este é o parâmetro datadomeCookie necessário.

Opção 2:
-
Abra o site onde o captcha DataDome é ativado.
-
Vá para DevTools → Network, recarregue a página e encontre a requisição que carrega a página com
initialCid.
Exemplo de URL:
https://geo.captcha-delivery.com/interstitial/?initialCid=...&hash=...&cid=...

ou:
- Abra a Response dessa requisição. No código HTML, encontre o objeto:
var ddm = { ... };
- Dentro deste objeto, localize o parâmetro
cid. Seu valor é odatadomeCookieatual.

Opção 3:
-
Abra o site onde o captcha DataDome é ativado.
-
Vá para DevTools → Network, recarregue a página e encontre uma requisição com status 403.
-
Vá para a aba Headers → Response Headers. Nos cabeçalhos, encontre
Set-Cookie:e copie o valor do parâmetrodatadome(datadome=<valor>).

Usar biblioteca SDK
- JavaScript
- Python
Mostrar Código (para navegador)
// https://github.com/ZennoLab/capmonstercloud-client-js
import { CapMonsterCloudClientFactory, ClientOptions, DataDomeRequest } from '@zennolab_com/capmonstercloud-client';
const API_KEY = "YOUR_API_KEY"; // Insira sua chave de API do CapMonster Cloud
document.addEventListener("DOMContentLoaded", async () => {
const client = CapMonsterCloudClientFactory.Create(
new ClientOptions({ clientKey: API_KEY })
);
// Se necessário, você pode verificar o saldo
const balance = await client.getBalance();
console.log("Balance:", balance);
// DataDome é resolvido apenas com seus proxies
const proxy = {
proxyType: "http",
proxyAddress: "123.45.67.89",
proxyPort: 8080,
proxyLogin: "username",
proxyPassword: "password"
};
const datadomeRequest = new DataDomeRequest({
_class: 'DataDome',
websiteURL: "https://example.com/", // URL da página com a captcha
userAgent: "userAgentPlaceholder",
proxy,
metadata: {
captchaUrl: "https://geo.captcha-delivery.com/interstitial/?initialCid=AHrlqAAAAAMA9UvsL58YLqIAXNLFPg%3D%3D&hash=C0705ACD75EBF650A07FF8291D3528&cid=7sfa5xUfDrR4bQTp1c2mhtiD7jj9TXExcQypjdNAxKVFyIi1S9tE0~_mqLa2EFpOuzxKcZloPllsNHjNnqzD9HmBA4hEv7SsEyPYEidCBvjZEaDyfRyzefFfolv0lAHM&referer=https%3A%2F%2Fwww.example.com.au%2F&s=6522&b=978936&dm=cm",
datadomeCookie: "datadome=VYUWrgJ9ap4zmXq8Mgbp...64emvUPeON45z"
}
});
const result = await client.Solve(datadomeRequest);
console.log("Solution:", result);
});
Mostrar Código (Node.js)
// https://github.com/ZennoLab/capmonstercloud-client-js
import { CapMonsterCloudClientFactory, ClientOptions, DataDomeRequest } from '@zennolab_com/capmonstercloud-client';
const API_KEY = "YOUR_API_KEY"; // Insira sua chave de API do CapMonster Cloud
async function solveDataDome() {
const client = CapMonsterCloudClientFactory.Create(
new ClientOptions({ clientKey: API_KEY })
);
// Se necessário, você pode verificar o saldo
const balance = await client.getBalance();
console.log("Balance:", balance);
// DataDome é resolvido apenas com seus proxies
const proxy = {
proxyType: "http",
proxyAddress: "123.45.67.89",
proxyPort: 8080,
proxyLogin: "username",
proxyPassword: "password"
};
const datadomeRequest = new DataDomeRequest({
_class: 'DataDome',
websiteURL: "https://example.com/", // URL da página com a captcha
userAgent: "userAgentPlaceholder",
proxy,
metadata: {
captchaUrl: "https://geo.captcha-delivery.com/interstitial/?initialCid=AHrlqAAAAAMA9UvsL58YLqIAXNLFPg%3D%3D&hash=C0705ACD75EBF650A07FF8291D3528&cid=7sfa5xUfDrR4bQTp1c2mhtiD7jj9TXExcQypjdNAxKVFyIi1S9tE0~_mqLa2EFpOuzxKcZloPllsNHjNnqzD9HmBA4hEv7SsEyPYEidCBvjZEaDyfRyzefFfolv0lAHM&referer=https%3A%2F%2Fwww.example.com.au%2F&s=6522&b=978936&dm=cm",
datadomeCookie: "datadome=VYUWrgJ9ap4zmXq8Mgbp...64emvUPeON45z"
}
});
const result = await client.Solve(datadomeRequest);
console.log("Solution:", result);
}
solveDataDome().catch(console.error);
Mostrar Código
# https://github.com/ZennoLab/capmonstercloud-client-python
import asyncio
from capmonstercloudclient import CapMonsterClient, ClientOptions
from capmonstercloudclient.requests import DataDomeCustomTaskRequest
from capmonstercloudclient.requests.baseRequestWithProxy import ProxyInfo
API_KEY = "YOUR_API_KEY" # Insira sua chave de API do CapMonster Cloud
async def solve_datadome_captcha():
client_options = ClientOptions(api_key=API_KEY)
cap_monster_client = CapMonsterClient(options=client_options)
# DataDome é resolvido apenas com seus proxies
proxy = ProxyInfo(
proxyType="http",
proxyAddress="123.45.67.89",
proxyPort=8080,
proxyLogin="username",
proxyPassword="password"
)
# Criando a tarefa DataDome
datadome_request = DataDomeCustomTaskRequest(
websiteUrl="https://example.com", # URL da página com a captcha
metadata={
"datadomeCookie": "datadome=VYUWrgJ9ap4zmXq8Mgbp...64emvUPeON45z",
"captchaUrl": "https://geo.captcha-delivery.com/interstitial/?initialCid=AHrlqAAAAAMA9UvsL58YLqIAXNLFPg%3D%3D&hash=C0705ACD75EBF650A07FF8291D3528&cid=7sfa5xUfDrR4bQTp1c2mhtiD7jj9TXExcQypjdNAxKVFyIi1S9tE0~_mqLa2EFpOuzxKcZloPllsNHjNnqzD9HmBA4hEv7SsEyPYEidCBvjZEaDyfRyzefFfolv0lAHM&referer=https%3A%2F%2Fwww.example.com.au%2F&s=6522&b=978936&dm=cm"
},
proxy=proxy,
userAgent="userAgentPlaceholder"
)
# Se necessário, você pode verificar o saldo
balance = await cap_monster_client.get_balance()
print("Balance:", balance)
result = await cap_monster_client.solve_captcha(datadome_request)
print("Solution:", result)
asyncio.run(solve_datadome_captcha())
