Start with recorded spend
4 accepted money rows are grouped below. Different currencies are kept separate; these are reported costs, not a reconciled payable invoice.
Upload supported billing exports to see reported costs by provider, model or project. Files are processed in browser memory; review missing data and decide what to test next.
Explore model prices Analyze your own spend
Your bill stays in this browser. Selected files are processed in memory. Reload or clear to remove them. Export only when you choose.
OpenRouter CSV · OpenAI usage / cost JSON · Anthropic analytics JSON · ccusage Claude/Codex daily JSON · normalized CSV. Up to 20 files, 5 MB each. Processing happens in this browser.
Explore sample data first, or upload a supported export to replace it with your own data. Review coverage warnings before comparing costs.
Download sample CSV · Read the supported format guide
For a spreadsheet, use the normalized CSV columns in the guide. Leave unknown values blank; zero means a measured zero. Usage and cost reports can describe different scopes. Credits, taxes and refunds still need invoice reconciliation.
Selected exports, after duplicate and overlap checks. Currencies stay separate.
200,000 cache-read tokens reported
Known input: 2/2 rows; output: 2/2; cache reads: 2/2. Totals sum known values only.
rows with reported cost · 2 with token data
Missing model or project names stay “Unknown.” A provider cost export may report dollars without a model or project breakdown.
4 accepted money rows are grouped below. Different currencies are kept separate; these are reported costs, not a reconciled payable invoice.
Missing source dimensions remain unattributed. A project or model is not inferred from a price, API-key name or neighbouring usage report.
Price alone does not establish quality, latency, reliability or suitability. The price explorer can model an editable future text workload; that is not verified savings on this bill.
Use your reported token mix to explore a future volume through OpenRouter. This changes billing channel if your exports came from another provider. It does not reconcile a past invoice or verify savings.
We need request counts, input/output, cache reads and confirmed zero cache writes on the accepted usage rows. Duplicate or overlapping usage is excluded automatically. Missing data stays unknown.
Enter workload assumptions in the price calculator →Price catalogue: OpenRouter · observed Nov 7, 2026, 7:28 AM UTC
Review your largest costs and any missing data, choose one change to test, then download your analysis before closing this tab. Reloading clears your workspace. Keep the report to compare with your next billing period.
Continue with your assistant or local dashboard · Tell us what helped or where you got stuck
For feedback, describe the format and the decision you wanted to make. Please leave out bill files, credentials and private project details. Email opens your mail app; nothing is attached automatically.
Add ChatGPT, Claude, Cursor or another recurring plan manually. Annual plans are divided by 12. Subscription totals stay separate from reported API cost.
No subscriptions added yet. Add a plan and its seat count to see its monthly cost. Check actual usage before cancelling a plan.
Export a report for your team or an AI assistant. Review it before sharing.
Each issue reports what changed and what it means for a builder — every figure linked and dated. This sends only the address you type; your exports never leave this browser.
The bill-analysis skill and local MCP use this analysis engine. Your MCP client receives the data you give it; check your assistant’s own data settings.