Troubleshooting

Common issues and solutions when using RenderScreenshot.

Screenshot is blank or incomplete

Cause: The page hasn't finished loading when the screenshot is captured.

Solution: Use wait options to ensure the page is fully loaded:

{
  "url": "https://example.com",
  "wait": {
    "until": "networkidle"
  }
}

Or wait for a specific element:

{
  "wait": {
    "selector": "#main-content"
  }
}

Cause: Cookie banners appear before you can interact with them.

Solution: Enable cookie banner blocking:

{
  "block": {
    "cookie_banners": true
  }
}

Screenshot shows login page instead of content

Cause: The page requires authentication.

Solution: Pass cookies or auth headers:

{
  "url": "https://example.com/dashboard",
  "cookies": [
    {
      "name": "session_id",
      "value": "your-session-token",
      "domain": "example.com"
    }
  ]
}

Rate limit errors

Cause: Too many requests in a short time period.

Solution:

  1. Check response headers for rate limit info
  2. Implement exponential backoff
  3. Use caching to reduce requests
  4. Consider upgrading your plan

Timeout errors

Cause: The page takes too long to load or render.

Solutions:

  1. Block heavy resources:
{
  "block": {
    "resources": ["font", "media"]
  }
}
  1. Use a simpler wait condition:
{
  "wait": {
    "until": "domcontentloaded"
  }
}

Invalid signature errors

Cause: Signature mismatch for signed URLs.

Solutions:

  1. Ensure parameters are sorted alphabetically before signing
  2. Check that the expiration timestamp is in the future
  3. Verify you're using the correct secret key
  4. Make sure the URL isn't being modified after signing

Screenshot quality is poor

Cause: Low quality settings or wrong format.

Solution: Use PNG for best quality or increase JPEG/WebP quality:

{
  "output": {
    "format": "png"
  }
}

Or for JPEG:

{
  "output": {
    "format": "jpeg",
    "quality": 95
  }
}

Still having issues?

Contact support at [email protected] with:

  • Your request ID (X-Request-Id header)
  • The request parameters you used
  • The error response you received

Was this page helpful?