Guides

Render Modes

When to use none, basic, or full rendering

renderMode controls how Thunderbit fetches the page before processing. It's the lever between latency, cost, and the ability to handle dynamic content.

none (default)

Plain HTTP fetch. No browser, no JavaScript execution.

  • Use for: server-rendered pages, RSS, JSON endpoints, classic blogs
  • Latency: lowest
  • Limit: returns empty / shell HTML on SPAs and JS-hydrated content

basic

Headless browser with JS execution, but no full hydration wait.

  • Use for: pages that need JS to render but settle quickly
  • Latency: ~1–2× none
  • Limit: late-arriving content (lazy-loaded, async fetch) may be missed

full

Headless browser with full hydration + configurable waitFor.

  • Use for: SPAs, infinite scroll, content that hydrates from APIs
  • Latency: highest
  • Tip: pair with waitFor (ms) only when you need it — extra wait costs you latency on every request

How to pick

  1. Start with none. If you get empty content (SCRAPE_EMPTY_CONTENT), upgrade.
  2. Try basic next.
  3. Fall back to full for known SPAs.

Don't default to full "just in case" — you'll pay 5–10× the latency for no gain on most pages.

This page is being expanded with per-mode benchmarks — check back soon.