Anthropic Claude cost tracking

Price every Claude API call exactly, with prompt caching, Batch and Priority Tier, and reconcile it to Anthropic's cost report.

By Keyveve, Inc. · Updated 2026-10-23

Wrap the Anthropic client and every Messages call is priced at Anthropic's list rates: cache reads, 5-minute and 1-hour cache writes kept apart, Batch, long-context rates and Priority Tier.

Wrap the client

import veqen
from anthropic import Anthropic

veqen.init()  # reads VEQEN_API_KEY, an ingest key
client = veqen.wrap(Anthropic(), feature="assistant")

with veqen.tags(customer=org.id):
    client.messages.create(model="claude-sonnet-4-5", max_tokens=1024, messages=messages)
import Anthropic from "@anthropic-ai/sdk";
import { wrap, withTags } from "@veqen/sdk";

const client = wrap(new Anthropic(), { feature: "assistant" });

await withTags({ customer: org.id }, () =>
  client.messages.create({ model: "claude-sonnet-4-5", max_tokens: 1024, messages }));

Claude on Bedrock or Vertex? Wrap AnthropicBedrock or AnthropicVertex the same way and the calls count toward that cloud's bill: see AWS Bedrock and Google Gemini and Vertex AI.

Reconcile to the bill

Under Settings › Connections, add an organization-scoped Anthropic key with cost-report access. Veqen imports billed cost per model, and prices Priority Tier usage from the usage report, then compares both with what you tracked.

Next

Veqen records what every AI request cost and who it was for, checks it against your provider bills and prepares the entries for your accounting system. Start free or read the quickstart.