PDFAutoPilot

Developers

PDF AutoPilot Developer API

The PDF AutoPilot Developer API is a REST API for working with PDFs and documents from your own code — merge, split, rotate, watermark, convert to Word or Excel, run OCR, and secure files. Every endpoint accepts multipart/form-data and returns the processed file (or JSON where noted). It's free to use with an API key from your account.

Authentication

Every request is authenticated with an API key sent in the X-API-Key header. Create and manage keys on your developer dashboard. A key is shown in full only once, when you create it — store it in an environment variable and never commit it to source control. Keys can be revoked at any time.

Base URL

https://autopdfpilot.tech

Auth header

X-API-Key: $AUTOPILOT_API_KEY

PDF operations

Merge, split, and edit PDFs. Send the PDF as a file field; the processed document streams back (or a ZIP where a call produces more than one file).

POST/v1/pdf/merge

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

FieldTypeRequiredDescription
filesfile[]YesTwo or more PDF files to merge, in order.

Returns: The merged PDF.

curl -X POST https://autopdfpilot.tech/v1/pdf/merge \
  -H "X-API-Key: $AUTOPILOT_API_KEY" \
  -F "files=@first.pdf" \
  -F "files=@second.pdf" \
  -o merged.pdf

POST/v1/pdf/split

Split a PDF into separate documents by page range.

FieldTypeRequiredDescription
filefileYesThe input PDF.
rangesstringYesPage ranges to extract, e.g. "1-3,5".

Returns: A ZIP archive with one PDF per range.

curl -X POST https://autopdfpilot.tech/v1/pdf/split \
  -H "X-API-Key: $AUTOPILOT_API_KEY" \
  -F "file=@document.pdf" \
  -F "ranges=1-3,5" \
  -o split.zip

POST/v1/pdf/rotate

Rotate some or all pages of a PDF.

FieldTypeRequiredDescription
filefileYesThe input PDF.
angleintegerYesRotation in degrees: 90, 180, or 270.
pagesstringNoPages to rotate, e.g. "1-3,5". Omit to rotate every page.

Returns: The rotated PDF.

curl -X POST https://autopdfpilot.tech/v1/pdf/rotate \
  -H "X-API-Key: $AUTOPILOT_API_KEY" \
  -F "file=@document.pdf" \
  -F "angle=90" \
  -o rotated.pdf

POST/v1/pdf/delete-pages

Remove specific pages from a PDF.

FieldTypeRequiredDescription
filefileYesThe input PDF.
pagesstringYesPages to remove, e.g. "2,4-6".

Returns: The PDF with those pages removed.

curl -X POST https://autopdfpilot.tech/v1/pdf/delete-pages \
  -H "X-API-Key: $AUTOPILOT_API_KEY" \
  -F "file=@document.pdf" \
  -F "pages=2,4-6" \
  -o trimmed.pdf

POST/v1/pdf/watermark

Stamp a text watermark across every page.

FieldTypeRequiredDescription
filefileYesThe input PDF.
textstringYesThe watermark text.
opacitynumberNoOpacity of the watermark. Optional.
positionstringNoWhere to place the watermark on the page. Optional.

Returns: The watermarked PDF.

curl -X POST https://autopdfpilot.tech/v1/pdf/watermark \
  -H "X-API-Key: $AUTOPILOT_API_KEY" \
  -F "file=@document.pdf" \
  -F "text=CONFIDENTIAL" \
  -o watermarked.pdf

POST/v1/pdf/page-numbers

Add page numbers to a PDF.

FieldTypeRequiredDescription
filefileYesThe input PDF.
formatstringNoPage-number format. Optional.
positionstringNoWhere to place the page numbers. Optional.

Returns: The PDF with page numbers added.

curl -X POST https://autopdfpilot.tech/v1/pdf/page-numbers \
  -H "X-API-Key: $AUTOPILOT_API_KEY" \
  -F "file=@document.pdf" \
  -o numbered.pdf

POST/v1/pdf/info

Read a PDF's page count and document metadata.

FieldTypeRequiredDescription
filefileYesThe input PDF.

Returns: JSON describing the document.

{
  "pages": 12,
  "encrypted": false,
  "title": "...",
  "author": "...",
  "subject": "...",
  "creator": "...",
  "producer": "..."
}
curl -X POST https://autopdfpilot.tech/v1/pdf/info \
  -H "X-API-Key: $AUTOPILOT_API_KEY" \
  -F "file=@document.pdf"

