Documentation Menu

Tasks

Imperva/Incapsula Solver API

Updated 6/28/2026

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

The Solverify Imperva Solver API creates a browser-based task for pages protected by Imperva (Incapsula) and returns Incapsula cookies in solution.cookies. Two challenge modes are supported:

  • reese84 — the Reese84 anti-bot challenge. Returns reese84, visid_incap_*, incap_ses_*, and nlbi_* cookies.
  • utmvc — the UT.mvc challenge. Returns ___utmvc and Incapsula session cookies.

Request Parameters

FieldRequiredDescription
clientKeyYesYour API key.
websiteURLYesFull URL of the target page protected by Imperva. Max 2048 characters.
reeseScriptUrlreese84 modeFull URL of the Reese84 challenge script. Usually matches a path like /Vnsane-to-done-I-set-I-praten-Gods-nor-thy-Mind-?d=.... Max 4096 characters.
scriptURLutmvc modeFull URL of the UT.mvc challenge script. Usually matches /_Incapsula_Resource?SWJIYLWA=.... Max 4096 characters.
isUtmvcNoBoolean. Set to true for utmvc mode. Defaults to false (reese84 mode).
cookiesNoArray of preset cookie objects { name, value } to seed the browser context before the challenge runs. Used in utmvc mode to pass existing incap_ses_* session cookies.
languageNoAccept-Language header value to set as the browser locale. Example: en-US,en;q=0.9.
userAgentNoUser-agent string to use for the request. Max 512 characters. Desktop Chrome or Chromium only.
proxyTypeNoProxy type. Only http is accepted.
proxyAddressNoProxy IP address or hostname.
proxyPortNoProxy port. Numeric string, 1 to 5 digits.
proxyLoginNoProxy username.
proxyPasswordNoProxy password.

Proxy is optional for both modes. Proxyless reese84 works without a proxy. If the target site is geolocked (e.g. US-only), provide a proxy in the correct region so the Incapsula edge sets cookies that work when replayed.

reese84 Mode

Use reese84 mode when the target site serves the Reese84 anti-bot challenge. You can identify the reeseScriptUrl from the page source — it is the <script src="..."> tag pointing to the obfuscated Reese84 JavaScript endpoint.

Create Task Example (reese84)

{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "imperva",
    "websiteURL": "https://www.safeway.com/",
    "reeseScriptUrl": "https://www.safeway.com/Vnsane-to-done-I-set-I-praten-Gods-nor-thy-Mind-?d=www.safeway.com",
    "language": "en-US,en;q=0.9",
    "userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36"
  }
}

Result Example (reese84)

{
  "errorId": 0,
  "status": "completed",
  "solution": {
    "value": "",
    "cookies": {
      "reese84": "3:oJxU9SzGz/LwDLVYhQh...",
      "visid_incap_...": "2XVJDM1...",
      "incap_ses_...": "GFxUFkj15j...",
      "nlbi_...": "jw2XbBi2dUf..."
    },
    "useragent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36"
  },
  "errorCode": null,
  "errorDescription": null
}

utmvc Mode

Use utmvc mode when the target site serves the UT.mvc challenge. Set isUtmvc to true and provide scriptURL (the /_Incapsula_Resource?SWJIYLWA=... endpoint). If you already have an incap_ses_* session cookie from a prior request, pass it in the cookies array so the solver seeds the browser context before running the challenge.

Create Task Example (utmvc)

{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "imperva",
    "websiteURL": "https://www.payback.de/login",
    "scriptURL": "https://www.payback.de/_Incapsula_Resource?SW...",
    "isUtmvc": true,
    "cookies": [
      {
        "name": "incap_ses_...",
        "value": "5cm8QUYL/3ZxrFEUDWLYE1..."
      }
    ],
    "language": "en-US,en;q=0.9",
    "userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36"
  }
}

Result Example (utmvc)

{
  "errorId": 0,
  "status": "completed",
  "solution": {
    "value": "",
    "cookies": {
      "___utmvc": "btYHVoGJEaeb+...",
      "visid_incap_...": "7+YP0Iq7Q9iaFgFt...",
      "incap_ses_...": "NP/lJUzQgTl5QPXx8C..."
    },
    "useragent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36"
  },
  "errorCode": null,
  "errorDescription": null
}

Create Response

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

Timeout

Imperva tasks can run for up to about 120 seconds before timing out internally.

Next Steps

After creating an Imperva task, poll the Get Task Result API with the returned taskId. For validation and capacity errors, see Solverify API Error Codes.