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
| Method | Path | What it does |
|---|---|---|
| POST | /api/v1/jobs | Start 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/formats | Every format and the formats each can become. |
| GET | /api/v1/limits | Your 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.