Avoiding blocks

Fix blank or blocked screenshots caused by bot detection, Cloudflare, or 403s.

The most common support issue by far: the screenshot comes back blank, shows a "checking your browser" page, or returns a 403 / Access Denied. The site has detected automated traffic and blocked it.

Why it happens

Bot-protection services (Cloudflare, DataDome, PerimeterX) and simple 403 rules detect headless browsers and known datacenter IP ranges, then serve a challenge or block page instead of the real content.

Fix

Try these in order:

  1. use_stealth — apply anti-detection measures so the browser looks like a normal one.
  2. proxy — route the render through your own proxy ([user:pass@]address:port, Ultra plan). Or use_proxy to use the proxy configured on your project.
Request
{  "url": "https://example.com",  "use_stealth": true,  "use_proxy": true}

If that doesn't work

  • Use a residential proxy rather than a datacenter one — it's the single biggest factor for tough sites.
  • Set a realistic user_agent.
  • Block the scripts doing the detection with block_urls.
  • If the page renders but looks broken rather than blocked, set engine_version to latest.

Urlbox does not solve CAPTCHAs. Avoiding detection in the first place — stealth plus a good proxy — is far more reliable than trying to defeat a challenge after it appears.

You get a different page than the one you asked for

Sometimes the render succeeds and looks perfectly fine — it just isn't the page you requested. A product page comes back as the homepage, for instance.

Urlbox renders leave from our own servers, which are US-based by default (it's why tz reports a US timezone). Some sites vary what they serve by visitor location, and a few redirect visitors they detect as being in the US somewhere else entirely — often unintentionally.

To check, open the same URL yourself from a US IP address in a private window. If the site does redirect, routing the render through a proxy changes where the request appears to come from.