This page covers the legacy Amazon Bedrock integration: the InvokeModel and Converse APIs with ARN-versioned model identifiers and AWS event-stream encoding. For models available on the Messages-API Bedrock endpoint, see Claude in Amazon Bedrock, which uses the Messages API at /anthropic/v1/messages with SSE streaming.
Calling Claude through Bedrock slightly differs from how you would call Claude when using Anthropic's client SDKs. This guide walks you through completing an API call to Claude on Bedrock using one of Anthropic's client SDKs.
Note that this guide assumes you have already signed up for an AWS account and configured programmatic access.
2.13.23aws sts get-caller-identityAnthropic's client SDKs support Bedrock. You can also use an AWS SDK like boto3 directly.
Go to the AWS Console > Bedrock > Model Access and request access to Anthropic models. Note that Anthropic model availability varies by region. See AWS documentation for latest information.
Claude Opus 4.7 is reachable through InvokeModel on bedrock-runtime.
These requests are served by the same infrastructure as the
Claude in Amazon Bedrock
endpoint. For the native Messages API request shape and full feature
parity, use that page. Claude Opus 4.7 is omitted from the model table
on this page because it does not have an ARN-versioned model ID.
| Model | Base Bedrock model ID | global | us | eu | jp | apac |
|---|---|---|---|---|---|---|
| Claude Opus 4.6 | anthropic.claude-opus-4-6-v1 | Yes | Yes | Yes | Yes | Yes |
| Claude Sonnet 4.6 | anthropic.claude-sonnet-4-6 | Yes | Yes | Yes | Yes | No |
| Claude Sonnet 4.5 | anthropic.claude-sonnet-4-5-20250929-v1:0 | Yes | Yes | Yes | Yes | No |
| Claude Sonnet 4 ⚠️ | anthropic.claude-sonnet-4-20250514-v1:0 | Yes | Yes | Yes | No | Yes |
| Claude Sonnet 3.7 ⚠️ | anthropic.claude-3-7-sonnet-20250219-v1:0 | No | Yes | Yes | No | Yes |
| Claude Opus 4.5 | anthropic.claude-opus-4-5-20251101-v1:0 | Yes | Yes | Yes | No | No |
| Claude Opus 4.1 | anthropic.claude-opus-4-1-20250805-v1:0 | No | Yes | No | No | No |
| Claude Opus 4 ⚠️ | anthropic.claude-opus-4-20250514-v1:0 | No | Yes | No | No | No |
| Claude Haiku 4.5 | anthropic.claude-haiku-4-5-20251001-v1:0 | Yes | Yes | Yes | No | No |
| Claude Haiku 3.5 ⚠️ | anthropic.claude-3-5-haiku-20241022-v1:0 | No | Yes | No | No | No |
For more information about regional vs global model IDs, see the Global vs regional endpoints section below.
The following examples show how to print a list of all the Claude models available through Bedrock:
import boto3
bedrock = boto3.client(service_name="bedrock")
response = bedrock.list_foundation_models(byProvider="anthropic")
for summary in response["modelSummaries"]:
print(summary["modelId"])The following examples show how to generate text from Claude on Bedrock:
from anthropic import AnthropicBedrock
client = AnthropicBedrock(
# Authenticate by either providing the keys below or use the default AWS credential providers, such as
# using ~/.aws/credentials or the "AWS_SECRET_ACCESS_KEY" and "AWS_ACCESS_KEY_ID" environment variables.
aws_access_key="<access key>",
aws_secret_key="<secret key>",
# Temporary credentials can be used with aws_session_token.
# Read more at https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html.
aws_session_token="<session_token>",
# aws_region changes the aws region to which the request is made. By default, we read AWS_REGION,
# and if that's not present, we default to us-east-1. Note that we do not read ~/.aws/config for the region.
aws_region="us-west-2",
)
message = client.messages.create(
model="global.anthropic.claude-opus-4-6-v1",
max_tokens=256,
messages=[{"role": "user", "content": "Hello, world"}],
)
print(message.content)See the client SDKs for more details, and the official Bedrock documentation.
You can authenticate with Bedrock using bearer tokens instead of AWS credentials. This is useful in corporate environments where teams need access to Bedrock without managing AWS credentials, IAM roles, or account-level permissions.
Bearer token authentication is supported in the C#, Go, and Java SDKs. The PHP, Python, TypeScript, and Ruby SDKs use AWS SigV4 signing only.
The simplest approach is to set the AWS_BEARER_TOKEN_BEDROCK environment variable, which is automatically detected by fromEnv() credential resolution.
To provide a token programmatically:
using Anthropic.Bedrock;
using Anthropic.Models.Messages;
var client = new AnthropicBedrockClient(
new AnthropicBedrockApiTokenCredentials
{
BearerToken = "your-bearer-token",
Region = "us-east-1",
}
);
var response = await client.Messages.Create(new MessageCreateParams
{
Model = "us.anthropic.claude-sonnet-4-5-20250929-v1:0",
MaxTokens = 1024,
Messages = [new() { Role = Role.User, Content = "Hello!" }],
});Bedrock provides an invocation logging service that allows customers to log the prompts and completions associated with your usage.
Anthropic recommends that you log your activity on at least a 30-day rolling basis in order to understand your activity and investigate any potential misuse.
Turning on this service does not give AWS or Anthropic any access to your content.
For all currently supported features on Bedrock, see API features overview.
PDF support is available on Amazon Bedrock through both the Converse API and InvokeModel API. For detailed information about PDF processing capabilities and limitations, see the PDF support documentation.
Important considerations for Converse API users:
For more details on the two document processing modes and their limitations, refer to the PDF support guide.
Claude Opus 4.6 and Claude Sonnet 4.6 have a 1M-token context window on Amazon Bedrock. Other Claude models, including Sonnet 4.5 and Sonnet 4 (deprecated), have a 200k-token context window.
Amazon Bedrock limits request payloads to 20 MB. When sending large documents or many images, you may reach this limit before the token limit.
Starting with Claude Sonnet 4.5 and all future models, Amazon Bedrock offers two endpoint types:
Regional endpoints include a 10% pricing premium over global endpoints.
This applies to Claude Sonnet 4.5 and future models only. Older models (Claude Sonnet 4 (deprecated), Opus 4 (deprecated), and earlier) maintain their existing pricing structures.
Global endpoints (recommended):
Regional endpoints (CRIS):
Using global endpoints (default for Opus 4.6, Sonnet 4.5, and Sonnet 4 (deprecated)):
The model IDs for Claude Sonnet 4.5 and 4 (deprecated) already include the global. prefix:
from anthropic import AnthropicBedrock
client = AnthropicBedrock(aws_region="us-west-2")
message = client.messages.create(
model="global.anthropic.claude-opus-4-6-v1",
max_tokens=256,
messages=[{"role": "user", "content": "Hello, world"}],
)Using regional endpoints (CRIS):
To use regional endpoints, remove the global. prefix from the model ID:
from anthropic import AnthropicBedrock
client = AnthropicBedrock(aws_region="us-west-2")
# Using US regional endpoint (CRIS)
message = client.messages.create(
model="anthropic.claude-opus-4-6-v1", # No global. prefix
max_tokens=256,
messages=[{"role": "user", "content": "Hello, world"}],
)Claude Mythos Preview is a research preview model available to invited customers on Amazon Bedrock. For more information, see Project Glasswing.
Was this page helpful?