🧩

PDF to DOCX (URL)

Fetch a remote PDF and return a downloadable DOCX

GET 10 credits /v1/convert/pdf-to-docx-url
curl -OJ "https://convert.toolkitapi.io/v1/convert/pdf-to-docx-url?url=https://toolkitapi.io/file.pdf&pages=example"
import httpx

resp = httpx.get(
    "https://convert.toolkitapi.io/v1/convert/pdf-to-docx-url?url=https://toolkitapi.io/file.pdf&pages=example",
)
print(resp.json())
const resp = await fetch("https://convert.toolkitapi.io/v1/convert/pdf-to-docx-url?url=https://toolkitapi.io/file.pdf&pages=example", {
});
const data = await resp.json();
console.log(data);
# See curl example
Response 200 OK
Binary DOCX stream
Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document
Content-Disposition: attachment; filename="output.docx"
Content-Length: 128473

Description

Fetch a remote PDF and return a downloadable DOCX

How to Use

1

1. Pass the source PDF URL as the `url` query parameter.

2

2. Optionally customize with the parameters listed below.

3

3. The server fetches, converts, and streams the DOCX as an attachment.

4

4. Use `curl -OJ` or a browser to trigger a download with the server-supplied filename.

About This Tool

Fetch a PDF document from a public URL and stream the converted DOCX file directly back. No Base64 juggling — perfect for `curl -O` or a browser `` link.

Why Use This Tool

  • One-step downloads — Let users click to download a DOCX built from a remote PDF
  • Server-side pipelines — Pipe remote PDFs straight into a conversion worker
  • Automation — Convert PDFs in cron jobs without local storage
  • Sharing — Produce shareable DOCX copies of PDF sources

Frequently Asked Questions

How big can the source file be?
Typical upper bound is 50 MB for the GET endpoint. Larger files may queue as async jobs via the POST variant.
Is the source URL cached?
No — the file is fetched fresh on every call. Add your own CDN in front if you need caching.
Can I supply authentication for the source?
Public URLs only. Private sources should be pre-fetched and sent via the POST endpoint as Base64.