POST/v1/pdf/protect

Encrypt a PDF with a password.

FieldTypeRequiredDescription
filefileYesThe input PDF.
passwordstringYesThe password to encrypt the PDF with.

Returns: The password-protected PDF.

curl -X POST https://autopdfpilot.tech/v1/pdf/protect \
  -H "X-API-Key: $AUTOPILOT_API_KEY" \
  -F "file=@document.pdf" \
  -F "password=s3cret" \
  -o protected.pdf

POST/v1/pdf/unlock

Remove a known password from a PDF.

FieldTypeRequiredDescription
filefileYesThe input PDF.
passwordstringYesThe current password needed to decrypt the PDF.

Returns: The PDF with its password removed.

curl -X POST https://autopdfpilot.tech/v1/pdf/unlock \
  -H "X-API-Key: $AUTOPILOT_API_KEY" \
  -F "file=@locked.pdf" \
  -F "password=s3cret" \
  -o unlocked.pdf

POST/v1/pdf/extract-images

Pull the images out of a PDF.

FieldTypeRequiredDescription
filefileYesThe input PDF.

Returns: A ZIP archive of the extracted images.

curl -X POST https://autopdfpilot.tech/v1/pdf/extract-images \
  -H "X-API-Key: $AUTOPILOT_API_KEY" \
  -F "file=@document.pdf" \
  -o images.zip

Conversions

Convert PDFs to editable Office formats, and Office documents between formats.

POST/v1/pdf/to-word

Convert a PDF into an editable Word document.

FieldTypeRequiredDescription
filefileYesThe input PDF.

Returns: A Word document (.docx).

curl -X POST https://autopdfpilot.tech/v1/pdf/to-word \
  -H "X-API-Key: $AUTOPILOT_API_KEY" \
  -F "file=@document.pdf" \
  -o document.docx

POST/v1/pdf/to-excel

Convert a PDF's tables into an Excel spreadsheet.

FieldTypeRequiredDescription
filefileYesThe input PDF.

Returns: An Excel spreadsheet (.xlsx).

curl -X POST https://autopdfpilot.tech/v1/pdf/to-excel \
  -H "X-API-Key: $AUTOPILOT_API_KEY" \
  -F "file=@document.pdf" \
  -o document.xlsx

POST/v1/convert/office

Convert an office document to another format.

FieldTypeRequiredDescription
filefileYesThe source document to convert.
targetstringYesThe output format to convert to (e.g. pdf).

Returns: The converted file in the requested format.

curl -X POST https://autopdfpilot.tech/v1/convert/office \
  -H "X-API-Key: $AUTOPILOT_API_KEY" \
  -F "file=@document.docx" \
  -F "target=pdf" \
  -o document.pdf

OCR

Recognize text in scanned PDFs and images. Exact response formats are documented in the Swagger UI.

POST/v1/pdf/ocr

Recognize text in a scanned PDF and add a searchable text layer.

FieldTypeRequiredDescription
filefileYesThe input PDF.
langstringNoOCR language hint. Optional.

Returns: The OCR-processed PDF with a searchable text layer.

curl -X POST https://autopdfpilot.tech/v1/pdf/ocr \
  -H "X-API-Key: $AUTOPILOT_API_KEY" \
  -F "file=@scanned.pdf" \
  -o searchable.pdf

POST/v1/image/ocr

Recognize text in an image.

FieldTypeRequiredDescription
filefileYesThe image to run OCR on (e.g. PNG or JPG).
langstringNoOCR language hint. Optional.

Returns: The text recognized in the image.

curl -X POST https://autopdfpilot.tech/v1/image/ocr \
  -H "X-API-Key: $AUTOPILOT_API_KEY" \
  -F "file=@scan.jpg"

Quotas & errors

Each key can carry an optional monthly request quota. Errors are returned as JSON with an error field describing what went wrong.

401Missing or invalid key

The X-API-Key header was absent, malformed, or has been revoked.

{ "error": "Invalid or missing API key." }

429Monthly quota exceeded

The key has used its monthly request allowance. The quota field echoes the limit that was hit.

{ "error": "Monthly API quota exceeded.", "quota": 1000 }

Ready to build?

Create a key on your developer dashboard, or browse the full interactive schema in the Swagger UI.