Search across all documentation pages
Every team that adopts Claude at the enterprise level eventually hits the same fork in the road: call the Anthropic API directly, or route through a cloud platform you already trust for everything else.
That decision is not really about which option is "better."
It is about which control plane you want to own, which compliance posture you already have in place, and how much operational overhead your team can absorb before it becomes a distraction from the product work.
This page builds the mental model tech leads use to make that call quickly, instead of re-litigating it on every new project.
The direct Anthropic API is the simplest of the three paths: you sign up, get an API key, and call https://api.anthropic.com with the official SDK.
There is no intermediary cloud account, no separate IAM system to configure, and no cloud-specific model ID prefix to remember.
Amazon Bedrock and Google Cloud Vertex AI are the two major cloud-platform paths.
Both let you call Claude using credentials and billing you already have inside AWS or Google Cloud, instead of managing a separate Anthropic account and invoice.
The trade is that you now authenticate through that cloud provider's identity system, not a bearer API key, and you request access to each Claude model before you can call it.
A simple way to hold all three in your head: the direct API is a vendor relationship, while Bedrock and Vertex AI are platform integrations that happen to be backed by Claude.
# Direct API - simplest starting point
import anthropic
client = anthropic.Anthropic() # reads ANTHROPIC_API_KEY from env
response = client.messages.create(
model="claude-sonnet-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Summarize this incident report."
That five-line example is the entire "getting started" cost of the direct API path.
The Bedrock and Vertex AI equivalents require IAM roles and service accounts to already exist before this same call can succeed.
The decision is really three separate questions layered on top of each other: who authenticates the request, who bills for it, and where does the data get processed.
On the direct API, all three answers are "Anthropic": you hold an API key issued by Anthropic, Anthropic bills you directly, and requests are processed on Anthropic's infrastructure.
On Bedrock, authentication runs through AWS IAM roles, billing flows through your existing AWS account (often against pre-committed cloud spend), and requests are processed within AWS's infrastructure using anthropic.-prefixed model IDs.
On Vertex AI, authentication runs through Google Cloud service accounts and project-level IAM, billing flows through your GCP billing account, and requests are processed within Google Cloud's infrastructure using project quotas and regional endpoints.
This is why the choice is rarely a pure technology decision.
A platform team that already has SOC 2 evidence, audit logging, and spend controls wired into AWS will lean toward Bedrock even if the direct API is objectively simpler to integrate, because the compliance work is already done at the cloud-account level.
A team with no existing cloud governance investment, or one shipping a prototype, usually gets to a working demo faster on the direct API, because there is no IAM role or service account to provision first.
Direct API: You <--API key--> Anthropic (auth, billing, processing all in one place)
Bedrock: You <--IAM role--> AWS <--Bedrock--> Claude (processing on AWS infra)
Vertex AI: You <--service account--> GCP <--Vertex--> Claude (processing on GCP infra)Model access itself is not automatic on either cloud platform.
Bedrock requires you to request access to each Claude model in the AWS console before your IAM role can invoke it, and for capacity- or latency-sensitive workloads you may need a cross-region inference profile rather than a single-region model ID.
Vertex AI requires a service account with the right IAM bindings, a project with sufficient quota for the model you want, and a regional endpoint chosen deliberately rather than left to a default.
Neither of these is a one-time setup you can forget about: model access requests, quota increases, and inference-profile choices all become part of your ongoing platform operations once you commit to a cloud path.
Feature parity is the sharpest edge of this decision, and it is easy to miss until it blocks a launch.
Anthropic ships new models, tool types, and API features on the direct API first; Bedrock and Vertex AI typically follow after a delay while each cloud provider integrates and certifies the release.
A team that standardizes on Bedrock or Vertex AI should expect to wait for capabilities that direct-API users already have in production, and should build that lag into its roadmap rather than discovering it during a feature push.
Procurement is the other force that outweighs pure technical merit in real organizations.
If your company already has a committed AWS or GCP spend agreement, routing Claude usage through Bedrock or Vertex AI lets that usage count against existing credits and simplifies vendor approval, because there is no new vendor to onboard, just a new service under an existing contract.
That procurement convenience is often the deciding factor for large enterprises, even when the direct API would otherwise be the technically simpler choice.
| Path | Strength | Weakness | Best Fit |
|---|---|---|---|
| Direct API | Fastest to integrate, first access to new features and models | Separate vendor relationship, separate billing and auth to manage | Startups, prototypes, teams without existing cloud governance requirements |
| Amazon Bedrock | Reuses AWS IAM, billing, and compliance posture | Feature and model availability lags the direct API; adds cross-region inference profile management | Teams already standardized on AWS with committed cloud spend |
| Google Cloud Vertex AI | Reuses GCP IAM, billing, and compliance posture | Feature and model availability lags the direct API; quota management is an ongoing task | Teams already standardized on GCP with committed cloud spend |
None of these paths is exclusive.
Many organizations run the direct API for latency-sensitive or feature-forward workloads while routing regulated or high-volume workloads through whichever cloud platform already carries their compliance certifications.
A self-hosted gateway in front of all three can make that split invisible to application code, routing each request to the right backend based on policy rather than hardcoding a provider per service.
The direct Anthropic API, Amazon Bedrock, and Google Cloud Vertex AI. All three call the same underlying models but differ in authentication, billing, and operational overhead.
The direct API. It needs only an API key and the official SDK, with no IAM role or service account to provision first.
No. You request access to each model in the AWS console, and IAM roles must be configured before those roles can invoke Bedrock.
A Bedrock construct that routes a single logical request across multiple AWS regions for capacity or latency reasons. Some models require one instead of a plain single-region model ID.
A Google Cloud service account with the right IAM bindings, sufficient project quota for the target model, and a chosen regional endpoint.
No. New models and features generally launch on the direct API first, with Bedrock and Vertex AI following after each cloud provider integrates and certifies the release.
Yes. It is common to run the direct API for feature-forward or latency-sensitive workloads while routing regulated or high-volume traffic through whichever cloud platform already carries the needed compliance certifications.
No. Model ID formats, authentication mechanisms, and monitoring integrations all differ, so migrating between paths is a real engineering effort, not a configuration toggle.
Routing Claude usage through an existing AWS or GCP contract avoids onboarding a new vendor and lets the spend count against committed cloud credits, which is often a faster approval path than a new direct vendor relationship.
Yes, for regulated workloads. Each path has different options for pinning where inference runs and where data is stored, which matters before launch for compliance-sensitive teams.
A gateway can sit in front of all three paths and route requests by policy, letting an organization use direct API, Bedrock, and Vertex AI together without hardcoding a single provider into application code.
Stack versions: Written against the Claude model lineup current as of ~June 2026 - Claude Fable 5, Claude Opus 4.8, Claude Sonnet 5 (the default), and Claude Haiku 4.5 - and the official
anthropicPython SDK (latest 0.x release). Model names, pricing, and SDK versions move quickly - verify current specifics at platform.claude.com/docs before relying on them.