Developer API

Convert 1,900 format pairs with one HTTP call, or let AI agents do it through our MCP server.

Quick start

Upload a file and name the format you want. No key is needed for up to 25 jobs a day.

curl -F "to=pdf" -F "file=@report.docx" https://convert.johnobidi.com/api/v1/jobs

Or convert a file that is already online:

curl -H "Content-Type: application/json" \
  -d '{"url":"https://example.com/photo.heic","to":"jpg"}' \
  https://convert.johnobidi.com/api/v1/jobs

Both return a job. Poll it until status is done, then download each file:

curl https://convert.johnobidi.com/api/v1/jobs/JOB_ID

{
  "id": "JOB_ID",
  "status": "done",
  "progress": 100,
  "files": [{ "name": "report.pdf", "size": 48211, "url": "https://convert.johnobidi.com/d/JOB_ID/report.pdf" }],
  "expires_at": "2026-10-19T22:10:00.000Z"
}

Endpoints

MethodPathWhat it does
POST/api/v1/jobsStart a conversion. Multipart with file and to, or JSON with url and to. Optional quality: high, balanced or small. Optional tool instead of to: compress-pdf, compress-video, compress-audio, ocr-pdf, pdf-to-pdfa, bank-statement-to-excel.
GET/api/v1/jobs/{id}Status, progress, queue position and download links.
DELETE/api/v1/jobs/{id}Delete the job and its files now.
GET/api/v1/formatsEvery format and the formats each can become.
GET/api/v1/limitsYour remaining free allowance today.

MCP server for AI agents

Add this address as a remote MCP server in Claude, ChatGPT or any MCP client. It offers three tools: list_conversions, convert_file (from a link) and get_job.

https://convert.johnobidi.com/mcp

In Claude Code: claude mcp add --transport http convert https://convert.johnobidi.com/mcp

Limits

Files up to 200 MB, 25 jobs a day per IP address, results kept for 60 minutes. Keys with higher limits, webhooks and S3 delivery are coming.