Headless browser detection

Detect HeadlessChrome, Selenium, Playwright, and browser automation.

Headless browser detection for sites that need crawler friction without forcing CAPTCHA on every visitor.

headless browser detectionHeadlessChrome detectionSelenium detectionPlaywright detection

Look beyond one webdriver flag

Automation can spoof one signal, so Voidek combines browser collect data with request headers, route pressure, and client classification.

Use decisions server-side

Server middleware calls the Voidek decision API before returning protected content, allowing allow, log, challenge, and block outcomes.

Keep false positives visible

Decision reasons and scores make it easier to tune policies before strict blocking reaches normal users.

Detection proof

Headless Browser Detection signals Voidek can separate before content is served.

Use these examples as rollout checks: start in monitor mode, confirm the log rows, then enforce only the classes that match your protected routes.

Headless UAHeadlessChrome or bare ChromiumChallenge or block on protected routes
Browser proofwebdriver, plugins, language, screenCombine signals, not one flag
Replay pressureRepeated automated route hitsEscalate from log to challenge

Rollout path

Start with one protected site, one test request, and one Analytics row.

Voidek is meant to start quietly: save the runtime key, run a controlled test, then raise friction only where live logs support it.

01

Add one protected site

Create a personal account on the Free plan, add one protected site, and save the runtime key before turning on headless browser detection.

02

Run the test decision

Copy the test request, export VOIDEK_API_KEY, then confirm the GPTBot row appears in Analytics with path, action, and score.

03

Enforce by route

Add the decision API at middleware or backend boundaries, then tune Selenium detection after live rows look clean.

FAQ

Questions site owners ask before turning on crawler defense.

Can headless browsers bypass detection?

Some can spoof signals. Voidek raises the cost by combining multiple signals and route-level behavior instead of depending on a single flag.

Does this require a browser snippet?

The snippet improves browser verification, while server middleware can still classify many clients from headers and request behavior.

First setup

Set up one protected site before the next crawl spike.

Create a personal account, add one protected site, copy the runtime key, and run one test decision before enforcing headless browser detection.