Skip to main content

Error format

All errors return a JSON body:
{
  "error": "quota_exceeded",
  "message": "Monthly quota of 100 documents exhausted. Upgrade your plan to continue."
}

Status codes

StatusMeaning
200Success
202Job accepted (async processing)
400Bad request — missing or malformed parameters
401Unauthorized — invalid or missing API key
404Not found — job ID does not exist or belongs to another tenant
413File too large — exceeds 50MB limit
422Unprocessable — file is not a valid PDF
429Quota exceeded or rate limit hit
500Internal server error — retry after a few seconds

Rate limits

PlanRequests/minute
Free10
Starter30
Growth100
Scale500
Rate limit headers are included in every response:
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 87
X-RateLimit-Reset: 1680000060