Every AI bill,
in one place.

Provider invoices, seat licences and metered usage, added up and checked against each other, day by day.

Two lines of codeNo proxyFree to 50k requests
Sample stream 0 tokens $0.0000
app.tokenmeter.ai/overview
Token Meter Overview: spend, requests, verified savings and token charts for Acme Corp
AI Bill · each provider counted once
Improvements · verified
Reconciliation · drift

Tracks spend across the providers you already use.

One meter.
Three moves.

Measure every call, check it against what each provider bills, then act on what you find. These are the real screens.

01 · MEASURE

Every call, priced as it lands.

Wrap the client you already use. Each request carries its model, tokens, cost and the tags you give it.

Spend by model, gpt-4.1 at 53.2% of the OpenAI total, then by team, customer, feature or any tag.
02 · RECONCILE

Checked against the invoice.

What your calls cost is set against what each provider bills, day by day. Where they disagree, you see the gap before month end.

Anthropic metered $5,801.71, invoiced $5,190.39: drift detected, flagged before close.
03 · ACT

Find the savings. Cap the spend.

Opportunities found in your own traffic, each with a confidence and a monthly value. Budgets warn before they break.

Downgrade support ticket classification: High · 98% confidence, ~$1,420 a month.
app.tokenmeter.ai/analytics/spend
Spend by model table: gpt-4.1, gpt-4o-mini, gpt-4oSpend by model, from the SDK
Bill reconciliation table: OpenAI matched, Anthropic drift detectedAnthropic: drift detected
Improvements: three proposed opportunities with confidence and monthly savings~$1,420 a month, 98% confidence

Then see who spent it, and whether they paid for it.

app.tokenmeter.ai/customers
Customers and margin: revenue, cost and margin per customer, two customers margin-negative

Nimbus Logistics cost $6,840 to serve this month and lost money. Margin shows as a range while coverage has a gap.

Every screen
is the real app.

Keep scrolling to walk through it, or click a screen to jump to it.

Wrap it. Tag it.
Cap it.

Find the savings, cap the spend and decide who may call which model, from one place.

import { wrapOpenAI } from "@tokenmeter/sdk"; const openai = wrapOpenAI(new OpenAI(), tl); // every call now lands in Token Meter

Two lines of code. Usage is read from the response you already get. No extra hop, no proxy.

Customer margin. Revenue against what each customer costs you to serve.

Budgets and monitors. Caps on any team, customer or environment, with alerts at 80% and on projection.

Coding agents. Claude Code, Codex, Cursor, Copilot, Devin and any OpenTelemetry tool.

Improvements. Found in your own traffic, each with a confidence.

Your engineers' AI tools too. Seats graded by use, so a dormant one shows before the renewal.

Drop it into
the client you have.

  • SDK for TypeScript and Python. Wrap the client; usage ships in the background.
  • Or point at the router. Change the base URL and get routing, fallbacks and caching too.
  • Tag at the edge of a task. One action wraps every call inside it with the same customer and feature.
import OpenAI from "openai";
import { TokenMeterClient, wrapOpenAI, action } from "@tokenmeter/sdk";

const tl = new TokenMeterClient({ apiKey: process.env.TOKEN_METER_KEY! });
const openai = wrapOpenAI(new OpenAI(), tl);

await action("generate-report", { customerRef: "acme", feature: "reports" }, async () => {
  await openai.chat.completions.create({ model: "gpt-4o-mini", messages });
  // tagged customer_ref=acme, feature=reports
});
usage captured · gpt-4o-mini · 1,204 tokens · $0.0004 · customer_ref=acme

Month end,
with no surprises.

0billing sources checked, from admin keys to CSV
0coding tools tracked beside your API spend
0ways to slice the same total, plus your own tags

Priced on
what you measure.

No seats, no wrapper fee, no minimum. You pay on attributed requests, the ones Token Meter has actually measured.

Growth
$249/mo
2M attributed requests a month included
Most teams
10k50k250k500k1M2M10M25M25M+
Free forever under 50k requests. No card.Start measuring

Short answers
to good questions.

Anything else, the docs go deeper.

Read the docs →
What is Token Meter?

One place for every AI bill. It meters the calls your apps make, imports what each provider and seat vendor bills, adds it up with each provider counted once, and checks the two sides against each other day by day.

Do I need to route traffic through a proxy?

No. The SDK wraps the client you already use and reads usage from the response it already returns, then ships it in the background. The router is there if you want routing, fallbacks and caching as well.

Which providers does it cover?

OpenAI, Anthropic, Google Gemini, Amazon Bedrock and Azure OpenAI directly, plus OpenRouter, xAI, Mistral, Fireworks, Together AI, DeepInfra and the Vercel AI Gateway through the OpenAI-compatible wrapper. Any other bill comes in by CSV.

How does the invoice check work?

Metered cost is set against what the provider bills, from admin keys, AWS Cost Explorer, Azure Cost Management or a BigQuery billing export. A day where the two agree is confirmed, a day beyond the tolerance is flagged, and newer days wait for their invoice.

What counts as an attributed request?

A call Token Meter has actually measured and priced, with its tags. Imported invoice lines and seat licences do not count toward it.

Can it track Claude Code, Cursor and Copilot?

Yes. Coding tools report through their vendor analytics APIs, OpenTelemetry or the router. Seats are graded by use and agent spend sits beside your API spend, by team.

Does it support SSO?

Yes, SAML and OpenID Connect on Scale and Enterprise team workspaces, with domain verification and just-in-time membership.

See the whole bill
this week.

  • two lines of code
  • no proxy
  • free to start