How to Get Claude API Access in Under 10 Minutes
Getting access to Claude's API comes down to two questions: do you want to pay per token through Anthropic directly, or do you already have a Claude subscription (Pro or Max) that you'd rather turn into API access? Both are valid, and the right answer depends on how much you're building, how fast you need to ship, and whether you want a second bill on top of your existing subscription.
This guide walks through both routes end to end, with the actual steps, so you can pick one and start making requests today.
Route 1: Anthropic Console (pay-as-you-go)
This is the "official" way most tutorials describe. You create an Anthropic account, add a payment method, generate an API key, and pay per token consumed.
- Go to Anthropic's console and sign up with an email or Google account.
- Verify your email and accept the usage policies.
- Add a payment method — Anthropic requires this before you can generate a working key.
- Create an API key from the console. It will look like
sk-ant-.... - Store the key as an environment variable and start calling the Messages API.
A minimal request looks like this:
curl https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-4-5",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "Explain what an API key is"}]
}'
This route gives you full model access and the newest features first, but it's a separate cost stream billed by token — input and output are priced differently, and costs scale with usage that can be hard to predict during early development.
Route 2: Turn a Claude subscription into API access
If you already pay for Claude Pro or Max, you're already paying for a large amount of Claude usage — it's just locked inside the chat interface. SubToAPI exposes that access as a standard HTTPS API instead of making you open a second billing relationship with Anthropic.
The setup is short:
- Sign up at /signup using your existing Claude account.
- Generate an application key from the dashboard — it looks like
sub_live_.... - Point your code at SubToAPI's endpoint instead of Anthropic's.
curl https://api.subtoapi.app/v1/messages \
-H "Authorization: Bearer $SUBTOAPI_KEY" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-4-5",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "Explain what an API key is"}]
}'
Same request shape, same Messages API semantics — including streaming responses and tool use — but the usage rides on your subscription rather than a separate metered bill. This matters most for two kinds of builders: people prototyping internal tools who don't want to set up separate billing for a side project, and small teams who want one dashboard for multiple developers instead of individually managed Anthropic keys.
Plans start at €9/month for a solo developer, with Team (€19/seat) and Scale (€49/seat) tiers adding multiple application keys, seat management, and usage visibility across a team. There's a free trial at signup, so you can confirm it fits your use case before committing. See /pricing for the current breakdown.
Which route should you actually pick?
Use the Anthropic Console directly if:
- You're building a product that will scale to significant, unpredictable volume and need direct usage-based billing.
- You need the newest model or feature the moment it's released, before it reaches any third-party integration.
- You're comfortable managing a separate bill and rate limits from Anthropic.
Use SubToAPI if:
- You already have a Claude Pro or Max subscription and don't want to double-pay for API access.
- You're prototyping, building an internal tool, or shipping a small product and want predictable monthly cost instead of metered billing.
- You want multiple team members using Claude programmatically without issuing and tracking individual Anthropic keys.
Neither approach requires you to write different application logic — both use the same Messages API request and response format, so switching between them later is mostly a matter of changing the base URL and key.
Making your first real call
Whichever route you choose, the pattern is the same: pass a model name, a max_tokens limit, and a messages array with role and content. For streaming responses, add "stream": true and read the response as server-sent events instead of a single JSON blob — useful for chat UIs where you want tokens appearing as they're generated rather than waiting for the full response.
const response = await fetch("https://api.subtoapi.app/v1/messages", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.SUBTOAPI_KEY}`,
"content-type": "application/json",
},
body: JSON.stringify({
model: "claude-sonnet-4-5",
max_tokens: 1024,
stream: true,
messages: [{ role: "user", content: "Summarize this in one sentence." }],
}),
});
For a full walkthrough of authentication, request shapes, and available parameters, the /docs/quickstart and /docs/messages pages cover the details, and /docs/streaming and /docs/tools go deeper into streaming responses and tool use if your app needs either.
questions
Do I need a credit card to get a Claude API key? Through Anthropic's Console, yes — a payment method is required before your key can make live requests. Through SubToAPI, you sign up with your existing Claude subscription and start with a free trial, so no separate card is needed upfront.
Can I use my ChatGPT-style subscription instead of a metered API? Not with Anthropic directly — their Console is strictly pay-per-token. SubToAPI is built specifically to bridge that gap, turning your existing Claude Pro or Max access into a standard API with keys, streaming, and usage metadata.
Is the request format different between Anthropic and third-party access? No. SubToAPI mirrors the Messages API shape — same fields for model, messages, and max_tokens — so code written against one works against the other with just a base URL and key change.