DocWhale

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.com

Authentication

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_here

Or as a bearer token, if that suits your HTTP client better:

Authorization: Bearer dw_your_key_here

Requests 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.

POST/api/v1/merge

Merge 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
POST/api/v1/compress

Shrink 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
POST/api/v1/pdf-to-word

Convert 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.docx

Rate 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.