Direct HTTP should be your first scraping tier
Browsers are powerful, but they are not free. Start with a fingerprinted request, escalate only when the target earns it.
The cheap tier is usually enough
Most targets do not need a browser for every request. Product APIs, JSON endpoints, static pages, and many server-rendered pages are faster and cleaner through a direct HTTP client.
The trick is not plain curl. The useful first tier is an HTTP client with a believable TLS fingerprint, header ordering, redirects, cookies, proxy support, and timeouts that fail predictably.
Escalate on evidence, not vibes
Browser rendering should be a response to evidence: a WAF challenge, missing DOM that requires JavaScript, or an explicit caller request. If every URL starts in Chromium, you pay the browser tax before you know whether you needed it.
A direct-first scraper also makes debugging easier. When the method says http, the result came from the target response. When it says browser, you know the request either asked for render or the cheaper tier was blocked.
- Start with direct HTTP by default.
- Detect WAF and challenge responses from status, headers, and body.
- Escalate to browser only after a block or explicit render request.
- Record which tier actually satisfied the request.
Where Scantir draws the line
Scantir treats the browser as an escalation tier, not the default transport. That keeps JSON endpoints as JSON, reduces latency for easy targets, and reserves the browser pool for pages that genuinely need it.
This is also the model that scales better operationally: direct requests can run at high concurrency, while browser workers stay bounded and observable.