Pay for several model APIs out of your own pocket and your spend lives in a different console for each one. Spender reads it straight from OpenAI, Anthropic, DeepSeek, xAI and the rest — no account, no backend, keys in the macOS Keychain.
Where the number came from
A cost figure returned by the provider's own billing API. OpenAI, Anthropic and xAI report cost; OpenAI and Anthropic add tokens and a model breakdown, xAI adds models. Cost — not balance.
Derived, and labelled as such. DeepSeek publishes no cost history, so Spender computes spend from saved balance decreases — and says so on the card.
No report, no number. A metric a provider does not expose is left blank — never rounded down to $0.00.
No provider reports a remaining balance for OpenAI or Anthropic. You enter it once from Billing, and Spender deducts official spend from your number — not its own guess.
A typical spend dashboard
Total spend
$78.21
One confident figure. No way to tell which part a provider actually reported, which part was inferred, and which provider said nothing at all.
Spender
The same total, taken apart. $71.64 came from OpenAI and Anthropic billing APIs. $6.57 is DeepSeek, derived from balance decreases because DeepSeek publishes no cost history — and it never joins the official figure.
Every dashboard promises one clean total. To print it, they have to invent the parts nobody reports.
Spender refuses. Where the number is derived it says estimated, shows the method in one line, and keeps it out of the official total. You are the kind of person who knows the difference between a zero and a missing value. So is your spend tracker.
Per-provider totals carry their own badge, so a month's spend never blends official reports with estimates behind a single figure.
The daily chart is drawn from the same buckets — no smoothing, no backfill of days a provider never reported.
Billing APIs differ wildly. Rather than paper over that, Spender is explicit about what it can read from each connection.
Cost, tokens and model breakdown; balance calibrated by you
Cost, tokens and model breakdown; balance calibrated by you
Balance, plus spend derived from balance decreases
Prepaid balance, usage and model breakdown
Balance only
Key validation; balance and billing only with read-only BSS credentials
Remaining credits
Gemini, Perplexity and Mistral are hidden on purpose: an ordinary key from them reads no spend — Mistral's needs an Enterprise account — and key validation is not billing integration.
Three of the fourteen states a card can report
The latest provider data is available.
The provider returned only part of the requested report.
Connect this provider to load its available metrics.
Wording taken from the app itself — these are the strings a card actually shows.
A 340-point panel, sized to what it has to show, that drops out of the menu bar — not a browser in a window. Launches at login, refreshes in the background, and retains the last good snapshot rather than blanking the card.
There is no Spender server to sign up for and no credential proxy in the middle. The only requests it makes are to the provider APIs you connected yourself, restricted to declared HTTPS origins.
An OpenAI Organization Admin key, an Anthropic Console Admin key, a team-scoped xAI Management key — the narrowest read-only credential each provider supports, held in the macOS Keychain. Never your inference keys.
Install Spender, connect an OpenAI Organization Admin key or an Anthropic Console Admin key, and the menu bar panel shows what each provider's own billing API reports for today, yesterday and the last 30 days, with tokens and a breakdown by model.
No. Keys are stored in the macOS Keychain and used only for requests to the providers you connected, over declared HTTPS origins. There is no Spender account, no server and no credential proxy in between.
OpenAI, Anthropic, DeepSeek, Kimi, Qwen (Alibaba Cloud Model Studio), xAI Grok and OpenRouter. Each card says exactly what that provider reports: cost, tokens, balance or credits.
DeepSeek, Kimi, xAI and OpenRouter report it themselves, and so does Qwen with read-only billing credentials. OpenAI and Anthropic do not, so you enter it once from their Billing page and Spender subtracts each new official cost report from it.
An ordinary API key from them can call models but cannot read what the account has spent, and Mistral's billing API needs an Enterprise account. Spender does not use undocumented endpoints, because a wrong number is worse than no number.
Yes. It is free and open source under the MIT License and runs on macOS 14 or later. Download the signed, notarized DMG from GitHub Releases, or build it from the source.