Anthropic Install & Auth
Overview
Set up the official Anthropic SDK for Python or TypeScript and configure API key authentication. The SDK wraps the Claude Messages API at https://api.anthropic.com/v1/messages.
Prerequisites
- Node.js 18+ or Python 3.8+
- Package manager (npm, pnpm, yarn, or pip)
- Anthropic account with API access at console.anthropic.com
- API key from Console > API Keys
Instructions
Step 1: Install SDK
# Python
pip install anthropic
# TypeScript / Node.js
npm install @anthropic-ai/sdk
# With pnpm
pnpm add @anthropic-ai/sdk
Step 2: Configure API Key
# Set environment variable (recommended)
export ANTHROPIC_API_KEY="sk-ant-api03-..."
# Or add to .env file
echo 'ANTHROPIC_API_KEY=sk-ant-api03-your-key-here' >> .env
# Verify it's set
echo $ANTHROPIC_API_KEY | head -c 15
# Expected: sk-ant-api03-...
Step 3: Verify Connection (Python)
import anthropic
client = anthropic.Anthropic() # reads ANTHROPIC_API_KEY from env
message = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=64,
messages=[{"role": "user", "content": "Say hello in exactly 5 words."}]
)
print(message.content[0].text)
print(f"Model: {message.model}, Tokens: {message.usage.input_tokens}+{message.usage.output_tokens}")
Step 4: Verify Connection (TypeScript)
import Anthropic from '@anthropic-ai/sdk';
const client = new Anthropic(); // reads ANTHROPIC_API_KEY from env
const message = await client.messages.create({
model: 'claude-sonnet-4-20250514',
max_tokens: 64,
messages: [{ role: 'user', content: 'Say hello in exactly 5 words.' }],
});
if (message.content[0].type === 'text') {
console.log(message.content[0].text);
}
console.log(`Stop reason: ${message.stop_reason}`);
Output
- Installed SDK package (
anthropicfor Python,@anthropic-ai/sdkfor TS) - Environment variable
ANTHROPIC_API_KEYconfigured - Successful API response confirming authentication works
Error Handling
| Error | HTTP Code | Cause | Solution |
|-------|-----------|-------|----------|
| authentication_error | 401 | Invalid or missing API key | Verify key starts with sk-ant-api03- |
| permission_error | 403 | Key lacks required scope | Generate new key in Console |
| not_found_error | 404 | Invalid API endpoint | Ensure SDK is latest version |
| ModuleNotFoundError | N/A | SDK not installed | Run pip install anthropic or npm install @anthropic-ai/sdk |
| connection_error | N/A | Network/firewall blocking | Ensure HTTPS to api.anthropic.com is allowed |
Enterprise Configuration
# Custom base URL (for proxied environments)
client = anthropic.Anthropic(
api_key="sk-ant-...",
base_url="https://your-proxy.internal.com/v1",
timeout=60.0,
max_retries=3
)
# With explicit headers
client = anthropic.Anthropic(
default_headers={"anthropic-beta": "messages-2024-12-19"}
)
Security Considerations
- Never commit API keys to source control
- Use
.envfiles with.gitignoreexclusion - Rotate keys periodically via Console > API Keys
- Use separate keys per environment (dev/staging/prod)
- Consider Anthropic's Workspace feature for team key isolation
Resources
Next Steps
After successful auth, proceed to anth-hello-world for your first Messages API call.