JavaScript rendering refers to executing a page's JavaScript before extracting data from it. Many modern sites load content via JS after the initial HTML response — the raw HTML contains only a scaffold that scripts populate with actual content after the page loads.
Handling JS rendering requires a headless browser (Playwright, Puppeteer, or a cloud rendering service like Browserless or ScraperAPI). Rendering is the most significant cost multiplier in scraping: a headless browser uses 10–100× more CPU and memory than a raw HTTP request and is 5–20× slower. Identifying which pages require JS rendering vs. which can be scraped statically is a critical pipeline design decision.