Troubleshooting
Authentication errors
Section titled “Authentication errors”401 Unauthorized
Section titled “401 Unauthorized”Your API key is invalid or missing.
{"error": "Invalid API key"}Solutions:
- Check the
Authorization: Bearer sk_live_...header is present - Verify your API key is correct (no extra spaces)
- Get a new key at orim.io/dashboard
409 Conflict (on register)
Section titled “409 Conflict (on register)”Email already registered.
Solution: Use “Resend key” to get a new API key sent to your email.
Rate limit errors
Section titled “Rate limit errors”429 Too Many Requests
Section titled “429 Too Many Requests”You’ve exceeded rate limits.
{"error": "Rate limit exceeded. Try again later."}Limits:
| Mode | Limit |
|---|---|
| Sandbox | 6 requests / minute |
| Free tier | 30 requests / minute |
| Paid plans | Higher limits |
Solutions:
- Wait and retry
- Upgrade your plan for higher limits
- Implement exponential backoff in your code
PDF generation issues
Section titled “PDF generation issues”PDF is blank
Section titled “PDF is blank”Your HTML might be empty or invalid.
Solutions:
- Test your HTML in a browser first
- Check for unclosed tags
- Remember: JavaScript is disabled for security
Fonts look wrong
Section titled “Fonts look wrong”Web fonts need to be loaded via URL.
Solution: Link fonts explicitly:
<link href="https://fonts.googleapis.com/css2?family=Inter&display=swap" rel="stylesheet"><div style="font-family: 'Inter', sans-serif"> Your content here</div>Tailwind styles not applying
Section titled “Tailwind styles not applying”Make sure you’re using valid Tailwind class names.
Images not showing
Section titled “Images not showing”Images must be accessible via public URL.
Common issues:
localhostURLs won’t work- Private/internal URLs are blocked
- Base64 data URLs work fine
Screenshot issues
Section titled “Screenshot issues”400 Bad Request (SSRF)
Section titled “400 Bad Request (SSRF)”The URL is blocked for security reasons.
{"error": "URL not allowed: private IP address"}Blocked URLs:
localhost,127.0.0.1- Private IPs (10.x, 172.16.x, 192.168.x)
- Internal hostnames
Page not fully loaded
Section titled “Page not fully loaded”Some content might be missing if the page uses heavy JavaScript.
The API waits for:
- Network idle
- Lazy images (up to 3 seconds)
If still incomplete: The page may require authentication or have bot protection.
Still stuck?
Section titled “Still stuck?”- Check the API Reference for correct parameters
- Email support: hello@orim.io