Developer API
Build on DocWhale’s document engine.
Every tool on DocWhale is available over a clean, key-authenticated REST API. Merge, compress and convert documents straight from your own apps and workflows — no browser, no upload UI, just an HTTP call and a file back.
Base URL
All endpoints live under a single versioned base URL. Paths in this reference are relative to it.
https://api.docwhale.comAuthentication
Authenticate every request with an API key. Create and manage keys from your API keys dashboard. Keys look like dw_… and are shown in full only once, so store them somewhere safe.
Pass your key in the X-API-Key header:
X-API-Key: dw_your_key_hereOr as a bearer token, if that suits your HTTP client better:
Authorization: Bearer dw_your_key_hereRequests without a valid, active key are rejected with 401 Unauthorized.
Endpoint reference
Endpoints accept multipart/form-data and stream the resulting file straight back in the response body.
/api/v1/mergeMerge 2 or more PDFs into one. Send a multipart files field per PDF.
curl -X POST https://api.docwhale.com/api/v1/merge \
-H "X-API-Key: dw_your_key_here" \
-F "files=@first.pdf" \
-F "files=@second.pdf" \
-o merged.pdf/api/v1/compressShrink a PDF's file size. Optional level form field: low, medium (default) or high.
curl -X POST https://api.docwhale.com/api/v1/compress \
-H "X-API-Key: dw_your_key_here" \
-F "file=@document.pdf" \
-F "level=medium" \
-o compressed.pdf/api/v1/pdf-to-wordConvert a PDF into an editable .docx Word document.
curl -X POST https://api.docwhale.com/api/v1/pdf-to-word \
-H "X-API-Key: dw_your_key_here" \
-F "file=@document.pdf" \
-o document.docxRate limits & fair use
The API is rate-limited per key to keep things fast for everyone. If you exceed the limit you’ll receive a 429 Too Many Requests response — back off and retry after a short pause. Uploads are capped at 100 MB per file. Need higher limits for production? Get in touch.
Ready to build?
Create your first API key and start making requests in minutes.