Skip to content
capzy
Imperva Incapsula reese84 + utmvc
AntiImpervaTask
proxy required

Imperva Incapsula reese84 + utmvc Solver, solved in 5.0s.

Solve both Imperva Incapsula challenges — reese84 and utmvc — from the challenge script alone. Send the script URL (and, for utmvc, your incap_ses cookies); we return the reese84 payload or the ___utmvc value.

Avg Speed~5.0s
Success99%+
Cost / 1k$2.00
Throughput12/m

Imperva Incapsula is a CDN/WAF that protects ~27,000 sites including banks, insurance companies, and enterprise portals. It uses two JavaScript challenges: reese84 (a fingerprint 'interrogation' the browser POSTs back to a long dashed script URL to receive a reese84 cookie) and the older utmvc challenge (an _Incapsula_Resource script that computes a ___utmvc cookie from the incap_ses_* session cookies).

Quick Integration

Modern challenge — send version="reese84" and the reese84 script URL (a long dashed path; capture a FRESH one right before the task, they rotate). We return the interrogation payload you POST back to that URL to receive your reese84 cookie.

solve.py
import requests, time

API = "https://api.capzy.ai"
KEY = "capzy_your_key_here"

# Step 1: Create task
task = requests.post(f"{API}/createTask", json={
    "clientKey": KEY,
    "task": {
        "type": "AntiImpervaTask",
        "websiteURL": "https://www.example.com/",
        "version": "reese84",
        "scriptUrl": "https://www.example.com/s-weakes-Sir-Day-could-to-thy/1860025529848880788?s=xlD1csYd",
        "proxyType": "http",
        "proxyAddress": "123.45.67.89",
        "proxyPort": "8080",
        "proxyLogin": "user",
        "proxyPassword": "pass"
    }
}).json()

task_id = task["taskId"]
print(f"Task created: {task_id}")

# Step 2: Poll for result
while True:
    result = requests.post(f"{API}/getTaskResult", json={
        "clientKey": KEY,
        "taskId": task_id
    }).json()

    if result["status"] == "ready":
        print("Solved!", result["solution"])
        break
    elif result["status"] == "failed":
        print("Failed:", result.get("errorDescription"))
        break

    time.sleep(1)

Using the result

Modern challenge. POST the returned reese84 payload back to your scriptUrl — Imperva replies with the token in the BODY (not Set-Cookie). Set reese84=<token> and reuse the returned userAgent.

use_result.py
# Step 3 — reese84: POST the payload to your scriptUrl to mint the token
sol = result["solution"]
SCRIPT_URL = "https://www.target.example.com/s-weakes-.../..?s=xlD1csYd"  # the scriptUrl you sent
r = requests.post(
    SCRIPT_URL,
    data=sol["reese84"],                              # the reese84 payload — raw body, do NOT re-encode
    headers={"Content-Type": "text/plain; charset=utf-8",
             "User-Agent": sol["userAgent"]},          # reuse the exact UA
)
token = r.json()["token"]                              # reese84 token is in the BODY
# set reese84=<token> and hit the protected page on the same UA
requests.get("https://www.target.example.com/",
             cookies={"reese84": token},
             headers={"User-Agent": sol["userAgent"]})

1. Send Payload

Dispatch your AntiImpervaTask to our processing cluster via the secure API endpoint.

2. Solving Engine

Tell us the challenge with version ("reese84" or "utmvc") and give us the scriptUrl. We run that script from a minimal host page under your target origin, so a half-loaded, region-redirected, or login-gated page no longer breaks detection. For reese84 we return the interrogation payload you POST back to that scriptUrl (the token comes in the response body, so you set reese84=<token> yourself). For utmvc we return the computed ___utmvc value. Send your proxy as the egress; the payload/value itself isn't bound to it, so keep the proxy sticky and reuse the returned userAgent.

3. Get Result

Poll getTaskResult for the validated token, then finalize your automated request.

Task Parameters

API Spec
Proxy fields below are required for this captcha — userAgent must match the one you’ll use when submitting the resulting token.
typetypestringreqyesAntiImpervaTaskProxyLess or AntiImpervaTask (both accept these fields; a proxy is optional)
websiteURLtypestringreqyesThe Imperva-protected page URL
versiontypestringreqyesWhich Imperva challenge to solve: "reese84" (the modern challenge) or "utmvc" (the older _Incapsula_Resource challenge). Required.
scriptUrltypestringreqnoThe Imperva challenge script URL — one field for BOTH challenges. reese84: the long dashed script path (optional — we can auto-detect it from the page). utmvc: the _Incapsula_Resource script (required). Field name is case-insensitive (scriptUrl / scriptURL both work).
cookiestypearrayreqnoversion="utmvc" only — every cookie whose name begins with incap_ses_, each as {name, value}. Send these together with the _Incapsula_Resource scriptUrl.
userAgenttypestringreqnoUser-Agent to run the script under. Defaults to Windows Chrome; supports Chrome 135–147. Returned in the solution — reuse it.
proxyTypetypestringreqyesProxy protocol: http, https, socks4, or socks5
proxyAddresstypestringreqyesProxy IP address or hostname
proxyPorttypenumberreqyesProxy port number
proxyLogintypestringreqnoProxy username (if auth required)
proxyPasswordtypestringreqnoProxy password (if auth required)
userAgenttypestringreqnoUser-Agent string to use. Must match the UA you use when submitting the token

Response Shape

reese84typestringreese84 mode: the interrogation payload — POST it (raw body) to your scriptUrl to receive the reese84 token in the response body, then set reese84=<token>. (Cookie path: the reese84 cookie value.)
utmvctypestringutmvc mode: the computed ___utmvc cookie value — set it as ___utmvc, alongside your incap_ses_* cookies, and re-request
cookiestypearrayCookie path only (AntiImpervaTask, no script fields): the full Imperva trust cookie set ({name, value, domain, path})
userAgenttypestringUser-Agent the solve ran under — send this exact string on every request that uses the result

Example response

{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "reese84": "{\"solution\":{\"interrogation\":{\"p\":\"9pp4bv7Sp0073gA1xoN9Aoo...E\",\"st\":1744612535,\"sr\":3851658681,\"cr\":937075512,\"og\":2},\"version\":\"beta\"},\"old_token\":null,\"error\":null,\"performance\":{\"interrogation\":488}}",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36"
  }
}

Error response

{
  "errorId": 1,
  "errorCode": "ERROR_CAPTCHA_UNSOLVABLE",
  "errorDescription": "Solver gave up."
}

Features

One scriptUrl for both challenges — pick reese84 or utmvc with version
Solves from the challenge script alone — no full-site load required
reese84 → the interrogation payload you POST back to your scriptUrl
utmvc → the computed ___utmvc value from your incap_ses_* cookies
Auto-detects the script URL when you send only websiteURL

Pricing & Stats

Per 1,000 solves$2.00
Avg solve time~5.0s
Success rate99%+
Throughput12/m

Start solving imperva incapsula reese84 + utmvc.

$0.10 in free credits — no card. ~250 free solves to test before you spend.

Frequently asked questions