Start free

Headless browser

A headless browser is a real web browser that runs without a visible window, controlled by code, so it can load pages, run JavaScript, and render content exactly as a normal browser would, just without a screen.


A headless browser is a full browser engine running without a graphical interface. It does everything a normal browser does (requests resources, executes JavaScript, builds the page layout) but it is driven by a program rather than a person clicking around. Headless Chrome is the most common example and is widely used for testing, screenshots, and data extraction.

Headless browsers matter for scraping because many pages do not ship their content in the initial HTML. They load a skeleton and then fetch and render data with JavaScript. A plain HTTP request sees the empty skeleton, while a headless browser sees the fully rendered page, the same thing a human would see.

Extracto loads each target URL in a real headless Chrome instance, then passes the rendered page text and metadata to an LLM along with your JSON Schema. This means content that only appears after rendering is visible to the extraction step. Beyond rendering, Extracto adds a managed anti-bot bypass layer with proxies handled for you, so it works on any public HTTPS URL, including JavaScript-rendered and anti-bot-protected pages. A field comes back as null only when it is genuinely absent from the page.

Examples

Rendering a JavaScript page

A page that loads its article body through a client-side framework looks empty to a plain HTTP fetch, but a headless browser executes the JavaScript first, so the full text becomes available for extraction.

Reading metadata

After rendering, a headless browser exposes the page title, meta tags, and any embedded structured data, which Extracto can hand to the LLM alongside the visible text to fill your schema accurately.

See also

Headless browser: FAQ

Why use a headless browser instead of a simple HTTP request?
Many sites render their content with JavaScript after the initial load. A simple HTTP request only sees the empty shell, while a headless browser runs the JavaScript and produces the fully rendered page, which is what you actually want to extract from.
Does a headless browser get around anti-bot systems?
On its own, a headless browser just renders pages the way a normal browser does and does not get past CAPTCHAs or anti-bot defenses. Extracto adds a managed anti-bot bypass layer on top of the browser, with proxies handled for you, so it does handle anti-bot-protected sites. The exception is login-gated content (LinkedIn, X, Instagram), which needs session cookies and is available on Enterprise.

Want to put this into practice? Extracto extracts structured data from a URL using a JSON schema, with the result validated before it leaves the API. Try the live demo or read the docs.