AWS Bedrock cost tracking

Price Claude, Llama, Nova and every other Bedrock model call, attribute it to customers, and reconcile it to Cost Explorer by inference profile.

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

Bedrock bills for many labs' models. Veqen prices each call at Bedrock's own rates and counts it toward your AWS bill, then checks it against Cost Explorer.

Send calls

Claude through the Anthropic SDK's Bedrock client:

import veqen
from anthropic import AnthropicBedrock

veqen.init()  # reads VEQEN_API_KEY, an ingest key
client = veqen.wrap(AnthropicBedrock(aws_region="us-east-1"), feature="claims")

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

const client = wrap(new AnthropicBedrock({ awsRegion: "us-east-1" }), { feature: "claims" });

Other Bedrock models, or boto3's Converse API: route them through LiteLLM with a bedrock/ model, or call veqen.record() with the token counts Converse returns:

response = bedrock.converse(modelId=model_id, messages=messages)
usage = response["usage"]
veqen.record(model_id, provider="bedrock", input_tokens=usage["inputTokens"], output_tokens=usage["outputTokens"])

Cross-region inference profile ids (us., eu., global.) are priced as the model they route to.

Reconcile to the bill

Add an AWS connection under Settings › Connections with an access key that can read Cost Explorer (ce:GetCostAndUsage). Veqen imports Bedrock cost per model each day. Name a cost-allocation tag, such as the tag on your application inference profiles, to split the bill by team or product.

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.