Developer API
mintparse API
Convert PDFs to clean, AI-ready Markdown straight from your code — the same pipeline behind the web app. Available on Pro and Max plans.
Overview
The API is a thin wrapper over the conversion pipeline: upload a PDF, poll the job, fetch the Markdown or a zipped bundle. Every request is authenticated with an API key. Conversions draw from your subscription's monthly page quota, falling back to your prepaid wallet — exactly like the web app.
Base URL
https://mintparse.com/api/v1 Authentication
Create an API key on your account page (Pro or Max plan). Send it as a Bearer token on every request:
Authorization: Bearer mp_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Keep keys secret — anyone with a key can spend your quota. Revoke a key anytime from your account page.
Convert a document
POST /api/v1/convert
Upload a single PDF as multipart form data under the field file.
Returns a job id to poll. Conversion runs asynchronously (~1–4 min).
curl -X POST https://mintparse.com/api/v1/convert \
-H "Authorization: Bearer $MINTPARSE_KEY" \
-F "file=@paper.pdf" Response · 202
{
"job_id": "a1b2c3d4-...",
"status": "queued",
"pages": 12
} Check job status
GET /api/v1/jobs/{job_id}
Poll every few seconds. status is one of
queued, processing,
done, failed.
{
"job_id": "a1b2c3d4-...",
"status": "processing",
"filename": "paper.pdf",
"pages": 12,
"progress_pct": 64,
"error": null
} Get the result
Once status is done,
fetch the Markdown directly, or download a zip bundle (Markdown +
extracted images).
GET /api/v1/jobs/{job_id}/markdown — returns text/markdown
GET /api/v1/jobs/{job_id}/download — returns a .zip bundle
Full example
A complete convert-poll-fetch loop in bash:
KEY="mp_live_..."
BASE="https://mintparse.com/api/v1"
# 1. Submit
JOB=$(curl -s -X POST "$BASE/convert" \
-H "Authorization: Bearer $KEY" \
-F "file=@paper.pdf" | jq -r .job_id)
# 2. Poll until done
while :; do
S=$(curl -s "$BASE/jobs/$JOB" -H "Authorization: Bearer $KEY" | jq -r .status)
[ "$S" = "done" ] && break
[ "$S" = "failed" ] && { echo "conversion failed"; exit 1; }
sleep 5
done
# 3. Fetch the Markdown
curl -s "$BASE/jobs/$JOB/markdown" -H "Authorization: Bearer $KEY" -o paper.md Errors
Errors return a JSON body {"detail": "..."} with these status codes:
400 Bad request — not a PDF, unreadable, or over the page limit 401 Missing or invalid API key 402 Insufficient quota and wallet balance — top up or upgrade 404 Job not found (or not owned by this key) 409 Job not finished yet — the result isn’t ready 413 PDF exceeds the size limit 429 Rate limit exceeded — slow down Rate limits & usage
- · Pro — 120 requests/minute
- · Max — 600 requests/minute
- · Pages convert against your monthly plan quota first, then your prepaid wallet.
- · A document over your remaining quota + wallet returns
402— top up your wallet or upgrade.
Ready to build? Create an API key →