Direct (BYOK)
Call providers from your own runtime with your own keys.
$0
- No FileRouter credits
- Pay providers directly
- Typed SDK and CLI
- Parse and compare locally
Optimize accuracy, reliability, latency, and cost across document providers through one durable API.
npx @file_router/cli@latest loginWorks with

Compare engines on your own documents, choose the tradeoffs, and compose the execution policy you need.
document
Source
FileRouter
Durable job


ParseResult
Normalized output
Switch engines or compare several without rebuilding uploads, jobs, or result handling. Keep the same typed result with provider-specific options when you need them.
import { FileRouter } from "@file_router/sdk"
const router = new FileRouter()
// Fast hosted engine for simple pages
const result = await router.parse(file, {
provider: "liteparse",
outputs: ["markdown", "pages"],
pageFields: ["markdown"],
})
No single engine wins every doc. Here's the tradeoff.
Overall vs ¢ / page · cheaper →
Scaled to supported providers (0.17¢–1.94¢/page) · 27 outliers hidden · Latest public leaderboard · accessed July 20, 2026 · 2,078 pages across insurance, finance, and government documents. Scores are 0–100; higher is better.
Use your provider keys for free, or use FileRouter credits for hosted processing.
Call providers from your own runtime with your own keys.
$0
Send documents through FileRouter for hosted processing.
Pay as you go
Custom deployment, support, and controls for your team.
Custom
Switch, compare, or combine engines while FileRouter handles durable execution, retries, results, and cleanup.