FileType Converters API
Convert files with the HTTP API
Use /api/v1 to check supported pairs, convert files, queue jobs, create batches, download outputs, and read usage. The API uses the same 584 enabled conversion pairs as the web converter.
1. Authenticate
Create a key in Dashboard → API and store it as FTC_API_KEY.
2. Check the pair
Call /api/v1/pairs before uploading so you know the engine, mode, and options.
3. Convert
Post a file or public URL, then stream the output or poll an async job.
Base URL and versioning
The production base URL is https://filetypeconverters.com. Version 1 endpoints live under /api/v1. Breaking changes use a new version path.
Public catalog endpoints need no key. Conversion, job, batch, and usage endpoints require a workspace API key from a Starter, Pro, or Scale plan.
Quickstart in three requests
export FTC_API_KEY="your-dashboard-key"
curl -sS "https://filetypeconverters.com/api/v1/pairs?from=csv&to=json"
curl -sS -X POST https://filetypeconverters.com/api/v1/convert \
-H "Authorization: Bearer $FTC_API_KEY" \
-F "file=@input.csv" \
-F "from=csv" \
-F "to=json" \
--output output.jsonEnd-to-end async example
This flow checks the pair, queues a job, polls until the status is succeeded, then downloads the output.
curl -sS "https://filetypeconverters.com/api/v1/pairs?from=csv&to=json"
JOB_ID=$(curl -sS -X POST "https://filetypeconverters.com/api/v1/convert?async=1" \
-H "Authorization: Bearer $FTC_API_KEY" \
-F "file=@input.csv" \
-F "from=csv" \
-F "to=json" | python3 -c 'import json,sys; print(json.load(sys.stdin)["jobId"])')
curl -sS https://filetypeconverters.com/api/v1/jobs/$JOB_ID \
-H "Authorization: Bearer $FTC_API_KEY"
curl -sS https://filetypeconverters.com/api/v1/jobs/$JOB_ID/download \
-H "Authorization: Bearer $FTC_API_KEY" \
--output output.jsonEndpoint index
Convert one file and stream the output in the response. Send multipart form data for local files, or JSON with a public URL when you want FileType Converters to fetch the input before converting it.
POST /api/v1/convert?async=1Queue a conversion and poll the job endpoint until it succeeds or fails. The API also queues files larger than 25 MB even when async is omitted.
GET /api/v1/pairsList supported conversion pairs or check one pair before you upload a file. Format values accept ids, extensions, and common names such as word, excel, and jpeg.
GET /api/v1/formatsReturn the enabled public format catalog and the enabled pair matrix. Use this when you need names, extensions, MIME types, format hubs, and canonical pair slugs.
GET /api/v1/jobs/{id}Poll an async conversion job that belongs to your workspace. A succeeded job includes a downloadUrl for the converted file.
GET /api/v1/jobs/{id}/downloadDownload the output bytes for a succeeded async job. Local storage streams through the API. Browser-reachable object storage may return a short-lived redirect.
POST /api/v1/batchesQueue several files with one source format and one target format. The response returns a batch id that you poll until a ZIP download is ready.
GET /api/v1/batches/{id}Read aggregate status for a batch. A finished batch includes succeeded and failed counts plus a ZIP download URL when an archive exists.
GET /api/v1/batches/{id}/downloadDownload the ZIP archive for a completed batch. The API streams local storage outputs and may redirect to short-lived object storage links.
GET /api/v1/usageReturn the workspace entitlements and this month's conversion and API request counts. Use it to show quota, max file size, batch size, and AI Deep Read credit balance before uploads.
GET /api/v1/openapi.jsonReturn the OpenAPI 3.1 document for code generation and API explorers. The document includes schemas for conversion, pairs, jobs, batches, usage, downloads, and shared error responses.
CLI and SDK
The filetypeconverters npm package wraps this API with no dependencies. It runs the same checks, uploads, async jobs and downloads described above, reads FTC_API_KEY from the environment, and prints warnings on stderr so output can be piped.
npx filetypeconverters convert photo.heic --to jpg
npx filetypeconverters convert scan.pdf --to md --deep-read
npx filetypeconverters pairs --from heic # public, no key neededPackage page: npmjs.com/package/filetypeconverters. For other languages, use /api/v1/openapi.json with your code generator to produce a typed client.