LeaflyPDF API
250 jobs/month free, then from €0.005/job · REST + webhooks · SDKs
OpenAPI reference · openapi.json · API keys
1. Create a job
curl -X POST https://api.leaflypdf.com/v1/jobs \
-H "Authorization: Bearer $LEAFLYPDF_KEY" \
-F tool=compress \
-F 'options={"preset":"recommended"}' \
-F file=@input.pdf2. Poll or receive a webhook
curl https://api.leaflypdf.com/v1/jobs/$JOB_ID -H "Authorization: Bearer $LEAFLYPDF_KEY" # webhook: POST with header LeaflyPDF-Signature: t=<ts>,v1=<hmac-sha256(secret, "<ts>.<body>")>
3. Download
curl -o out.pdf https://api.leaflypdf.com/v1/jobs/$JOB_ID/outputs/0 -H "Authorization: Bearer $LEAFLYPDF_KEY"
SDKs
npm i @pdfworks/sdk
import { PdfWorks } from '@pdfworks/sdk';
const pw = new PdfWorks({ apiKey: process.env.LEAFLYPDF_KEY });
const [out] = await pw.run('merge', [a, b]);
pip install pdfworks
from pdfworks import PdfWorks
PdfWorks(api_key=KEY).run("ocr", ["scan.pdf"], {"langs": ["deu"]})Tools (68)
| id | Tools | engine |
|---|---|---|
| merge | Merge PDF | local |
| split | Split PDF | local |
| remove-pages | Remove pages | local |
| extract-pages | Extract pages | local |
| organize | Organize PDF | local |
| rotate | Rotate PDF | local |
| remove-blank-pages | Remove blank pages | local |
| insert-blank | Insert blank page | local |
| alternate-mix | Alternate & mix | local |
| split-half | Split pages in half | local |
| n-up | N-up | local |
| scan | Scan to PDF | local |
| compress | Compress PDF | local |
| repair | Repair PDF | local |
| ocr | OCR PDF | hybrid |
| deskew | Deskew | local |
| grayscale | Grayscale PDF | local |
| linearize | Web optimize | local |
| flatten | Flatten PDF | local |
| images-to-pdf | JPG to PDF | local |
| word-to-pdf | Word to PDF | server |
| excel-to-pdf | Excel to PDF | server |
| powerpoint-to-pdf | PowerPoint to PDF | server |
| html-to-pdf | HTML to PDF | server |
| text-to-pdf | Text to PDF | local |
| epub-to-pdf | EPUB to PDF | server |
| pdf-to-images | PDF to JPG | local |
| extract-images | Extract images | local |
| pdf-to-word | PDF to Word | local |
| pdf-to-excel | PDF to Excel | local |
| pdf-to-powerpoint | PDF to PowerPoint | local |
| pdf-to-pdfa | PDF to PDF/A | local |
| pdf-to-text | PDF to Text | local |
| pdf-to-markdown | PDF to Markdown | local |
| attachments | Extract attachments | local |
| edit | Edit PDF | local |
| edit-text | Edit text | local |
| page-numbers | Page numbers | local |
| header-footer | Header & footer | local |
| watermark | Watermark | local |
| overlay | Overlay PDF | local |
| bates | Bates numbering | local |
| crop | Crop PDF | local |
| resize | Resize pages | local |
| flip | Flip pages | local |
| metadata | Edit metadata | local |
| bookmarks | Edit bookmarks | local |
| fill-form | Fill PDF form | local |
| create-form | Create form | local |
| protect | Protect PDF | local |
| unlock | Unlock PDF | local |
| sign | Sign PDF | local |
| request-signatures | Request signatures | server |
| redact | Redact PDF | local |
| compare | Compare PDF | local |
| chat | Chat with PDF | server |
| summarize | AI Summarizer | server |
| translate | Translate PDF | server |
| questions | Question generator | server |
| extract-data | Extract data | server |
| smart-rename | Smart rename | server |
| smart-split | Smart split | server |
| smart-redact | AI redaction | server |
| einvoice | E-invoice viewer | local |
| create-zugferd | Create ZUGFeRD | local |
| accessibility | Accessibility check | local |
| alt-text | Alt text suggestions | server |
| inspect | PDF info | local |