Skip to main content

Confirm

Are you sure?

Glossary

Rendered DOM

Why the page a browser shows you and the HTML a server sends you are often two different documents.

By · Last updated: September 2026

TL;DR

The rendered DOM is the document a browser holds after it has loaded a page and run its JavaScript. On a client-rendered site it contains the content; the raw HTML the server sent often contains only an empty container and the scripts that fill it.

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

The difference

Source vs. rendered

When a server answers a request it sends HTML — the source. A browser parses that into a tree of elements, the DOM, and then runs the page's scripts, which are free to add, remove and rewrite elements. The tree after they have finished is the rendered DOM.

On a page rendered on the server the two are nearly identical. On a single-page app they can share almost nothing: the source is a <div id="root"></div> and a bundle of JavaScript, and every heading, price and paragraph arrives later.

HTML sourceRendered DOM
What returns itcurl, view-source, most HTTP clientsA browser, or a headless one
JavaScriptNot runRun to completion
Content on an SPAUsually missingPresent
Cost to getOne HTTP requestA full page load

In practice

Getting it from code

You need something that runs the page: Puppeteer or Playwright driving a real Chrome, or an API that does it for you. URLpipe's /html endpoint loads the page in headless Chrome, lets its scripts run, follows redirects and returns the serialized rendered DOM.

When the content arrives late — after an API call, or on scroll — waiting for load is not enough. page_options.wait_for_selector holds the capture until an element you name exists.

Everything URLpipe derives from a page starts from the rendered DOM, not the source: the Markdown, the metadata, the keywords and the screenshot all describe the page after its scripts have run. That is what makes them match what a visitor sees — and why a tag that only JavaScript adds can show up in a URLpipe result while a link-preview fetcher, which reads the source, misses it.

FAQ

Frequently asked questions

Is the rendered DOM the same as the HTML I see in DevTools?
Yes — the Elements panel shows the live DOM, which is the rendered one. View Source shows what the server sent.
Do search engines see the rendered DOM?
Google renders pages with a headless Chrome before indexing them, so it sees the rendered DOM, though rendering can lag crawling. Many other crawlers, and most AI crawlers, read only the source.
How do I tell whether a page needs rendering?
Fetch it with curl and search the response for a sentence you can see on the page. If it isn't there, the text is put in by JavaScript and you need the rendered DOM.

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.