JavaScript rendering is the step of launching a real browser engine, loading the target page, waiting for all JavaScript to execute, and only then extracting the final DOM. It is necessary for any site that builds its content client-side — which is the majority of modern web applications.
When a framework like React renders on the client, the initial HTML response is a near-empty `<div id="root">` container. The JavaScript bundle downloads, executes, fetches data from APIs, and updates the DOM — all happening in the browser after the initial HTML load. A standard HTTP scraper receives only the empty shell. JavaScript rendering waits for the full lifecycle to complete before extracting.
The performance cost is real: rendering a page takes 2-10x longer than a plain HTTP fetch and consumes far more CPU and memory. AlterLab's intelligent tier selection runs JavaScript rendering only when the site requires it — plain HTTP is attempted first when possible, falling back to rendering only when the response lacks expected content.