Claude Prompt Caching: EU Prices and Setup 2026
Claude prompt caching in the EU: Sonnet 5.5 cache reads cost 0.10 USD plus 10 percent. Bedrock, Google and Foundry setup, break-even and residency pitfalls.
TL;DR
Claude prompt caching stores a stable prompt prefix and rereads it at a fraction of the input price. On Sonnet 5.5 a cache read is 0.10 USD per million tokens, 0.11 on EU endpoints. A 5-minute write pays off after the first hit. Pin EU inference with Bedrock eu.anthropic.claude-sonnet-5-5 or Google Europe multi-region. Foundry still has no EU data zone.
What is Claude prompt caching and when does it pay off?
Claude prompt caching writes a fixed prompt prefix once and rereads it at a fraction of the input price. It pays off when tools, the system prompt or documents stay above the minimum and repeat. On Sonnet 5.5, Opus 5.5 and Haiku 5.5 that minimum is 512 tokens. A 5-minute write pays off after one hit, a 1-hour write after two.
The prompt caching docs describe two paths. Automatic caching adds one top-level cache_control. The system puts the breakpoint on the last cacheable block and walks it forward as the conversation grows. Explicit breakpoints sit on individual blocks when prefixes change at different rates.
Prompt order is fixed: tools, then system, then messages. A tool change drops the whole cache. A system change drops system and messages. Put stable tool schemas and the system prompt first. Put the user question last.
You can cache tool definitions, system blocks, text, images, documents, tool_use and tool_result. Thinking blocks cannot take cache_control directly, but they count as input when they ride along in earlier assistant turns. Empty text blocks and citation sub-content cannot be cached. The source documents can.
Prompts under the minimum process without caching and without an error. Check cache_creation_input_tokens and cache_read_input_tokens. If both are 0, the prefix was too short. Which Claude model to pin for the task sits in Sonnet vs Opus.
What does Claude prompt caching cost in the EU?
Claude prompt caching in the EU follows the 10 percent rule on regional endpoints from Sonnet 4.5. Sonnet 5.5 lists 2 / 10 USD per million tokens globally, 2.50 for a 5-minute write, 4.00 for a 1-hour write, 0.10 for a read. On Bedrock EU and Google Europe that becomes 2.20 / 11, writes 2.75 and 4.40, reads 0.11. The multipliers stack with Batch.
The pricing page states the multipliers against base input: 1.25x for a 5-minute write, 2x for a 1-hour write, 0.1x for a read. Exceptions: Sonnet 5.5 and Opus 5.5 read at 0.05x. Fable 5.1 and Mythos 5.1 read at 0.025x. The full rate card is in our Claude API pricing comparison for the EU.
| Route | Input / Output | 5m write | 1h write | Cache read |
|---|---|---|---|---|
| Sonnet 5.5, Claude API global | 2.00 / 10.00 | 2.50 | 4.00 | 0.10 |
| Sonnet 5.5, Bedrock EU or Google Europe | 2.20 / 11.00 | 2.75 | 4.40 | 0.11 |
| Opus 5.5, Claude API global | 4.00 / 20.00 | 5.00 | 8.00 | 0.20 |
| Opus 5.5, Bedrock EU or Google Europe | 4.40 / 22.00 | 5.50 | 8.80 | 0.22 |
| Haiku 5.5 up to 100,000 tokens, global | 0.10 / 0.50 | 0.125 | 0.20 | 0.01 |
| Haiku 5.5 up to 100,000 tokens, EU | 0.11 / 0.55 | 0.1375 | 0.22 | 0.011 |
| US-only, Claude API or Foundry US zone | 1.1x the global row | 1.1x | 1.1x | 1.1x |
| Batch, Claude API | 50 percent of the row | as row | as row | as row |
Prices are USD per million tokens, Standard, 21 October 2026. The EU column is the documented 10 percent rule, not a published euro list. CCU on Claude Platform on AWS and Foundry stay 0.01 USD. One hundred CCU equal 1 USD.
Worked example, Sonnet 5.5 on an EU endpoint, 20,000-token prefix, 2,000 fresh tokens, 500 output tokens:
- First request, 5-minute write: 20,000 × 2.75 / 1,000,000 + 2,000 × 2.20 / 1,000,000 + 500 × 11 / 1,000,000 = 0.0649 USD.
- Second request, cache hit: 20,000 × 0.11 / 1,000,000 + 2,000 × 2.20 / 1,000,000 + 500 × 11 / 1,000,000 = 0.0121 USD.
- Two uncached requests: 2 × (22,000 × 2.20 / 1,000,000 + 0.0055) = 0.1078 USD.
- Write plus hit: 0.0770 USD.
Anthropic’s Managed Agents example with Opus 5.5, 50,000 input and 15,000 output, lands at 0.58 USD without cache and 0.428 USD when 40,000 tokens are cache reads, plus 0.08 USD session runtime.
AWS notes on the Bedrock pricing page that cache-read pricing for Claude Sonnet 5.5 is reduced by 50 percent from the prior Bedrock rate starting 7 October 2026. The fetched page does not print the new dollar figure in a table. Budget EU work from the Anthropic row plus 10 percent until Cost Explorer shows the Bedrock line.
How do you set up caching on Bedrock, Google and Foundry?
You put cache_control on the last block that stays identical across requests. On the Claude API and Foundry a top-level field is enough for automatic caching. On Bedrock with Opus 4.6 and earlier that field returns 400, so use explicit breakpoints. Sonnet 5.5 on Bedrock needs 512 tokens minimum and allows four checkpoints.
The Bedrock guide splits implicit caching (no markers, best effort) from explicit checkpoints. Per-model minima run from 512 to 4,096 tokens. Sonnet 5.5, Opus 5.5, Haiku 5.5 and Fable 5.1 sit at 512. Opus 4.6, Opus 4.5 and Haiku 4.5 sit at 4,096. Evaluation order is tools, system, messages. Cross-region inference can raise write volume under load. Caching is on-demand only. It is not supported with the batch inference API.
| Model | Minimum (Claude API, Google, Foundry) | Minimum Bedrock | TTL |
|---|---|---|---|
| Sonnet 5.5, Opus 5.5, Haiku 5.5, Fable 5.1 | 512 | 512 | 5 minutes, 1 hour |
| Sonnet 5, Sonnet 4.6, Opus 4.8 | 1,024 | 1,024 | 5 minutes, 1 hour |
| Opus 4.6, Opus 4.5, Haiku 4.5 | 4,096 | 4,096 | 5 minutes, 1 hour |
| Claude 3.7 Sonnet | 1,024 | 1,024 | 5 minutes only |
Steps for an EU Bedrock setup:
- Use profile
eu.anthropic.claude-sonnet-5-5from Frankfurt or another EU source on the model card. - Put stable tools and the system prompt first, the user question last.
- Place one checkpoint at the end of the static prefix, not on a timestamped block.
- For a 1-hour TTL set
"ttl": "1h". Omit the field on 5-minute-only models or you getValidationException. - Log
cacheWriteInputTokensandcacheReadInputTokens. A write with no later read costs more than an uncached call.
import json
import boto3
client = boto3.client("bedrock-runtime", region_name="eu-central-1")
body = {
"anthropic_version": "bedrock-2023-05-31",
"max_tokens": 512,
"system": "You are an internal assistant. Answer briefly.",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "Long policy text, examples and a glossary that clearly exceeds 512 tokens.",
"cache_control": {"type": "ephemeral", "ttl": "1h"},
},
{"type": "text", "text": "Summarise the travel-expense rule in three sentences."},
],
}
],
}
response = client.invoke_model(
modelId="eu.anthropic.claude-sonnet-5-5",
body=json.dumps(body),
)
payload = json.loads(response["body"].read())
print(payload.get("usage"))
Automatic caching on the Claude API, Google and Foundry:
import anthropic
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-sonnet-5-5",
max_tokens=512,
cache_control={"type": "ephemeral"},
system="You are an internal assistant. Answer briefly.",
messages=[{"role": "user", "content": "Summarise the travel-expense rule in three sentences."}],
)
print(response.usage)
Google requires identical text, images and the same cache_control on the same blocks. Caches stay inside one Google Cloud project. Foundry lists automatic caching plus 5-minute and 1-hour TTL. Cache reads there do not count toward ITPM. A first Bedrock call without a cache is in the Amazon Bedrock EU guide.
What residency and compliance traps sit around the cache?
Claude prompt caching does not move inference geography. EU pinning is still Bedrock eu.anthropic.claude-sonnet-5-5 or Google Europe multi-region. The first-party API accepts only global and us, and us is 1.1x on cache writes and reads. Foundry lists Global Standard and Data Zone Standard US, with no EU data zone. Google treats cache hashes as Service Data, not Customer Data.
The data residency docs keep workspace geo on us and immutable. inference_geo works from Claude 4.6. Older models return 400. How to set the pin is in Claude data residency in the EU. Processor roles for the four routes sit in the GDPR provider comparison.
Google’s caching page says Claude computes hashes only when caching is on. Extra Customer Data protections do not apply to those hashes. To disable caching for a project, contact Google support with the project number. After that, requests with cache_control are rejected.
Bedrock: from Frankfurt the EU profile routes to Frankfurt, Stockholm, Milan, Spain, Ireland and Paris. London as a source also includes London as a destination. High demand on cross-region can raise write volume. It does not leave the geo. Implicit caching does not guarantee a hit.
Foundry: Azure-hosted Sonnet 5.5, Opus 5.5 and Haiku 5.5 run in the US Data Zone. That is the same 1.1x as inference_geo: "us". For prompts with personal data, Foundry stays the third choice.
Prompt caching vs batch: which first?
Prompt caching vs batch is not an either-or on the Claude API: the multipliers stack. Batch halves input and output. Caching cheapens a repeated prefix. On Bedrock, caching is on-demand only and is not supported with the batch inference API. Foundry has automatic caching and both TTLs, but no Message Batches API. Cache chat and agents first. Batch overnight jobs.
The pricing page lists Sonnet 5.5 batch at 1 / 5 USD globally, so 1.10 / 5.50 on EU endpoints when the vendor publishes batch. Fast mode for Opus 5.5 (8 / 40 USD) stacks with caching and residency, is not on Bedrock or Google, and is not available with Batch.
We recommend:
- Chatbots, agents, coding assistants: automatic caching, 5-minute TTL, prefix above 512 tokens.
- Human pauses between 5 and 60 minutes: 1-hour TTL. Longer TTL must appear before shorter TTL in the prompt.
- Overnight jobs with no dialogue: Batch on the Claude API or Google Europe. Do not expect Bedrock batch plus cache.
- Residency required: Bedrock EU or Google Europe, 10 percent. Cache reads make the premium small.
Haiku 5.5 prices prompts over 100,000 tokens higher. Cache reads and cache writes count toward that prompt length. A request over the threshold pays the higher rate even when part of the prompt is a cache hit.
FAQ
What does Claude prompt caching cost on Sonnet 5.5 in the EU?
Globally 2.50 USD per million tokens for a 5-minute write, 4.00 for a 1-hour write, 0.10 for a read. With 10 percent on Bedrock EU or Google Europe: 2.75, 4.40 and 0.11. Output stays 11.00. There is no official euro list.
Prompt caching vs batch: which saves more?
On a repeated prefix, caching saves more than switching models. Batch halves the whole request and fits async volume. On the Claude API the two stack. On Bedrock, caching does not combine with batch inference. Foundry has caching and no Message Batches API.
Does automatic caching work on Amazon Bedrock?
On Sonnet 5.5 and newer Bedrock integrations, yes, if the top-level field is accepted. On the legacy integration for Opus 4.6 and earlier you get 400. Use explicit cache_control or cachePoint blocks there. Implicit caching without markers stays best effort.
Why is cache_read_input_tokens still 0?
The prefix is under the minimum, the breakpoint sits on a block that changes, tools moved, or the 20-block lookback missed the last write. Put the marker on the last stable block and read the usage fields.
Does Google store my prompts when I cache?
Google computes hashes only when caching is on and classifies them as Service Data, not Customer Data. The hashes exist for the cache. A project can turn caching off through support. Inference residency still comes from the Europe endpoint, not from the cache.
Does Microsoft Foundry have an EU data zone for cached Claude calls?
No. Foundry lists Global Standard and Data Zone Standard US. Automatic caching and both TTL values appear in the feature table. US Data Zone is 1.1x, including cache writes and cache reads. EU pinning stays on Bedrock or Google.
Sources
- Anthropic: Pricing (21 October 2026)
- Anthropic: Prompt caching (21 October 2026)
- Anthropic: Data residency (21 October 2026)
- AWS: Prompt caching (21 October 2026)
- AWS: Claude Sonnet 5.5 Model Card (21 October 2026)
- Amazon Bedrock Pricing (21 October 2026)
- Google Cloud: Claude prompt caching (21 October 2026)
- Google Cloud: Claude Sonnet 5.5 (21 October 2026)
- Microsoft Learn: Claude models in Foundry (21 October 2026)
- Microsoft Learn: Claude quotas and rate limits (21 October 2026)