Skip to main content

Glossary

Headless browser

The same engine your visitors use, minus the window, driven by a script.

By · Last updated: September 2026

TL;DR

A headless browser is a full browser — such as Chrome — running without a visible window and controlled by a program. It loads pages exactly as a visitor's browser would: it runs JavaScript, applies CSS, lays the page out and can take screenshots, which a plain HTTP client cannot.

Free plan, no credit card. 1,000 credits a month.

How it works

What it is

Chrome ships a headless mode that is the same browser as the one on your desktop, with the window taken away. A program drives it over the Chrome DevTools Protocol — directly, or through a library like Puppeteer or Playwright — telling it to open a URL, wait, click, read the DOM or capture the screen. Firefox and WebKit can be driven the same way.

HTTP client (curl, requests)Headless browser
Runs JavaScriptNoYes
ReturnsThe HTML sourceThe rendered DOM, screenshots, metrics
Sees console errorsNoYes
Time per pageMillisecondsSeconds
MemoryKilobytesHundreds of megabytes per tab

In practice

When you need one

Whenever the answer depends on the page having run: content on a client-rendered site, a screenshot, a Largest Contentful Paint time, a JavaScript error. For a static HTML page an HTTP client is faster and cheaper, and you should use one.

Running your own is where the cost is. Each browser needs its own memory and CPU, crashes and leaks have to be recycled, pages that never finish loading need timeouts, and deciding when a page is "done" is its own problem (see networkidle). That is manageable for a script and a real piece of work for a service.

URLpipe

How URLpipe uses one

Every URLpipe request loads the page in real Chrome on our own custom-built rendering engine, and one visit can answer several questions: /scrape returns the HTML, Markdown, a screenshot and the console of a single page load. You send a URL and get results; the browsers, timeouts and recycling are ours to run.

One page visit, two results
curl -X POST https://urlpipe.dev/scrape \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com", "sync": true, "operations": ["html", "console"]}'

What it does not do: click through flows or fill forms. URLpipe reads one URL as a visitor first sees it — signed in, for a page behind a login, with an auth profile.

FAQ

Frequently asked questions

Chrome's headless mode runs the same browser code as the desktop app, without a window. Pages render the same way.

See it on your own pages.

Free plan, no card. Confirm your email and your API key is live — you'll be making real requests in minutes.