Skip to content
pdfconversionapi

Conversions and formats

GET /v2/info lists every conversion with their format names, category and how many files each takes. Format aliases, and the names in a path that are tools rather than formats.

Contents (7 sections)

GET /v2/info returns every conversion the API offers as one JSON array. It needs no key. The same list, grouped by input format and with a filter, is on All conversions.

Get the list

Shell
curl -sS https://api.pdfconversionapi.com/v2/info -o conversions.json
jq length conversions.json
Output
556

The list is built into the API's gateway, so it changes only when we deploy a new version. Your code can fetch it once at startup and keep it. Three paths work without being in the list: file/to/pdf, file/to/md and office/to/pdf (below).

What an entry contains

Each entry describes one conversion. This is the entry for DOCX to PDF:

Output
{"From":"docx","To":"pdf","Title":"DOCX to PDF","Category":"Document","Inputs":"one"}
FieldWhat it holds
FromThe source format's main name, in lowercase. It is the {from} part of the path.
ToThe target format, or the name of a tool such as merge or compress. It is the {to} part of the path.
TitleA label: both names in capitals, joined by "to".
CategoryOne of 19 groups, such as Document, Spreadsheet or PDF Tools. All conversions groups by input format instead.
InputsHow many files the conversion takes: one, many or optional. See How many files a conversion takes.

Each entry is called as POST /v2/convert/{From}/to/{To}, for example POST /v2/convert/docx/to/pdf.

Check a conversion before you call it

jq can answer most questions about the list. This prints every target for DOCX files:

Shell
jq -r '.[] | select(.From == "docx") | .To' conversions.json | paste -sd ' ' -
Output
docx html jpg md odt pdf png protect rtf tiff txt webp xml

And this counts the conversions whose target is PDF, then lists the conversions in the PDF Tools category:

Shell
jq '[.[] | select(.To == "pdf")] | length' conversions.json
jq -r '.[] | select(.Category == "PDF Tools") | "\(.From)/to/\(.To)"' conversions.json | paste -sd ' ' -
Output
61
pdf/to/compress pdf/to/crop pdf/to/delete-pages pdf/to/docx pdf/to/extract pdf/to/extract-images pdf/to/flatten pdf/to/html pdf/to/image-watermark pdf/to/md pdf/to/merge pdf/to/meta pdf/to/ocr pdf/to/pdf pdf/to/pdf-watermark pdf/to/pdfa pdf/to/pptx pdf/to/protect pdf/to/repair pdf/to/rotate pdf/to/rtf pdf/to/split pdf/to/text-watermark pdf/to/unprotect pdfa/to/validate

The list holds main names only, so a lookup for jpeg finds nothing even though the API accepts it in a path. The versions below map the aliases first. Replace the paths in the loop with the ones your code calls.

# Needs the requests package: pip install requests
import requests

# Other names the API accepts in the path, and the main name each one stands for.
ALIASES = {
    "jpeg": "jpg", "jpe": "jpg", "jfif": "jpg", "tif": "tiff", "htm": "html",
    "markdown": "md", "text": "txt", "dicom": "dcm",
}


def main_name(fmt):
    fmt = fmt.strip().lower()
    return ALIASES.get(fmt, fmt)


response = requests.get("https://api.pdfconversionapi.com/v2/info", timeout=30)
response.raise_for_status()
pairs = {(c["From"], c["To"]) for c in response.json()}

for path in ["docx/to/pdf", "JPEG/to/pdf", "tif/to/png", "pdf/to/merge", "ps/to/pdf"]:
    source, _, target = path.split("/")
    supported = (main_name(source), main_name(target)) in pairs
    print(f"{path:14} {'yes' if supported else 'no'}")

Both print:

Output
docx/to/pdf    yes
JPEG/to/pdf    yes
tif/to/png     yes
pdf/to/merge   yes
ps/to/pdf      no

