DocForge

API

Document conversion, one HTTP call away

Convert PDF, DOCX, XLSX, PPTX, images and more from your application. Built on the same infrastructure that powers DocForge.app.

300+ format pairs

PDF↔DOCX, XLSX↔CSV, image↔image, anything↔TXT with OCR.

Stable & idempotent

Job IDs + webhook signatures. Safe to retry, never double-bill.

Predictable pricing

1 credit per file ≤ 50MB. OCR doubles. No per-page surprises.

Quickstart

  1. Sign up and grab a key from Dashboard → API keys.
  2. Upload your file via POST /v1/uploads/presign, then PUT to the returned URL.
  3. Create a conversion job with POST /v1/convert.
  4. Poll GET /v1/jobs/:id — or subscribe to a webhook.

cURL

curl -X POST https://api.docforge.cc/v1/convert \
  -H "Authorization: Bearer dfk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "pdf",
    "to": "docx",
    "inputFileId": "uuid-from-presign",
    "options": { "ocr": true, "ocrLang": "eng" }
  }'

Node.js

import { DocForge } from '@docforge/sdk';

const client = new DocForge(process.env.DOCFORGE_KEY!);

const job = await client.convert({
  from: 'pdf', to: 'docx',
  file: fs.createReadStream('./contract.pdf'),
  options: { ocr: true },
});

await job.waitUntilDone();
await job.download('./contract.docx');

Endpoints

MethodPathDescription
POST/v1/uploads/presignGet an upload URL + fileId.
POST/v1/convertCreate a conversion job.
GET/v1/jobs/:idJob status + progress.
GET/v1/jobs/:id/downloadStream the converted file.
POST/v1/billing/portalOpen Stripe customer portal.

Rate limits