SmallPDF.us
Developer API · v1

The PDF API built for developers

One simple REST endpoint per task. Merge, convert, compress and protect PDFs from any language — no SDK, no servers, no PDF libraries to wrestle with.

11 endpoints
PDF, Word & images
No SDK
Plain HTTP + multipart
Private
Scanned & auto-deleted
Any language
cURL, Node, Python…

Quick start

1. Get a key

Sign in and create a key in your dashboard.

2. Call an endpoint

POST your file as multipart/form-data.

3. Get the result

The processed file streams back instantly.

Request
curl -X POST https://smallpdf.us/api/v1/merge \
  -H "X-API-Key: YOUR_API_KEY" \
  -F "files=@image1.pdf" \
  -F "files=@image2.pdf" \
  -o merged.pdf

Authentication

Every request must include your secret key in the X-API-Key header. Create and manage keys in your dashboard. Keep keys server-side — never expose them in client code.

Request
X-API-Key: sk_live_xxxxxxxxxxxxxxxxxxxxxxxx

Base URL & responses

All endpoints are POST under:

https://smallpdf.us/api/v1
  • On success the processed file is returned directly in the body.
  • On error a JSON body is returned: { "error": "...", "code": "..." }
  • Every response includes X-RateLimit-Limit / X-RateLimit-Remaining
  • Uploads are scanned for malware and deleted from our servers immediately after processing.

Endpoints

Organize

POST/v1/mergeMerge PDF

Combine two or more PDFs into a single document, in the order provided.

Parameters

filesfile[]required

Two or more PDF files.

Returns: PDF file · merged.pdf

Request
curl -X POST https://smallpdf.us/api/v1/merge \
  -H "X-API-Key: YOUR_API_KEY" \
  -F "files=@image1.pdf" \
  -F "files=@image2.pdf" \
  -o merged.pdf
POST/v1/splitSplit PDF

Split a PDF. Without `pages` you receive a ZIP with one PDF per page; with `pages` you receive a single PDF of just those pages.

Parameters

filefilerequired

The PDF to split.

pagesstringoptional

Optional range, e.g. "1,3,5-7".

Returns: PDF file · split.pdf

Request
curl -X POST https://smallpdf.us/api/v1/split \
  -H "X-API-Key: YOUR_API_KEY" \
  -F "file=@input.pdf" \
  -F "pages=1-3" \
  -o split.pdf
POST/v1/rotateRotate PDF

Rotate every page by a multiple of 90 degrees.

Parameters

filefilerequired

The PDF to rotate.

angleintoptional

90, 180 or 270. Default 90.

Returns: PDF file · rotated.pdf

Request
curl -X POST https://smallpdf.us/api/v1/rotate \
  -H "X-API-Key: YOUR_API_KEY" \
  -F "file=@input.pdf" \
  -F "angle=90" \
  -o rotated.pdf

Convert

POST/v1/pdf-to-wordPDF to Word

Convert a PDF into an editable Word (.docx) document with layout preserved.

Parameters

filefilerequired

The PDF to convert.

Returns: Word .docx file · converted.docx

Request
curl -X POST https://smallpdf.us/api/v1/pdf-to-word \
  -H "X-API-Key: YOUR_API_KEY" \
  -F "file=@input.pdf" \
  -o converted.docx
POST/v1/word-to-pdfWord to PDF

Convert a Word document (.doc, .docx, .odt, .rtf) into a PDF.

Parameters

filefilerequired

The document to convert.

Returns: PDF file · converted.pdf

Request
curl -X POST https://smallpdf.us/api/v1/word-to-pdf \
  -H "X-API-Key: YOUR_API_KEY" \
  -F "file=@input.docx" \
  -o converted.pdf
POST/v1/pdf-to-jpgPDF to JPG

Render each PDF page to a JPG image. Returns a ZIP archive.

Parameters

filefilerequired

The PDF to convert.

qualitystringoptional

standard (150dpi) · high (300) · maximum (600).

Returns: ZIP archive of images · pages.zip

Request
curl -X POST https://smallpdf.us/api/v1/pdf-to-jpg \
  -H "X-API-Key: YOUR_API_KEY" \
  -F "file=@input.pdf" \
  -F "quality=high" \
  -o pages.zip
POST/v1/pdf-to-pngPDF to PNG

Render each PDF page to a PNG image. Returns a ZIP archive.

Parameters

filefilerequired

The PDF to convert.

qualitystringoptional

standard · high · maximum.

Returns: ZIP archive of images · pages.zip

Request
curl -X POST https://smallpdf.us/api/v1/pdf-to-png \
  -H "X-API-Key: YOUR_API_KEY" \
  -F "file=@input.pdf" \
  -F "quality=high" \
  -o pages.zip
POST/v1/jpg-to-pdfJPG to PDF

Combine one or more JPG images into a single PDF (one image per page).

Parameters

filesfile[]required

One or more JPG images.

Returns: PDF file · images.pdf

Request
curl -X POST https://smallpdf.us/api/v1/jpg-to-pdf \
  -H "X-API-Key: YOUR_API_KEY" \
  -F "files=@image1.jpg" \
  -F "files=@image2.jpg" \
  -o images.pdf
POST/v1/png-to-pdfPNG to PDF

Combine one or more PNG images into a single PDF (one image per page).

Parameters

filesfile[]required

One or more PNG images.

Returns: PDF file · images.pdf

Request
curl -X POST https://smallpdf.us/api/v1/png-to-pdf \
  -H "X-API-Key: YOUR_API_KEY" \
  -F "files=@image1.png" \
  -F "files=@image2.png" \
  -o images.pdf

Optimize

POST/v1/compressCompress PDF

Reduce a PDF's file size with lossless stream compression.

Parameters

filefilerequired

The PDF to compress.

Returns: PDF file · compressed.pdf

Request
curl -X POST https://smallpdf.us/api/v1/compress \
  -H "X-API-Key: YOUR_API_KEY" \
  -F "file=@input.pdf" \
  -o compressed.pdf

Secure

POST/v1/protectProtect PDF

Encrypt a PDF with AES-256 so it can only be opened with the password.

Parameters

filefilerequired

The PDF to protect.

passwordstringrequired

Password required to open the file.

Returns: PDF file · protected.pdf

Request
curl -X POST https://smallpdf.us/api/v1/protect \
  -H "X-API-Key: YOUR_API_KEY" \
  -F "file=@input.pdf" \
  -F "password=secret123" \
  -o protected.pdf

Plans & quota

PlanAPI callsPrice
Free50 / month$0
Starter1,000 / month$9/mo
Pro10,000 / month$19/mo
Max100,000 / monthContact sales

Quota resets on the 1st of each month (UTC). Only successful calls count. See full pricing

Status & error codes

HTTPCodeMeaning
200Success. The processed file is returned in the body.
400BAD_INPUTMissing or invalid file / parameters.
401NO_API_KEY · BAD_API_KEYMissing, invalid or revoked key.
429QUOTA_EXCEEDEDMonthly quota used up — upgrade your plan.
500PROCESSING_ERRORThe file could not be processed.

Start building today

Create a free API key and make your first call in under a minute.

Get your API key