The PDF & image API
built for developers.
Merge, split, compress, watermark, fill forms — one HTTP call per task. Credit-based pricing. No SDKs, no subscriptions, no file storage.
- 50 free credits — no card required
- Drop-in HTTP, any language
- Credits never expire
- Zero file storage on our servers
# 1. Get your API key at /api-keys
# 2. Make a request
curl -X POST https://api.convertkr.com/v1/compress-pdf \
-H "Authorization: Bearer $CKR_API_KEY" \
-F "file=@input.pdf" \
-o compressed.pdf
# Response includes X-Credits-Remaining headerEverything you need to work with PDFs
A focused set of endpoints. Each does one thing well and costs 1 credit. Pick what you need — no bundles, no upcharges.
PDF REST APIs11
POST /v1/compress-pdfReduce PDF file size by rewriting it with object streams. Lossless for text-heavy PDFs.
POST /v1/merge-pdfCombine multiple PDFs into one. Order is preserved from the submitted file list.
POST /v1/split-pdfSplit a PDF by page ranges, every N pages, or each page separately. Returns a ZIP when multiple files are produced.
POST /v1/rotate-pdfRotate every page by a fixed angle, or per-page via a JSON array.
POST /v1/organize-pdfReorder, duplicate, or drop pages. Provide a JSON array of 1-based page numbers.
POST /v1/pdf-watermarkStamp a text watermark on every page. Configurable position, color, opacity, font size.
POST /v1/pdf-page-numbersStamp page numbers on every page in one of six positions.
POST /v1/crop-pdfCrop margins off every page (or a specific page). Margins are in PDF points (1pt = 1/72 in).
POST /v1/insert-pdf-pageInsert a page from one PDF into another at a specific position.
POST /v1/pdf-form-fillerFill text, checkbox, dropdown, and radio fields in a fillable PDF. Optionally flatten so fields become uneditable.
POST /v1/pdf-to-textExtract text content from a PDF. Returns plain text by default; pass format=json for per-page output.
One HTTP call. Any language.
No SDK to install. Every endpoint accepts multipart/form-data and returns the result file in the response body. If you can make an HTTP request, you can use ConvertKr.
- Auth
Authorization: Bearer ckr_live_… - Body
multipart/form-data - Response
Result file as body · X-Credits-Remaining header - Errors
Standard HTTP codes · JSON body for non-2xx
curl -X POST /api/v1/compress-pdf \
-H "Authorization: Bearer $CKR_KEY" \
-F "file=@input.pdf" \
-o compressed.pdfBuilt right under the hood
We've been operating PDF tools at scale since 2023. The same patterns that keep our free tools fast and private power the API.
Zero file storage
We process every file in memory and return the result. Your PDFs never touch our disk. Same privacy promise as our 60+ free tools.
Append-only credit ledger
Every credit movement is recorded — purchases, consumption, refunds, manual adjustments. Auditable forever. No quiet balance corruption.
Race-safe deductions
Concurrent requests for the same user serialize on a Postgres advisory lock. No double-spend, no negative balances under load.
Battle-tested logic
Same conversion engine powering 60+ free tools on convertkr.com. Billions of pages processed. The API just exposes it as HTTP.