UNLOCK API
DataDome

DataDome

Як надіслати задачу DataDome до UNLOCK API через createTask або in.php: назви типів задач, усі параметри, об'єкт solution, поля проксі та приклади коду 7 мовами.
Ціна
$0.725 $0.000725 за задачу
Ви надсилаєте
URL сторінки, адреса капчі із заблокованої відповіді, ваш user agent і проксі
Ви отримуєте
Cookie datadome

Огляд і ціна

Назви типу задачі

Цей тип завжди працює через ваш проксі, тому поля проксі обов'язкові.
DataDomeSliderTaskЧерез ваш проксі

Об'єкт задачі

type
StringОбов'язковий
Назва типу задачі. Регістр літер не важливий. DataDomeSliderTask
websiteURL
StringОбов'язковий
Повна адреса сторінки, на якій показано капчу, що починається з http:// або https://.
captchaUrl
StringОбов'язковий
Повна адреса фрейму капчі DataDome (geo.captcha-delivery.com/...).
userAgent
StringОбов'язковий
User-Agent браузера для розв'язання. Надсилайте той самий, коли передаєте відповідь.

Поля, яких тут немає, передаються розв'язувачу без змін.

Поля проксі

Цей тип завжди працює через ваш проксі, тому поля проксі обов'язкові.
proxyType
StringОбов'язковий
http, https, socks4 або socks5.
proxyAddress
StringОбов'язковий
IP-адреса або ім'я хоста проксі.
proxyPort
IntegerОбов'язковий
Порт проксі.
proxyLogin
StringНеобов'язковий
Ім'я користувача проксі, якщо воно потрібне.
proxyPassword
StringНеобов'язковий
Пароль проксі, якщо він потрібен.
proxy
String
Усі поля проксі одним рядком, наприклад http://user:pass@1.2.3.4:8080.

Робота через проксі

Запит

POST /createTask
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "DataDomeSliderTask",
    "websiteURL": "https://example.com/login",
    "captchaUrl": "https://geo.captcha-delivery.com/captcha/?initialCid=...",
    "userAgent": "Mozilla/5.0 ...",
    "proxyType": "http",
    "proxyAddress": "1.2.3.4",
    "proxyPort": 8080
  }
}

Об'єкт solution

Повертається в solution, коли status дорівнює ready.
cookie
String
Cookie, яку треба встановити перед повторним завантаженням сторінки.
POST /getTaskResult
{
  "errorId": 0,
  "taskId": 1001,
  "status": "ready",
  "solution": {
    "cookie": "datadome=6BvxqELMoorFNoo7GT1...; Path=/; Secure; SameSite=Lax"
  },
  "cost": "0.000725",
  "createTime": 1791640000,
  "endTime": 1791640014,
  "solveCount": 1
}

Приклади коду

import time, requests

API = "https://unlock-api.com"
KEY = "YOUR_API_KEY"

task = requests.post(f"{API}/createTask", json={
    "clientKey": KEY,
    "task": {
      "type": "DataDomeSliderTask",
      "websiteURL": "https://example.com/login",
      "captchaUrl": "https://geo.captcha-delivery.com/captcha/?initialCid=...",
      "userAgent": "Mozilla/5.0 ...",
      "proxyType": "http",
      "proxyAddress": "1.2.3.4",
      "proxyPort": 8080
    }
}).json()
if task["errorId"]:
    raise SystemExit(task["errorCode"])

for _ in range(60):   # 60 x 5 s = the 5 minute task limit
    time.sleep(5)
    r = requests.post(f"{API}/getTaskResult", json={"clientKey": KEY, "taskId": task["taskId"]}).json()
    if r["errorId"]:
        raise SystemExit(f"{r['errorCode']}: {r.get('errorDescription', '')}")   # failed tasks are refunded
    if r["status"] == "ready":
        print(r["solution"]["cookie"])
        break
else:
    raise SystemExit("timed out")

Метод форми in.php

Та сама задача через класичний запит із формою. res.php повертає відповідь текстом.
in.php, res.php
curl -s "https://unlock-api.com/in.php" -d "key=YOUR_API_KEY&method=datadome&captcha_url=CAPTCHA_URL&pageurl=https://example.com/login&userAgent=UA&proxy=login:pass@1.2.3.4:8080&proxytype=HTTP&json=1"
# {"status":1,"request":"1001"}

curl -s "https://unlock-api.com/res.php?key=YOUR_API_KEY&action=get&id=1001&json=1"
# {"status":0,"request":"CAPCHA_NOT_READY"}  then  {"status":1,"request":"ANSWER"}

API форм: in.php і res.php