Blink PDF is a REST API that converts Markdown into professional, print-ready PDFs in roughly 100 milliseconds. You send a JSON request body containing your Markdown content, and the API streams back a binary PDF — no browser, no headless Chrome, no fuss. This overview covers the base URL, available endpoints, request and response conventions, and what to expect when something goes wrong.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.
Base URL
All API requests are made to the following base URL:/v1/.
The base URL does not include a trailing slash. Append endpoint paths exactly as shown in the table below.
Endpoints at a Glance
| Method | Path | Description |
|---|---|---|
POST | /v1/render | Convert Markdown to a PDF binary |
GET | /v1/fonts | List all fonts available for use in your documents |
GET | /v1/health | Check API availability (no auth required) |
Request Format
AllPOST requests must include a JSON body and the following headers:
| Header | Value |
|---|---|
Authorization | Bearer sk_live_... |
Content-Type | application/json |
GET requests that require authentication need only the Authorization header — no request body is sent.
Response Format
A successful call toPOST /v1/render returns a binary PDF (application/pdf). You should pipe or write the response body directly to a file rather than reading it as text.
All other successful responses return JSON (application/json).
Response Headers
Every response from the/v1/render endpoint includes two custom headers that are useful for debugging and performance tracking:
| Header | Description |
|---|---|
X-Render-Ms | The time, in milliseconds, that the server spent rendering your PDF |
X-Request-Id | A unique identifier for the request, formatted as req_xxxxxxx. Include this when contacting support |
Error Codes
When a request cannot be completed, the API returns a standard HTTP error status code. The table below summarises what each code means in the context of Blink PDF:| Status Code | Name | What It Means |
|---|---|---|
400 | Bad Request | Your request body is malformed or a required field is missing |
401 | Unauthorized | The Authorization header is absent or the API key is invalid |
403 | Forbidden | Your current plan does not include the feature you requested |
413 | Payload Too Large | The Markdown input exceeds the maximum size allowed on your plan |
429 | Too Many Requests | You have exceeded your rate limit. Check the Retry-After header for when you can retry |
500 | Internal Server Error | The rendering pipeline encountered an unexpected error |
Rate Limiting
Rate limits are enforced per API key and vary by plan. If you exceed your limit, the API returns429 Too Many Requests and includes a Retry-After header.
Calls to
GET /v1/health and GET /v1/fonts never count toward your rate limit or render quota. Only successful POST /v1/render responses are counted.Versioning
The current API version isv1, reflected in every endpoint path. When breaking changes are introduced, a new version prefix (e.g. /v2/) will be released alongside the existing version. You will always receive advance notice before an older version is deprecated.