Skip to content
← Back to glossary Scraping Basics

Headless Browser

A headless browser runs a full browser engine (including JavaScript execution and DOM rendering) without a visible user interface, which is why it can load dynamic pages a plain HTTP request cannot. By operating entirely in the background via command-line or network protocols (like CDP), it processes CSS, fires asynchronous fetch requests, and evaluates React or Vue lifecycle methods precisely like a consumer browser would. This makes it mandatory infrastructure for extracting data from modern Single Page Applications (SPAs).

When compared in a headless browser vs regular browser context, the underlying Chromium or Firefox engine is identical, but the execution environment exposes unique hardware and rendering artifacts. Because a headless browser lacks attached displays and audio peripherals, its default configuration leaks anomalies, such as missing navigator.webdriver flags, zero-dimension screen sizes, or stripped WebGL capabilities. These discrepancies make headless browser detection trivial for anti-bot systems unless the environment is rigorously patched and spoofed.

Key Specifications & Comparison

Parameter / Feature Plain HTTP Request Headless Browser
JavaScript Execution No Yes (Full V8/SpiderMonkey engine)
DOM Rendering Raw HTML only Fully evaluated DOM tree
Resource Cost Minimal CPU/RAM High memory and compute overhead
Detection Vector TLS/Headers Canvas, WebGL, and Navigator properties

Related terms

Web Unblocker

Extract data automatically, browse undetected, and beat anti-bot systems — all in one powerful tool.

Get started free

Community

Head over to our community where you can engage with us and our community directly.

Questions? Ask our team via live chat, join us on our official Slack community. We're always happy to help.

Join our Slack Community