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" } }
Screenshot shows cookie consent banner
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:
- Check response headers for rate limit info
- Implement exponential backoff
- Use caching to reduce requests
- Consider upgrading your plan
Timeout errors
Cause: The page takes too long to load or render.
Solutions:
- Block heavy resources:
{ "block": { "resources": ["font", "media"] } }
- Use a simpler wait condition:
{ "wait": { "until": "domcontentloaded" } }
Invalid signature errors
Cause: Signature mismatch for signed URLs.
Solutions:
- Ensure parameters are sorted alphabetically before signing
- Check that the expiration timestamp is in the future
- Verify you're using the correct secret key
- 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-Idheader) - The request parameters you used
- The error response you received