Parse any file
into structured text

File in, LLM-ready text out. PDF, DOCX, XLSX, PPTX and images — clean markdown and structured JSON via one API call.

$ curl https://api.files2llm.com/jobs \
  -H "X-API-Key: f2l_..." \
  -F "file=@report.pdf"

{
  "job_id": "abc-123",
  "status": "queued"
}

What you get

Clean markdown out

Structured markdown plus plain text, page by page. LLM-ready — no layout noise, no boilerplate.

Every common format

PDF, DOCX, XLSX, PPTX and images through one endpoint, with consistent ParsedDocument JSON out.

Scanned PDFs & OCR

Handles scanned documents and images with OCR, so even non-digital files become text.

Sync or webhook

Poll for status or pass a callback URL - works for both interactive use and batch ingestion.

Language detection

Each document comes back with its detected language, ready for downstream routing.

Multiple keys per account

Rotate keys safely, label them per environment, revoke individually from the dashboard.

See it in action

Same API, three flavors. Pick your stack.

# Upload a file (PDF, DOCX, XLSX, PPTX, image)
curl -X POST https://api.files2llm.com/jobs \
  -H "X-API-Key: f2l_..." \
  -F "file=@report.pdf"

# Response
{"job_id":"abc-123","status":"queued"}

# Poll until parsed
curl https://api.files2llm.com/jobs/abc-123 \
  -H "X-API-Key: f2l_..."

# Fetch the structured result (text + markdown per page)
curl https://api.files2llm.com/jobs/abc-123/result \
  -H "X-API-Key: f2l_..."

Start parsing files in under a minute.

Get your API key →