Skip to main content
POST
Upload and parse a file
Upload a local or non-public document and convert it into clean, LLM-ready data. /parse accepts file bytes via multipart/form-data and returns Markdown, JSON, HTML, links, images, or a summary — with reading order and tables preserved.
  • Turn PDF, DOCX, XLSX, HTML, and more into Markdown or structured JSON
  • Up to 5x faster parsing via a Rust-based engine
  • Files up to 50 MB per request
  • Zero Data Retention support

When to use /parse

Use /parse when the source document is a local file or not publicly accessible by URL. If you have a public URL that points to a document, prefer /scrape — it auto-detects the file type from the extension or content type and parses it the same way.
Using Firecrawl through MCP? Use firecrawl_parse for local files. Local MCP can read the file directly when configured with FIRECRAWL_API_URL. Remote hosted MCP returns a short-lived upload command first, then parses the returned uploadRef. Public document URLs should still use /scrape.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

multipart/form-data
file
file
required

The file bytes to parse. Supported extensions: .html, .htm, .pdf, .docx, .doc, .odt, .rtf, .xlsx, .xls.

options
object

Optional parse options sent as JSON in the multipart options field.

Response

Successful response

success
boolean
data
object