Headless Browser
A headless browser is a web browser that runs without a visible user interface and is controlled through automation. It loads pages with a browser engine, executes JavaScript, manages cookies and storage, and exposes the rendered document to a script.
Headless browsers are useful when content appears only after client-side code runs, when a workflow needs clicks or form interactions, or when the application depends on browser APIs that an HTTP client does not implement. Automation libraries such as Playwright and Puppeteer provide high-level control over navigation, page elements, downloads, network events, and multiple browser contexts.
The extra capability has a cost. Starting and running browser processes uses more CPU and memory than sending direct HTTP requests. Rendering images, scripts, fonts, and advertisements can also increase bandwidth. A scraper should use a browser only for steps that need browser behavior, block unnecessary resources when appropriate, and close pages and contexts after use.
A mainstream browser engine produces browser-like HTTP and TLS behavior, but headless operation is not automatically undetectable. Configuration, automation signals, request patterns, and inconsistent session behavior can still stand out.
See the PacketStream integration guides for Playwright and Puppeteer.
Related terms: web scraping and TLS fingerprinting.