What usage data we capture, per provider
An honest, current view of what the AI Explorer can break your AI usage down by — provider by provider. Where a provider reports tokens, you get tokens by model (and project or user where it exists). Where it doesn’t yet, we show the spend and say so — no empty columns implying missing data.
| Provider | Captured today | Tokens | Model | Project | User | Notes |
|---|---|---|---|---|---|---|
| OpenAI | Tokens | Fullest coverage — token usage by model, project, and user via the Usage API. | ||||
| Anthropic (Claude API) | Cost · tokens with admin key | Partial | Partial | Partial | A standard connection tracks cost today; token-level usage (by model and user) needs an Anthropic admin key with Claude Code Analytics enabled. | |
| Claude Code | Cost (today) | Usage arrives via OpenTelemetry as a cost figure today; the per-token metric is received but not yet surfaced as tokens (on the roadmap). | ||||
| Cursor | Tokens | Token-based (Max / API-key) calls carry the full split; request-based calls have no token breakdown. | ||||
| Codex | Credits | Local telemetry in credits by model and user; not broken out into token counts. | ||||
| Google Vertex AI | Tokens | Read from the GCP billing export — no SDK. By model and project; no user axis natively. | ||||
| Gemini API | Tokens | Token-denominated billing SKUs parsed from the GCP export, by model and project. | ||||
| AWS Bedrock | Cost | Spend today via Cost Explorer; model/token-level is on the roadmap (CUR 2.0 / CloudWatch). | ||||
| Azure OpenAI | Cost | Spend today via Cost Management; token-level is on the roadmap (Azure Monitor). | ||||
| Grok (xAI) | Cost | Spend today; token capture (model-level, no user axis) is on the roadmap. | ||||
| Hugging Face | Requests | Partial | Inference requests and cost; no per-token series exists to capture. |
captured today · Partial = limited or needs provider-side setup · not captured today. Cost is always tracked, even where token-level usage isn’t yet.
Why coverage is ragged — and why that’s the honest answer
Every AI provider exposes usage differently. Some hand you tokens by model, project, and user (OpenAI); some give tokens by model with no user axis (Vertex); some only bill per request (Hugging Face) or expose cost with no token feed yet (Bedrock, Azure). StackSpend attributes each provider down to the deepest level it actually supports — and stops there, with a coverage flag explaining why, rather than capping everything at the weakest shared dimension or faking an empty column. Cost is always captured; token depth grows as vendors (and our connectors) expose more.
AI provider coverage — FAQ
Which AI providers report token-level usage in StackSpend?
Today, token-level usage flows for OpenAI (via the Usage API), Cursor (token-based calls), and Google Vertex AI and Gemini (read from the GCP billing export). Anthropic token-level usage needs an admin key with Claude Code Analytics enabled; Claude Code via OpenTelemetry and Codex currently arrive as cost and credits respectively, not token counts. AWS Bedrock, Azure OpenAI, and Grok are captured at the cost level today, with token-level coverage on the roadmap; Hugging Face reports requests rather than tokens.
Does GCP billing show token usage?
Yes — Google’s billing export itemises Vertex AI and Gemini generative usage with token-denominated SKUs (model, direction, and token count). StackSpend reads tokens straight from that export, so you get Vertex and Gemini token usage by model and project with no SDK, proxy, or code change.
Why is some AI spend cost-only?
For providers where the vendor does not yet expose token-level usage in a feed we ingest (AWS Bedrock, Azure OpenAI, Grok today), StackSpend still tracks the spend and shows it in the Cost Explorer — it just cannot break that spend down into tokens by model until the token feed is added. Coverage flags in the product make this explicit rather than showing a misleading total.
Can I get per-user AI usage?
Where the provider reports it — OpenAI, Claude Code, Cursor, and Codex expose a user dimension. Google Vertex, Azure, and Grok have no native user axis, so per-user usage there requires a gateway or proxy you add yourself. StackSpend shows user-level data where it exists and marks where it does not, rather than padding an empty column.