Tasks
Imperva/Incapsula Solver API
Updated 6/28/2026
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_*, andnlbi_*cookies. - utmvc — the UT.mvc challenge. Returns
___utmvcand Incapsula session cookies.
Request Parameters
| Field | Required | Description |
|---|---|---|
clientKey | Yes | Your API key. |
websiteURL | Yes | Full URL of the target page protected by Imperva. Max 2048 characters. |
reeseScriptUrl | reese84 mode | Full 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. |
scriptURL | utmvc mode | Full URL of the UT.mvc challenge script. Usually matches /_Incapsula_Resource?SWJIYLWA=.... Max 4096 characters. |
isUtmvc | No | Boolean. Set to true for utmvc mode. Defaults to false (reese84 mode). |
cookies | No | Array 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. |
language | No | Accept-Language header value to set as the browser locale. Example: en-US,en;q=0.9. |
userAgent | No | User-agent string to use for the request. Max 512 characters. Desktop Chrome or Chromium only. |
proxyType | No | Proxy type. Only http is accepted. |
proxyAddress | No | Proxy IP address or hostname. |
proxyPort | No | Proxy port. Numeric string, 1 to 5 digits. |
proxyLogin | No | Proxy username. |
proxyPassword | No | Proxy 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.