FREE TOOL

Bedrock Billing Decoder

Paste Amazon Bedrock usage types, a Cost Explorer CSV or Cost and Usage Report rows: see the model, token type, service tier and routing behind each line, the spend per model, and why the numbers do not add up. Plus an application inference profile to split costs by application.

  • Your data never leaves your browser: everything is calculated by JavaScript on this page, not on a server.
  • Nothing you enter is uploaded, processed on a server or stored. Check it in your browser's developer tools (Network tab).
  • Once the page has loaded, the tool works without an internet connection.

Bill

Usage types, one per line; a Cost Explorer CSV download grouped by Usage type or Service; or Cost and Usage Report rows with their header. The last amount on a pasted line is read as its cost. It is read here and never leaves your browser.

Or try an example

See the result ↓
Cost allocation tags, Cost Explorer and cost-optimized architectures are Solutions Architect Associate topicsTry free SAA-C03 practice questions with answers and explanations.SAA-C03 questions →

How to read an Amazon Bedrock usage type

Every line of a Bedrock bill has a usage type: the source Region's billing code, the model, what is metered, and - when it is not the default - the service tier and the routing. The same model has one usage type per token type, tier and routing, each with its own price.

Usage typeReads as
USE1-Claude4.6Sonnet-input-tokensus-east-1, Claude Sonnet 4.6, input tokens, Standard tier, the model ID or a Geo profile
USE1-Claude4.6Sonnet-cache-read-input-token-countTokens read from the prompt cache - cheaper than input
USE1-Claude4.6Sonnet-output-tokens-cross-region-globalOutput tokens through a Global cross-Region inference profile
USE1-Nova2.0Lite-input-tokens-flexNova 2 Lite on the Flex tier; -priority and -batch work the same way
USE1-openai.gpt-oss-120b-mantle-input-tokens-standardThe bedrock-mantle endpoint (OpenAI-compatible APIs), Standard tier
USE1-NovaPro-ProvisionedThroughput-1month-ModelUnitsProvisioned Throughput model units with a 1-month commitment
USE1-MP:USE1_InputTokenCount-UnitsInput tokens of a model sold through AWS Marketplace - which model is in the service name, such as Claude Haiku 4.5 (Amazon Bedrock Edition), not in the usage type

Amazon's models and most other providers' - Llama, Mistral, DeepSeek, Qwen, gpt-oss and more - are billed under the Amazon Bedrock service. Some third-party models, such as Anthropic's Claude, Cohere, Stability AI and TwelveLabs, are sold through AWS Marketplace: each is a service of its own in Cost Explorer, under the AWS Marketplace billing entity. The Region code is the source Region - the one you called - which a cross-Region request is priced by, wherever it was processed.

Why the Bedrock bill does not add up

  • Cache tokens. Input, output, cache read and cache write tokens are four prices. Summing input and output misses the cache - AWS names this the most common gap.
  • Services outside "Amazon Bedrock". A Cost Explorer filter on Service = Amazon Bedrock leaves out every "(Amazon Bedrock Edition)" service. Filter on the billing entity, or add those services.
  • Grouping by usage type. The Marketplace models share their usage types, so grouped by usage type alone Cost Explorer adds them together. Group by Service first.
  • Routing and tiers. In-Region or Geo, Global, Standard, Flex, Priority and batch are each priced apart. Global is priced about 10% below Geo (AWS's figure for Claude Sonnet 4.5); Priority costs 75% more than Standard and Flex 50% less.
  • Capacity by the hour. Provisioned Throughput and the Reserved tier are billed per hour for their term, whether requests use them or not.
  • Tags from activation on. Cost allocation tags are not retroactive, and it can take up to 24 hours for a tag key to appear and 24 more to activate.
  • No per-request lines. CUR adds Bedrock costs up per usage type and hour or day. For the cost of one request or prompt, use model invocation logs and join them to CUR by model and usage type.
  • New models and anomaly alerts. Cost Anomaly Detection watches third-party Bedrock models too, but needs 10 days of a service's history - a model you just started using is not covered yet.

Split Bedrock costs by application, team or user

MethodSplits byWorks with
Application inference profileApplication or workload - its tags, one profile per modelInvokeModel and Converse on bedrock-runtime
ProjectApplication or workload - its tags, any modelResponses and Chat Completions on bedrock-mantle
IAM principalThe calling user or role, and its principal or session tagsBoth endpoints; needs a CUR 2.0 export with IAM principal data

An application inference profile is tied to one model, so every new model version needs a new profile. AWS recommends projects on bedrock-mantle, and IAM principal attribution for per-user costs - with a shared gateway role, through session tags. The three can be combined. A policy that allows the profile must also allow the model in every Region the profile routes to; an AccessDenied names the resource that is missing.

Frequently asked questions

Is my bill sent anywhere?

No. What you paste is read in your browser: nothing is uploaded, processed on a server or stored. The page only counts that the decoder was used, with which kind of export and which first check, never the bill.

Why does Claude not show up under Amazon Bedrock?

Anthropic's models on Bedrock are sold through AWS Marketplace. Cost Explorer lists each as its own service, such as Claude Sonnet 4.6 (Amazon Bedrock Edition), under the AWS Marketplace billing entity.

What is USE1-MP:USE1_InputTokenCount-Units?

Input tokens in us-east-1 of a model sold through AWS Marketplace. The usage type is the same for every such model; the service it is billed under tells which one.

Can I see what one request cost?

Not in Cost Explorer or CUR - they add costs up per usage type and hour or day. Model invocation logs carry each request's token counts; multiply them by the unit prices of the matching usage types.

Why do cache writes cost more than input?

Writing a prefix to the prompt cache is billed above the input price and reading it well below. The cache pays off when the prefix is read more often than written - the decoder compares both from CUR rows with usage amounts.

References

Understanding your Amazon Bedrock Cost and Usage Report data
Application inference profiles
IAM principal attribution
Projects
Create an application inference profile
Detecting unusual spend with AWS Cost Anomaly Detection
Amazon Bedrock pricing