We ran every example on this page on 2026-11-02 against the API server running locally in a container, with only the base URL changed (curl 8.7.1, jq 1.8.1, Python 3.14.2 with requests 2.34.2, Node.js 24.15.0).

A conversion that isn't in the list gets a 404 that names the pair, for example conversion from ps to pdf is not supported.

Format names and aliases

  • Format names in the path are case-insensitive: DOCX/to/PDF and docx/to/pdf are the same conversion.
  • They may contain letters, digits and hyphens, up to 20 characters. Anything else gets 400 invalid format in the URL.
  • Some formats have more than one common name. The API reads each alias as the main name:
In the pathRead as
jpeg, jpe, jfifjpg
tiftiff
htmhtml
markdownmd
texttxt
dicomdcm

GET /v2/info and error messages always use the main name: jpeg/to/dwg gets conversion from jpg to dwg is not supported.

How many files a conversion takes

The Inputs field says which file fields a conversion reads. Requests explains the fields themselves.

InputsConversionsWhat to send
one550Exactly one file, in File.
manypdf/to/merge, images/to/pdf, images/to/join, file/to/zipUp to 50 files, each in a Files field. pdf/to/merge and images/to/join need at least two.
optionaldata/to/qrcode, data/to/barcodeThe text in the Data parameter, or one text file in File.

Names that are tools, not formats

{to} is not always a file format. For PDFs it can name a tool: merge, split, compress, rotate, protect, unprotect, ocr, crop, flatten, repair, delete-pages, extract, extract-images, extract-attachments, meta, rasterize, resize, text-watermark, image-watermark and pdf-watermark. Our pdf/to/extract copies the pages you list in PageRange into a new PDF.

Outside PDFs:

  • jpg/to/compress and png/to/compress re-encode an image to make the file smaller (PNG without loss).
  • docx/to/protect, pptx/to/protect and xlsx/to/protect add a password to the file.
  • png/to/qrdata, and the same path for BMP, GIF, JPG, TIFF and WebP, reads a QR code from the image and returns its text as JSON.

A few {from} names describe what you send rather than a file type:

{from}What you sendConversions
imagesImage files, in Filesimages/to/pdf (one page per image), images/to/join (one image)
fileFiles of any type, in Filesfile/to/zip
fileOne file whose name ends in its format, such as report.docxfile/to/pdf and file/to/md, which convert the file as the path for its format would (docx/to/pdf for report.docx). A format with no such path gets that path's 404, for example conversion from ps to pdf is not supported.
officeOne Word, Excel or PowerPoint file or template, or a WPD, RTF, LOG or CSV file, named with its formatoffice/to/pdf. Other formats get a 400 that names the path to use: office/to/pdf takes Word, Excel and PowerPoint files; send a .png file to /v2/convert/png/to/pdf.
dataText, in the Data parameter or a text filedata/to/qrcode, data/to/barcode
emailAn EML or MSG fileemail/to/extract (its attachments), email/to/metadata (sender, recipients, date and more, as JSON)
barcode, qrcodeAn image or PDF with codes on itbarcode/to/data, qrcode/to/data (what was read, as JSON)
pdfaA PDF/A filepdfa/to/validate (a JSON report with a compliant field)

file/to/pdf, file/to/md and office/to/pdf are not in GET /v2/info, because each one stands for many conversions. An upload whose name doesn't end in a format, such as report, gets 400 file/to/pdf needs the uploaded file's name to end in its format, such as report.docx. Options are checked as on the format's own path, so PageRange sent to office/to/pdf with a DOCX file gets PageRange is not supported yet for DOCX → PDF.

What the list does not tell you

  • Which options a conversion applies. The guides for common conversions list them, for example DOCX to PDF, PDF to JPG and Merge PDF. For the rest, the rule in Requests applies: a documented option we can't apply gets a 400 that names it.
  • Size and time limits. Most are the same for every conversion. Limits lists them, with the exceptions, such as HTML that needs a browser.