← Blog
By the apillms team · Published 2026-10-18 · Usage tracking · API costs · Billing

Track AI API Spend: Usage Page and CSV Export Guide

Once you've got a key wired into Claude Code, Cursor, or a script, the next question is simple: where is the money going. Credits that never expire are forgiving, but "forgiving" can also mean "untracked" if you never look. This post walks through the tools that answer that question: the Overview page, the Usage page, and CSV export.

Start with Overview, for a quick pulse check

After you log in, Overview shows your current balance, spend today, and spend over the last 7 days, broken down by tokens. There's also a recent activity feed, which is the fastest way to confirm a request actually went through and what it cost. If you just wired up a new integration (say, Cline or OpenCode), this is where you check that traffic is really flowing through apillms before you trust it with real work.

Overview is good for "is something wrong right now." For anything more detailed, you want the Usage page.

The Usage page: today, 7 days, 30 days

Usage gives you three time windows: today, last 7 days, and last 30 days. Each window shows your spend over that period, which is enough to spot trends without digging into every request:

If you're mid-project and burning through a Starter pack faster than expected, the 30-day view combined with the by-product breakdown below tells you exactly why.

Breaking it down by product

Usage splits spend by product: chat completions, image generation, video generation, voice generation. This matters because these products have very different cost profiles. A single video job can cost more credits than hundreds of chat messages, so if your 30-day total looks high, checking the by-product split is the first thing to do before assuming your model usage got expensive.

For reference, rough per-unit costs on apillms:

If your by-product breakdown shows video or high-tier image models eating most of your budget, that's a model choice issue, not a usage-volume issue. Switching to a cheaper tier in Image studio or Video studio is often the quickest fix. See AI image generation API: Nano Banana, Flux and Seedream in one place and AI video generation API: settings, cost and wait times for the full model lists.

Filtering by type and status

Usage also lets you filter by request type and status. Status filtering is the more useful one day to day: it separates successful requests from failed ones. Since failed requests are not billed, a status filter showing a pile of failures costing nothing is a sign to look at your integration, not your wallet, but it's still worth knowing if something upstream is misconfigured (wrong base URL, bad model id, expired key) and quietly failing on every call.

Combine type and status filters to answer specific questions, like "how much did image generation cost me today, excluding failures" or "what's my chat spend on just one model over the last 7 days."

Exporting to CSV

The Export CSV button on the Usage page gives you a raw record you can open in a spreadsheet or feed into your own reporting. This is useful in a few cases:

Because credits never expire, there's no urgency to export before data disappears. Export is for your own record-keeping, not a deadline.

Practical habits that keep spend predictable

A few habits make the Usage page actually useful instead of just a page you glance at:

  1. Check 7-day spend weekly. It's frequent enough to catch a new habit (a new agent workflow, a heavier model) before it burns through a full pack.
  2. Filter by status after any integration change. New base URL, new model id, new MCP tool: check that requests are succeeding before you assume the integration works.
  3. Use the by-product split before switching models. If you're trying to cut costs, confirm where the money is actually going first. Sometimes it's not the chat model at all, it's a handful of expensive image or video jobs.
  4. Export CSV before topping up a large pack. If you're about to buy Scale ($100 = 23,000 credits), a quick look at the last 30 days of CSV data tells you how long that's likely to last at your current rate.

If you're also trying to lower the bill itself rather than just track it, prompt caching is on automatically and bills cache reads at a lower rate than fresh input. See Prompt caching explained: how cache reads cut LLM API costs for how that shows up in your usage data. And if you're comparing raw model pricing across providers, /compare has a live comparison against OpenRouter.

Takeaway

Overview answers "is everything fine right now." Usage answers "where did my money go, and why." Checking the 7-day view weekly, filtering by status after changes, and exporting CSV when you need a record are enough to keep your API spend from ever becoming a surprise.

Try apillms

One API key for Claude, GPT, Grok, DeepSeek and Kimi. OpenAI- and Anthropic-compatible, prompt caching included, pay-as-you-go from $5 with PayPal or card. Credits never expire.

Get an API key Compare prices

FAQ

Does checking the Usage page cost anything or use credits?

No. Viewing Overview, Usage, and exporting CSV are account management actions, not API requests, so they don't consume credits.

Why does my 30-day spend look higher than I expected even though chat usage seems normal?

Check the by-product breakdown. Image and especially video generation can cost more per job than hundreds of chat messages, so a few video jobs can dominate your total.

Are failed requests included in my Usage totals?

Failed requests are not billed, so they don't add to your spend totals, but you can still see them by filtering by status if you want to check for integration problems.

Can I get a longer history than 30 days?

The Usage page shows today, 7-day, and 30-day windows. Exporting to CSV periodically is the way to keep your own longer-term record.