Glossary
Rendered DOM
Why the page a browser shows you and the HTML a server sends you are often two different documents.
By Roger Campos · 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 source | Rendered DOM | |
|---|---|---|
| What returns it | curl, view-source, most HTTP clients | A browser, or a headless one |
| JavaScript | Not run | Run to completion |
| Content on an SPA | Usually missing | Present |
| Cost to get | One HTTP request | A 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.
Try it
Rendered DOM, on a page you choose
Related terms
FAQ
Frequently asked questions
Is the rendered DOM the same as the HTML I see in DevTools?
Do search engines see the rendered DOM?
How do I tell whether a page needs rendering?
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.