Documentation Menu

Tasks

Updated 8/6/2026

DataDome Solver API

POST
https://solver.solverify.net/createTask

Solve DataDome interstitial and CAPTCHA challenges with the Solverify DataDome Solver API. Create a browser-based task from the triggered DataDome captchaUrl, then retrieve the validated datadome cookie from solution.cookies.

Use this task type after a DataDome challenge URL has been generated by your authorized workflow. The challenge URL, target website, and proxy must represent the same session context.

The DataDome integration follows the standard Solverify task workflow:

  1. Capture the target websiteURL and triggered DataDome captchaUrl.
  2. Create a datadome task with the proxy used for the target session.
  3. Store the returned taskId.
  4. Poll POST /getTaskResult until processing completes.
  5. Read the datadome cookie and user-agent from solution.
  6. Replay the cookie with the same proxy and solution.useragent.

Default DataDome User-Agent

DataDome tasks do not accept or require a useragent request field. The solver uses this Windows Chrome 146 user-agent:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36

The completed result returns this value in solution.useragent. Use that exact user-agent and the same proxy when replaying the returned cookie because DataDome cookies are bound to the solved session context.

Request Parameters

FieldTypeRequiredDescription
clientKeystringYesYour private Solverify API key.
task.typestringYesMust be datadome.
task.websiteURLstringYesTarget website URL where the DataDome challenge was triggered. Maximum 2,048 characters.
task.captchaUrlstringYesFull DataDome challenge URL. Maximum 4,096 characters.
task.proxyTypestringYesProxy type. Only http is accepted.
task.proxyAddressstringYesProxy IP address or hostname. Maximum 256 characters.
task.proxyPortstringYesProxy port as a numeric string containing 1 to 5 digits.
task.proxyLoginstringNoUsername for an authenticated proxy.
task.proxyPasswordstringNoPassword for an authenticated proxy.

DataDome challenge URLs commonly use the geo.captcha-delivery.com domain and may contain session-specific query parameters. Submit the complete URL without removing or rewriting those parameters.

Create DataDome Task Request

{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "datadome",
    "websiteURL": "https://accounts.shutterstock.com/login",
    "captchaUrl": "https://geo.captcha-delivery.com/interstitial/?initialCid=AHrlqAAAAAMA...",
    "proxyType": "http",
    "proxyAddress": "1.1.1.1",
    "proxyPort": "8080",
    "proxyLogin": "username",
    "proxyPassword": "password"
  }
}

Omit proxyLogin and proxyPassword when the proxy does not require authentication. Do not add a useragent field.

DataDome Solver Code Examples

These examples create a DataDome task and print the returned task ID.

curl --request POST \
  --url https://solver.solverify.net/createTask \
  --header "Content-Type: application/json" \
  --data '{
    "clientKey": "YOUR_API_KEY",
    "task": {
      "type": "datadome",
      "websiteURL": "https://accounts.shutterstock.com/login",
      "captchaUrl": "https://geo.captcha-delivery.com/interstitial/?initialCid=AHrlqAAAAAMA...",
      "proxyType": "http",
      "proxyAddress": "1.1.1.1",
      "proxyPort": "8080"
    }
  }'

Create Task Response

{
  "errorId": 0,
  "taskId": "UUID"
}

Completed DataDome Result

{
  "errorId": 0,
  "status": "completed",
  "solution": {
    "value": "",
    "cookies": {
      "datadome": "3qVi5y0ySWd4RyHLMtm"
    },
    "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36"
  },
  "errorCode": null,
  "errorDescription": null
}

Solution Fields

FieldDescription
cookies.datadomeValidated DataDome cookie returned by the solved browser session.
useragentSolver user-agent that must be used when replaying the cookie.

DataDome Timeout

DataDome tasks can run for up to approximately 210 seconds before timing out internally. Configure an overall polling deadline and stop when the API returns an error.

DataDome API Errors

Error codeDescription
ERROR_INVALID_REQUESTThe top-level request is missing or contains invalid JSON.
ERROR_INVALID_TASKThe target URL, DataDome challenge URL, or proxy settings are missing or invalid.
ERROR_INSUFFICIENT_BALANCEThe account balance is too low to create the task.
ERROR_NO_CAPACITYDataDome solver capacity is temporarily unavailable.
ERROR_TASK_FAILEDThe DataDome challenge could not be completed or the proxy was blocked.
ERROR_TIMEOUTSolving exceeded the allowed processing time.

For recovery guidance and every supported response, see Solverify API Error Codes.

Next Steps

After creating a DataDome task, poll the Get Task Result API every 2 to 3 seconds with the returned taskId. Stop polling after completion or failure.

Frequently Asked Questions

What does the DataDome Solver API return?

The completed task returns a validated datadome cookie in solution.cookies and the solver user-agent in solution.useragent.

Do I need to send a user-agent?

No. Do not include useragent in a DataDome task. The solver uses Windows Chrome 146 and returns the exact value with the completed result.

Why must I reuse the same proxy and user-agent?

The datadome cookie is associated with the solved session. Replay it with the same proxy and solution.useragent to preserve that context.

Why is captchaUrl required?

The URL contains the DataDome challenge and session parameters generated for the target request. Submit the complete URL without modifying its query string.

What happens when the proxy is blocked?

The solver cannot produce a usable cookie when DataDome blocks the proxy IP. Use an appropriate proxy with a clean reputation and create a new task.