This guide covers the most common issues you might encounter when integrating with the Blink PDF API, with clear explanations and steps to resolve each one. If you work through the relevant section and still can’t resolve the problem, email hello@blinkpdf.io with your request ID and we’ll take a look.Documentation Index
Fetch the complete documentation index at: https://docs.blinkpdf.io/llms.txt
Use this file to discover all available pages before exploring further.
Authentication Errors
401 Unauthorized
You’ll receive a401 when the API cannot verify your identity.
| Cause | Fix |
|---|---|
No Authorization header sent | Add Authorization: Bearer YOUR_API_KEY to every request |
| Typo or truncated key | Copy the key directly from your dashboard — don’t retype it manually |
| Key was rotated | Retrieve the new key from your dashboard and update your environment variables |
| Key belongs to a different environment | Confirm you’re using the key for the correct workspace (production vs. staging) |
403 Forbidden
A403 response means your request was authenticated successfully, but it was blocked for another reason.
- Plan limit exceeded — you’ve hit your monthly quota or daily cap (Free plan). Your quota resets at the start of your next billing period. To continue rendering immediately, upgrade your plan.
- Spending cap reached — your configured monthly spending cap has been hit. Adjust the cap in your dashboard or wait for the next billing cycle.
- Feature not on your plan — some API parameters (e.g., per-key attribution) require a higher-tier plan. Check the pricing page to see which plan includes the feature you need.
- Key scoped to specific endpoints (Enterprise) — your key may have endpoint restrictions. Check your key configuration in the dashboard.
Rate Limit Errors
429 Too Many Requests
You’ll see a429 when you exceed your plan’s sustained rate or concurrency limit.
- Read the
Retry-Afterheader — this is the minimum number of seconds to wait before retrying. - Implement exponential backoff with jitter so that multiple clients don’t retry in lockstep.
- If you’re consistently hitting
429, consider:- Spreading requests more evenly over time using a queue
- Raising the concurrency in your client up to (but not exceeding) your plan’s concurrency limit
- Upgrading to a plan with a higher rate limit
Request Errors
400 Bad Request
A400 means the API understood your request but found something wrong with the payload.
- The
contentfield is missing, empty, or not a string - A required parameter (e.g., page size unit) has an invalid value
- Malformed JSON in the request body — check your
Content-Type: application/jsonheader - An unsupported Markdown extension or syntax that the parser cannot process
message field — it usually identifies the specific field or value that failed validation.
413 Payload Too Large
Your request body exceeds the maximum input size for your plan.| Plan | Max Input Size |
|---|---|
| Free | 256 KB |
| Starter | 1 MB |
| Pro | 2 MB |
| Business | 5 MB |
| Scale | 10 MB |
| Enterprise | Custom |
- Split very large documents into multiple render calls and combine the PDFs client-side if needed
- Remove large embedded base64 assets from the payload and reference them as external URLs instead
- Upgrade your plan to access a higher input size limit
The size limit applies to the request body, not the output PDF. A document that compresses well in Markdown may produce a larger PDF, and that’s fine.
Server Errors
500 Internal Server Error
A500 response means something went wrong on Blink PDF’s side — your request was valid, but the server encountered an unexpected condition while processing it.
- Check the
X-Request-IDresponse header — note the request ID. You’ll need it if you contact support. - Retry with exponential backoff — transient server errors often resolve within seconds. Use the same retry logic as for
429responses, but limit to 2–3 attempts. - Check the status page — if you’re seeing widespread
500errors, visit status.blinkpdf.io to see if there is an active incident. - Contact support — if
500errors persist across retries and no incident is posted, email hello@blinkpdf.io with your request ID and a description of the payload so the team can investigate.
A
500 error does not count against your monthly quota. If a render fails server-side, you are not charged for that request.Render Quality Issues
Watermark Appearing on PDFs
Watermarks are added automatically on the Free plan. This is expected behavior and cannot be disabled at the Free tier. To remove watermarks: Upgrade to any paid plan (Starter and above). Watermarks are removed immediately — you don’t need to change anything in your API request.PDF Not Accessible / Fails Accessibility Check
All Blink PDF output is PDF/UA-1 compliant by default. If you’re running an accessibility validator and seeing failures, check the following:- Confirm you’re testing the PDF returned directly by the API, not a version that was post-processed by another tool (e.g., a PDF editor or merger that strips accessibility metadata)
- If you’re embedding PDFs into a larger document using a third-party library, ensure that library preserves the accessibility tagging from Blink PDF’s output
- Check that your Markdown uses semantic structure (proper heading levels, alt text on images) — while Blink PDF handles the technical PDF/UA tagging, meaningful document structure starts with your content
Performance Issues
Slow Renders
Blink PDF renders typically complete in ~100ms. If you’re seeing significantly longer times, consider these factors:Remote images in your document
Remote images in your document
When your Markdown includes images referenced by URL (e.g.,
), Blink PDF must fetch each image over the network before completing the render. Network latency and the response time of the remote server add directly to your total render time.Fix: Host images on a fast CDN, reduce the number of remote images, or embed images as base64 data URIs if they’re small and static.Large document size
Large document size
Documents with many pages, dense typography, or numerous embedded assets take longer to lay out and encode. This is expected — render time scales with document complexity.Fix: For very large documents, consider whether you can render them in sections and merge the output, or move to a Business or Scale plan for priority rendering.
Network conditions between your server and Blink PDF
Network conditions between your server and Blink PDF
Geographic distance between your application server and the Blink PDF API can add network latency that’s unrelated to render time.Fix: Deploy your application in a region geographically close to the Blink PDF API. Enterprise customers can discuss regional deployments to minimize this latency.
Cold starts on the Free plan
Cold starts on the Free plan
Free plan accounts may experience occasional cold start latency when the API hasn’t been called recently. Paid plans (Starter and above) eliminate cold starts entirely.
Still Stuck?
If you’ve worked through the relevant sections above and the issue persists, we’re happy to help directly.Email Support
Send a message to hello@blinkpdf.io with your request ID (found in the
X-Request-ID response header), a description of the issue, and a minimal reproducible example if possible. We’ll investigate and get back to you.