Datadome: resolviendo el captcha de DataDome
Cree la tarea con el método createTask y obtenga el resultado con el método getTaskResult.
ℹ️ Este tipo de tarea requiere sus propios proxies.
ℹ️ Asegúrese de que el userAgent coincida: el userAgent que envía a nuestra API debe ser el mismo que el que utiliza
Slider Captcha e Interstitial (Verificación de dispositivo)
Los tipos de tareas types
que soportamos:
DatadomeSliderTask
, este tipo de tarea requiere sus propios proxies.
Crear Tarea
Cree la tarea con el método createTask.
su IP está directamente baneada, y debe cambiar la IP.
Estructura del Objeto de Tarea
Propiedades | Tipo | Requerido | Descripción |
---|---|---|---|
type | String | Requerido | DataDomeSliderTask (Tanto el slider como el interstitial usan este tipo) |
captchaUrl | String | Requerido | si la url contiene t=bv significa que su IP debe ser baneada, t debería ser t=fe |
userAgent | String | Requerido | Debe ser el mismo userAgent que utiliza para solicitar el sitio web. Actualmente solo soportamos el siguiente userAgent |
proxy | String | Requerido | Aprenda Uso de proxies |
Utilice el userAgent fijo que proporcionamos para solicitar el sitio web.
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36
Ejemplo de Solicitud
POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "DatadomeSliderTask",
"captchaUrl": "https://geo.captcha-delivery.com/captcha/?initialCid=AHrlqAAAAAMA1QGvUmJwyYoAwpyjNg%3D%3D&hash=789361B674144528D0B7EE76B35826&cid=6QAEcL8coBYTi9tYLmjCdyKmNNyHz1xwM2tMHHGVd_Rxr6FsWrb7H~a04csMptCPYfQ25CBDmaOZpdDa4qwAigFnsrzbCkVkoaBIXVAwHsjXJaKYXsTpkBPtqJfLMGN&t=fe&referer=https%3A%2F%2bck.websiteurl.com%2Fclient%2Fregister%2FYM4HJV%3Flang%3Den&s=40070&e=3e531bd3b30650f2e810ac72cd80adb5eaa68d2720e804314d122fa9e84ac25d",
// userAgent is the one you are using:
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36",
"proxy": "158.120.100.23:334:user:pass",
}
}
Ejemplo de Respuesta
{
"errorId": 0,
"status": "idle",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}
Obteniendo el Resultado
Utilice el método getTaskResult para obtener los resultados del reconocimiento
Dependiendo de la carga del sistema, obtendrá los resultados en un intervalo de 1s
a 20s
Ejemplo de solicitud
POST https://api.capsolver.com/getTaskResult
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}
Ejemplo de Respuesta
{
"errorId": 0,
"errorCode": null,
"errorDescription": null,
"solution": {
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36",
"cookie": "datadome=yzj_BK...S0; Max-Age=31536000; Domain=; Path=/; Secure; SameSite=Lax"
},
"status": "ready"
}
Solución de Errores
Errores Comunes
- La cookie devuelta por la API no funciona — sigue obteniendo el 403.
- La API devuelve: “Proxy IP banned by target service” (IP del proxy baneada por el servicio de destino).
- La API devuelve: “Failed to solve the captcha: 1013” (Fallo al resolver el captcha: 1013).
Pasos para la Solución de Problemas
- Intente cambiar de proxies – Su IP puede estar en la lista negra.
- Verifique el tipo de proxy – Algunos sitios verifican la consistencia de la IP. Si está utilizando un proxy rotatorio, intente cambiar a un proxy fijo.
- Verifique el userAgent – El userAgent enviado a nuestra API debe coincidir con el utilizado para el sitio de destino.
- Verifique Accept-Language – Algunos sitios requieren que coincida con el idioma regional del sitio.
- Depure su código/programa (ej., TLS, encabezados):
- Copie manualmente la cookie de DataDome de su navegador a su código y vuelva a ejecutarlo.
- Si sigue fallando, es probable que su código tenga problemas — inspeccione TLS y los encabezados.
- Verifique los encabezados – Asegúrese de que coincidan con los enviados por un navegador real, incluido el orden de los encabezados.
- Verifique la huella digital TLS – Utilice una librería que imite los apretones de manos TLS reales.
- Si el error persiste después de todas las verificaciones, por favor infórmenos del problema.
Usar Solicitud SDK
# pip install --upgrade capsolver
# export CAPSOLVER_API_KEY='...'
import capsolver
# capsolver.api_key = "..."
solution = capsolver.solve({
"type": "DatadomeSliderTask",
"websiteURL": "https://bck.websiteurl.com/",
"captchaUrl": "https://geo.captcha-delivery.com/captcha/?initialCid=AHrlqAAAAAMA1QGvUmJwyYoAwpyjNg%3D%3D&hash=789361B674144528D0B7EE76B35826&cid=6QAEcL8coBYTi9tYLmjCdyKmNNyHz1xwM2tMHHGVd_Rxr6FsWrb7H~a04csMptCPYfQ25CBDmaOZpdDa4qwAigFnsrzbCkVkoaBIXVAwHsjXJaKYXsTpkBPtqJfLMGN&t=fe&referer=https%3A%2F%2bck.websiteurl.com%2Fclient%2Fregister%2FYM4HJV%3Flang%3Den&s=40070&e=3e531bd3b30650f2e810ac72cd80adb5eaa68d2720e804314d122fa9e84ac25d",
# userAgent is the one you are using:
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36",
"proxy": "158.120.100.23:334:user:pass"
})
Código de Ejemplo
# pip install requests
import requests
import time
api_key = "YOUR_API_KEY" # your api key of capsolver
def capsolver():
payload = {
"clientKey": api_key,
"task": {
"type": 'DatadomeSliderTask',
"websiteURL": "https://bck.websiteurl.com/",
"captchaUrl": "https://geo.captcha-delivery.com/captcha/?initialCid=AHrlqAAAAAMA1QGvUmJwyYoAwpyjNg%3D%3D&hash=789361B674144528D0B7EE76B35826&cid=6QAEcL8coBYTi9tYLmjCdyKmNNyHz1xwM2tMHHGVd_Rxr6FsWrb7H~a04csMptCPYfQ25CBDmaOZpdDa4qwAigFnsrzbCkVkoaBIXVAwHsjXJaKYXsTpkBPtqJfLMGN&t=fe&referer=https%3A%2F%2bck.websiteurl.com%2Fclient%2Fregister%2FYM4HJV%3Flang%3Den&s=40070&e=3e531bd3b30650f2e810ac72cd80adb5eaa68d2720e804314d122fa9e84ac25d",
"proxy": "158.120.100.23:334:user:pass",
"userAgent": "please use our supported userAgent. It needs to match what you're using"
}
}
res = requests.post("https://api.capsolver.com/createTask", json=payload)
resp = res.json()
task_id = resp.get("taskId")
if not task_id:
print("Failed to create task:", res.text)
return
print(f"Got taskId: {task_id} / Getting result...")
while True:
time.sleep(1) # delay
payload = {"clientKey": api_key, "taskId": task_id}
res = requests.post("https://api.capsolver.com/getTaskResult", json=payload)
resp = res.json()
status = resp.get("status")
if status == "ready":
return resp.get("solution", {}).get("cookie")
if status == "failed" or resp.get("errorId"):
print("Solve failed! response:", res.text)
return
cookie = capsolver()
print(cookie)