ForHosting KIT · Documents & PDF

Convert PDF to Word

A PDF is a finished document, not a working one — the moment someone needs to fix a typo, update a clause, or repurpose a report, the format fights back. This endpoint converts a PDF into a real, editable DOCX so the file can be worked on again instead of retyped.

● StablePer request + per page$0.051
Use it from WebAPIEmailApp soonTelegram soon

Run this on our servers with your account. Free tools run in your browser; this one bills your KIT balance per the price above.

Why PDFs resist editing on purpose

PDF was built in the early 1990s to guarantee a document looks the same on any machine, which means it stores pages as fixed layouts of glyphs and positions rather than as flowing, structured text. That design choice is exactly why PDFs are trustworthy for sharing and terrible for editing: there is no paragraph to click into, no list to renumber, just shapes that happen to read as words. doc.pdf_to_word reverses that trade-off for the cases where editing matters more than fixed layout.

What actually happens during conversion

Send the file to POST /doc/pdf-to-word, get a task_id immediately, and receive the resulting DOCX by webhook or a signed link valid for 24 hours once the job finishes. Behind that single call, the page geometry gets reconstructed into paragraphs, headings, tables and lists so the output opens in any word processor as a document someone can actually type into, not a picture pretending to be one.

Where the conversion has limits

Text-based PDFs — the ones exported from a word processor or generated by software — convert with the most faithful structure, since the underlying text is already there to extract and re-flow. Scanned PDFs, which are really just images of pages, need character recognition first, and dense multi-column layouts or heavily designed pages will never map perfectly onto a linear document format; expect a close, workable draft rather than a pixel-identical clone.

Who reaches for this instead of retyping

Legal teams pull an old contract out of a PDF archive to redline a new version. HR departments update a policy document that only survives as a scanned PDF from years ago. Students and researchers convert a paper to extract and requote sections without transcribing paragraphs by hand. In every case, the alternative was manual retyping, and this endpoint replaces that hour of work with one API call.

How it slots into a document pipeline

Because the task is asynchronous and billed per request plus per page, it fits naturally into a batch job that walks a folder of PDFs overnight, or a single conversion triggered from a support ticket. The endpoint is finishing its rollout now, so plan integrations expecting availability soon, with the same async contract — submit, get a task_id, collect the result — that the rest of the API follows.

Redlining an old contract

A law firm converts a signed PDF agreement back into DOCX so it can track changes and negotiate an amendment in a word processor.

Reviving a scanned policy manual

An HR team turns a years-old scanned employee handbook, saved only as PDF, into an editable document they can finally update.

Quoting a research paper

A graduate student converts a journal PDF to extract and requote passages for a literature review instead of retyping them.

Batch archive migration

A records department runs an overnight job converting a folder of historical PDF reports into DOCX for a document management system.

How do I convert a PDF to Word with the API?

Send it to POST /doc/pdf-to-word, store the task_id you get back, and receive the DOCX file by webhook or a signed link valid for 24 hours.

Is the PDF to Word API free?

No, there's no free tier or trial. It costs $0.051 per request plus $0.003 per page, and a failed conversion is never charged.

Does it work on scanned PDFs?

Scanned PDFs are images of pages, so they need character recognition before conversion; text-based PDFs convert with more accurate structure.

Will the DOCX look exactly like the PDF?

Simple documents map closely; complex layouts with multiple columns or heavy design elements convert into a close, editable approximation rather than a pixel-perfect copy.

Is the endpoint live right now?

It's finishing deployment and should be accepting jobs soon; integrate against the documented contract now so you're ready when it opens.

Can I convert large or multi-page PDFs?

Yes, pricing scales per page on top of the base request fee, so long reports and short letters are both handled by the same call.

Can I batch-convert many PDFs at once?

Yes, submit each file as its own async task and collect the DOCX results by webhook as each one finishes.

What happens to my file after conversion?

The PDF and the resulting DOCX are deleted after the retention window and are never used to train any model.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/doc/pdf-to-word

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, and soon from our app, email and Telegram.

curl -X POST https://api.kit.forhosting.com/doc/pdf-to-word \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"pdf":"https://ejemplo.com/contrato.pdf"}'
{
  "pdf": "https://ejemplo.com/contrato.pdf"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "doc.pdf_to_word",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.051
Per page$0.003

Published price — no tokens, no invented credits. A failed task is never charged.

max_mb25
max_pages200
HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.
413input_too_largeThe file exceeds the size limit.

Read the full KIT documentation →