Web Automation

How Imperva (Incapsula) Works (2026)

How Imperva (Incapsula) Works (2026) — conceptual illustration
On this page

Imperva is a security service that filters traffic before it reaches a website, blocking what it thinks are bots and scrapers. It was historically known as Incapsula and is one of the oldest anti-bot WAFs (Web Application Firewalls — a guard that inspects every request) still in use. It fronts large jobs, retail, and many financial-services and ticketing sites. You can spot it from its Request unsuccessful. Incapsula incident ID: ... block page and its incap_ses_* / visid_incap_* cookie chain.

This is a reference on what Imperva measures and how its detection model is structured.

Quick facts

FormerlyIncapsula
Block page"Incapsula incident ID: …"
Cookiesreese84, ___utmvc, incap_ses
SignalsTLS, JS challenge, reputation
Best approachReal browser + clean residential IPs

What Imperva is

Imperva is a reverse-proxy WAF, meaning it sits in front of the real server and every visitor passes through it first. It gives each request a trust score based on four things: the reputation of the IP address, the output of its _Incapsula_Resource sensor (a script it runs in your browser), the TLS handshake (the encrypted setup at the start of every https connection), and how the visitor behaves over time.

Requests it doesn't trust get one of these responses:

  • A silent 403 ("forbidden") with an incident ID in the body — the classic Incapsula block page.
  • A JavaScript challenge served from /_Incapsula_Resource?.... Your browser must run this code and set the incap_ses_* cookie before the request is allowed through.
  • A reCAPTCHA puzzle on more sensitive pages.

The four signal categories

1. IP address reputation

Imperva keeps its own threat-intelligence feed — a list of suspect IP addresses. Most known cloud IP ranges are already flagged before any other check happens, so where your traffic comes from matters a lot.

  • Datacenter IPs (AWS, GCP, Azure, DigitalOcean, OVH…) — pre-scored low.
  • Residential IPs (home internet connections) — higher baseline trust.
  • Mobile IPs — highest baseline trust.

2. The _Incapsula_Resource sensor and the Incapsula cookie chain

This is where Imperva does most of its detection. Every protected page either includes a sensor script inline or redirects (302) to one (/_Incapsula_Resource?SWJIYLWA=...). The script runs in the browser and collects a fingerprint: canvas/WebGL drawing output, audio characteristics, installed fonts, screen size, timezone, language, plugin list, the navigator.webdriver flag (which automation tools often leave set), the shape of the window.chrome object, and similar details.

The sensor sends an encrypted report back to Imperva's edge, which then sets the cookies needed for future requests:

  • visid_incap_<site_id> — a long-lived visitor ID tied to your device fingerprint.
  • incap_ses_<num>_<site_id> — a short-lived session token that authorises the actual request.
  • nlbi_<site_id> — a load-balancer hint that also carries trust state.

If any cookie in this chain is missing — or if an incap_ses_* is sent from a different IP than the one it was created on — the request is dropped.

3. HTTP and TLS fingerprinting

Before any page content is exchanged, Imperva fingerprints the client from the TLS handshake (JA3/JA4 are standard ways to summarise that handshake into an ID) and from how it speaks HTTP/2.

  • Most scraping libraries still default to HTTP/1.1. Real Chrome and Firefox haven't in years.
  • libcurl and Go's net/http produce JA3 signatures that don't match any real browser.
  • HTTP/2 fingerprinting tracks pseudo-header order, SETTINGS frame values, and window-update sizes — small protocol details that differ between real browsers and bots.

4. Behavioural and pattern analysis

Imperva also runs continuous machine-learning analysis looking for patterns that real users don't produce:

  • Missing headers that real browsers always send (Sec-Fetch-*, Accept-Language, sec-ch-ua).
  • incap_ses_* / visid_incap_* cookies sent from a different IP than the one that minted them.
  • Identical sensor payloads reused across pages (a real browser produces fresh ones).
  • Hits on honeypot links (links hidden from humans but visible to scrapers).
  • Bursty timing — requests arriving faster than a person could click.

What this means for developers

The Incapsula cookie chain is the heart of the problem: most Imperva work comes down to producing a valid chain and keeping the IP and cookies aligned. There are three broad tooling categories:

  • HTTP clients with browser-impersonating TLScurl_cffi, curl-impersonate, tls-client. These match the browser's handshake but can't mint a real incap_ses_*, because they don't actually run the sensor script.
  • Stealth-patched browsersCamoufox, patchright, Playwright with stealth plugins. These run the sensor in a real browser, so it can produce the cookies.
  • Managed scraping APIs — services that handle proxies, patched browsers, and session persistence for you.

Imperva is especially strict about IP/cookie consistency — an incap_ses_* created on one IP is rejected when sent from another — so keeping a stable exit IP for each session matters more here than usual.

Sites commonly fronted by Imperva

You'll find Imperva across e-commerce, financial services, jobs, social, gaming, and ticketing, including many regional banking and insurance portals. Many of these sites rotate between Imperva, Cloudflare, Akamai, DataDome and PerimeterX.

Summary

Imperva builds a continuous trust score from four inputs: IP reputation, the _Incapsula_Resource JavaScript sensor with its cookie chain, TLS/HTTP/2 fingerprints, and behavioural patterns. The incap_ses_* / visid_incap_* cookie chain and the IP it's bound to are the most telling signals — most failed sessions trace back to either a broken chain or an IP mismatch. As with any modern WAF, the sensor is updated on a rolling basis, so what works today may need adjusting later.

Related terms

Concept map

How How Imperva (Incapsula) Works (2026) connects

The terms most directly tied to this one. Hover a node to see its neighbours, click to preview, drag to rearrange.

0 terms · 0 connections
You are here · Web Automation
Building map…

Frequently asked questions

How do I recognise an Imperva block?

The classic block page reads "Request unsuccessful. Incapsula incident ID: …". If you see that, the JavaScript challenge or the IP reputation check failed.

What is the reese84 cookie?

It is Imperva's clearance token, created by the sensor (the challenge script that runs in your browser). A valid reese84 is required before protected requests will succeed.

Which sites use Imperva/Incapsula?

Major jobs, retail, financial-services and ticketing sites use it — it is one of the longest-running anti-bot WAFs around.

Last updated: 2026-05-31