Document SaaS
Add PDF→Word, compression, and OCR to your import flow without maintaining LibreOffice or Tesseract.
- POST /api/v1/process/compress-pdf
- POST /api/v1/process/pdf-to-images
- POST /api/v1/process/ocr
Partnerships & integrations
Automate file processing in your B2B apps, internal workflows, or white-label offers. Bearer API keys, documented quotas, job webhooks, and copy-paste examples.
Add PDF→Word, compression, and OCR to your import flow without maintaining LibreOffice or Tesseract.
Zapier, Make, or cron scripts: upload via API key, retrieve the download link as JSON.
Offer file sharing and PDF processing under your brand via iframe widgets or headless API.
cURL — compress a PDF
curl -X POST "https://webfiletools.com/api/v1/process/compress-pdf" \ -H "Authorization: Bearer wft_YOUR_KEY" \ -F "file=@document.pdf" \ -o document-compressed.pdf
Node.js — upload + public link
const form = new FormData();
form.append("file", blob, "photo.jpg");
const res = await fetch("https://webfiletools.com/api/upload", {
method: "POST",
headers: { Authorization: "Bearer wft_YOUR_KEY" },
body: form,
});
const { url, token } = await res.json();
console.log("Share link:", url);Python — async OCR (job polling)
import requests, time
r = requests.post(
"https://webfiletools.com/api/v1/process/ocr",
headers={"Authorization": "Bearer " + API_KEY},
files={"file": open("scan.png", "rb")},
)
job = r.json()
job_id, token = job["jobId"], job["ownerToken"]
while True:
st = requests.get(
f"https://webfiletools.com/api/jobs/{job_id}",
headers={"X-Job-Token": token},
).json()
if st["status"] == "done":
break
time.sleep(2)Full documentation: /en/api-docs
Unlimited API quota, 500 MB files, and priority webhooks with the Pro plan (coming soon). High-volume partners can request a dedicated SLA via /en/contact.