> ## Documentation Index
> Fetch the complete documentation index at: https://docs.filerouter.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# FileRouter: Provider-Neutral Document Parsing

> FileRouter gives you one unified API for document parsing across LlamaParse, Mistral OCR, and Datalab — hosted or with your own keys.

FileRouter is a provider-neutral document parsing service for TypeScript, the terminal, and the web. Instead of integrating each OCR and parsing provider separately, you call one consistent API and FileRouter handles the rest. Use the hosted service with a FileRouter API key, or run providers directly with your own credentials.

<CardGroup cols={2}>
  <Card title="Quick Start" icon="rocket" href="/quickstart">
    Parse your first document in minutes using the hosted API or TypeScript SDK
  </Card>

  <Card title="Authentication" icon="key" href="/authentication">
    Get your API key and authenticate requests to the hosted service
  </Card>

  <Card title="TypeScript SDK" icon="code" href="/sdk/installation">
    Install and configure the SDK for hosted or direct BYOK usage
  </Card>

  <Card title="CLI" icon="terminal" href="/cli/installation">
    Parse and compare documents from the terminal with the FileRouter CLI
  </Card>

  <Card title="Core Concepts" icon="book" href="/concepts/providers">
    Understand providers, inputs, outputs, and the job lifecycle
  </Card>

  <Card title="API Reference" icon="square-terminal" href="/api/overview">
    Explore the REST API endpoints, request shapes, and response contracts
  </Card>
</CardGroup>

## How It Works

FileRouter exposes two operations — `parse` and `compare` — that work the same way whether you use the hosted service, the TypeScript SDK, or the CLI.

<Steps>
  <Step title="Get an API key">
    Sign in at [filerouter.dev](https://filerouter.dev) to create an API key, or run `npx @file_router/cli login` to authenticate the CLI.
  </Step>

  <Step title="Choose your surface">
    Use the hosted `FileRouterClient` in TypeScript, the `@file_router/cli` CLI, or call the REST API directly with any HTTP client.
  </Step>

  <Step title="Parse a document">
    Send a file or URL and choose a provider. FileRouter normalizes the result into a consistent shape regardless of which provider processed it.
  </Step>

  <Step title="Compare across providers">
    Run the same document through multiple providers with a single `compare` call to evaluate output quality side by side.
  </Step>
</Steps>

## Supported Providers

FileRouter currently supports three document parsing providers:

| Provider    | ID            | Best For                                   |
| ----------- | ------------- | ------------------------------------------ |
| LlamaParse  | `llamaparse`  | Agentic PDF parsing, structured extraction |
| Mistral OCR | `mistral-ocr` | High-quality OCR across document types     |
| Datalab     | `datalab`     | Flexible document ingestion                |

<Tip>
  You can use the hosted FileRouter service without providing any provider API keys. FileRouter manages credentials for you. Switch to [BYOK mode](/sdk/direct-byok) if you want to use your own provider keys directly.
</Tip>
