Claude API: Anthropic SDK Tutorial & Beispiele 2026
Aktualisiert: März 2026 · Lesezeit: ca. 18 Minuten
Du willst KI in deine eigene App einbauen und suchst eine Alternative zur ChatGPT-API? Dann solltest du dir die Claude API von Anthropic genauer ansehen – dem Unternehmen hinter Claude AI im Test. Während OpenAI das Ökosystem dominiert, hat sich Anthropics API still und leise zu einer der leistungsfähigsten Schnittstellen für Large Language Models entwickelt – mit einem 200K-Token-Kontextfenster, nativem PDF-Support und einem der besten Reasoning-Modelle auf dem Markt.
In diesem Tutorial zeige ich dir Schritt für Schritt, wie du die Anthropic API einrichtest, deine erste Anfrage sendest und fortgeschrittene Features wie Vision, Tool Use und Streaming nutzt. Mit echten Python-Code-Beispielen, die du sofort kopieren und einsetzen kannst.
Claude API Key erstellen: Schritt für Schritt
Bevor du eine einzige Zeile Code schreibst, brauchst du einen Claude API Key. So bekommst du ihn:
1. Account auf der Anthropic Console anlegen
Gehe auf console.anthropic.com und erstelle einen Account. Du kannst dich mit E-Mail oder über Google anmelden. Nach der Registrierung bestätigst du deine E-Mail-Adresse.[1]
2. Billing einrichten
Navigiere zu Settings → Billing und hinterlege eine Kreditkarte. Anthropic bietet neuen Accounts ein kostenloses Startguthaben von 5 US-Dollar – damit kannst du die API ausgiebig testen, bevor echte Kosten entstehen. Du kannst außerdem ein monatliches Ausgabenlimit setzen, um Überraschungen zu vermeiden.
3. API Key generieren
Unter API Keys klickst du auf „Create Key“, vergibst einen Namen (z. B. „mein-chatbot-projekt“) und kopierst den Schlüssel sofort. Wichtig: Der Key wird nur einmal angezeigt. Speichere ihn in einer .env-Datei oder deinem Secrets-Manager.
# .env Datei
ANTHROPIC_API_KEY=sk-ant-api03-xxxxxxxxxxxxxxxxxxxxxxxx
Erste API-Anfrage: Python-Beispiel mit der Messages API
Die Claude Messages API ist der zentrale Endpunkt für alle Interaktionen. Hier ist dein erstes funktionierendes Beispiel:[2]
SDK installieren
pip install anthropic
Minimales Python-Beispiel
import anthropic
client = anthropic.Anthropic() # liest ANTHROPIC_API_KEY aus Umgebungsvariablen
message = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=1024,
messages=[
{"role": "user", "content": "Erkläre mir Docker in 3 Sätzen."}
]
)
print(message.content[0].text)
Das war’s – sechs Zeilen produktiver Code. Der Client liest den API Key automatisch aus der Umgebungsvariable ANTHROPIC_API_KEY. Die Antwort kommt als strukturiertes Objekt zurück, wobei message.content[0].text den eigentlichen Text enthält.
Alternative: Direkt per cURL
Wenn du die API ohne SDK testen willst, geht das auch per cURL:
curl https://api.anthropic.com/v1/messages
-H "content-type: application/json"
-H "x-api-key: $ANTHROPIC_API_KEY"
-H "anthropic-version: 2023-06-01"
-d '{
"model": "claude-sonnet-4-20250514",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "Was ist Kubernetes?"}
]
}'
Claude-Modelle und Preise im Überblick
Anthropic bietet drei Modell-Klassen an, die sich in Leistung, Geschwindigkeit und Preis unterscheiden. Die Wahl des richtigen Modells hat direkten Einfluss auf deine Kosten und die Qualität der Ergebnisse.[3]
| Modell | Input / 1M Tokens | Output / 1M Tokens | Kontext | Ideal für |
|---|---|---|---|---|
| Claude Haiku | 0,25 $ | 1,25 $ | 200K | Klassifikation, einfache Antworten, hoher Durchsatz |
| Claude Sonnet | 3 $ | 15 $ | 200K | Coding, Analyse, die meisten Produktions-Use-Cases |
| Claude Opus | 15 $ | 75 $ | 200K | Komplexes Reasoning, Forschung, schwierige Aufgaben |
Was bedeutet das in der Praxis? Ein typischer Chatbot-Dialog mit Sonnet (500 Input-Tokens, 300 Output-Tokens) kostet ungefähr 0,006 $ pro Nachricht. Das sind rund 166 Nachrichten pro Dollar. Mit Haiku kommst du auf über 2.000 Nachrichten pro Dollar – ideal für Anwendungen mit hohem Volumen.
API-Features im Detail erklärt
Die Anthropic API bietet weit mehr als einfache Text-Completion. Hier sind die wichtigsten Features, die du kennen solltest:
Messages API – Der Kern
Alle Interaktionen laufen über den /v1/messages-Endpunkt. Du sendest eine Liste von Nachrichten (user/assistant) und erhältst eine Antwort. Anders als bei OpenAI gibt es keine separaten Endpunkte für Chat vs. Completion – alles läuft über Messages.[2]
System Prompts
System Prompts definieren das Verhalten von Claude für die gesamte Konversation. Sie werden als separater Parameter (nicht als Nachricht) übergeben:
message = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=1024,
system="Du bist ein hilfreicher Assistent für Python-Entwickler. "
"Antworte immer mit Codebeispielen und erkläre knapp.",
messages=[
{"role": "user", "content": "Wie lese ich eine CSV-Datei ein?"}
]
)
Vision – Bildanalyse per API
Claude kann Bilder analysieren, beschreiben und Fragen dazu beantworten. Du übergibst Bilder entweder als Base64-kodierte Daten oder über eine URL:[4]
import anthropic
import base64
client = anthropic.Anthropic()
# Bild als Base64 laden
with open("screenshot.png", "rb") as f:
image_data = base64.standard_b64encode(f.read()).decode("utf-8")
message = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=1024,
messages=[
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/png",
"data": image_data
}
},
{
"type": "text",
"text": "Was siehst du auf diesem Screenshot?"
}
]
}
]
)
print(message.content[0].text)
Tool Use (Function Calling)
Mit Tool Use kann Claude externe Funktionen aufrufen – etwa eine Datenbank abfragen, eine API ansprechen oder Berechnungen durchführen. Du definierst die verfügbaren Tools mit JSON Schema, und Claude entscheidet selbstständig, wann ein Tool-Aufruf sinnvoll ist:
tools = [
{
"name": "get_weather",
"description": "Ruft das aktuelle Wetter für eine Stadt ab.",
"input_schema": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "Name der Stadt"
}
},
"required": ["city"]
}
}
]
message = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=1024,
tools=tools,
messages=[
{"role": "user", "content": "Wie ist das Wetter in Berlin?"}
]
)
# Claude antwortet mit einem Tool-Aufruf:
# {"type": "tool_use", "name": "get_weather", "input": {"city": "Berlin"}}
Streaming
Für Echtzeit-Anwendungen wie Chatbots willst du die Antwort Token für Token streamen, statt auf die komplette Antwort zu warten:
with client.messages.stream(
model="claude-sonnet-4-20250514",
max_tokens=1024,
messages=[{"role": "user", "content": "Schreibe eine kurze Geschichte."}]
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
Die Streaming-Variante nutzt Server-Sent Events (SSE) und fühlt sich für Nutzer deutlich responsiver an – die ersten Tokens erscheinen innerhalb von Millisekunden.
Praxis: Einfachen Chatbot mit Claude bauen (Python)
Hier ist ein voll funktionsfähiger Terminal-Chatbot in 15 Zeilen – mit Konversationsverlauf, damit Claude sich an vorherige Nachrichten erinnert:
import anthropic
client = anthropic.Anthropic()
conversation = []
print("Claude Chatbot (Ctrl+C zum Beenden)n")
while True:
user_input = input("Du: ")
conversation.append({"role": "user", "content": user_input})
response = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=2048,
system="Du bist ein freundlicher, hilfreicher Assistent. Antworte auf Deutsch.",
messages=conversation
)
assistant_msg = response.content[0].text
print(f"nClaude: {assistant_msg}n")
conversation.append({"role": "assistant", "content": assistant_msg})
Der Trick ist die conversation-Liste: Jede Nachricht (User + Assistant) wird angehängt, sodass Claude den gesamten Verlauf sieht. Beachte, dass bei langen Gesprächen die Token-Kosten steigen – in der Produktion solltest du ältere Nachrichten ab einer bestimmten Länge abschneiden oder zusammenfassen.
Praxis: PDF analysieren mit Claude Vision
Eines der stärksten Features der Claude API ist die native PDF-Unterstützung. Du kannst ein PDF direkt an die API schicken – Claude extrahiert Text, analysiert Tabellen und versteht Layout-Strukturen:
import anthropic
import base64
client = anthropic.Anthropic()
# PDF laden und als Base64 kodieren
with open("jahresbericht.pdf", "rb") as f:
pdf_data = base64.standard_b64encode(f.read()).decode("utf-8")
message = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=4096,
messages=[
{
"role": "user",
"content": [
{
"type": "document",
"source": {
"type": "base64",
"media_type": "application/pdf",
"data": pdf_data
}
},
{
"type": "text",
"text": "Fasse die wichtigsten Kennzahlen aus diesem "
"Jahresbericht zusammen. Liste Umsatz, Gewinn "
"und Mitarbeiterzahl als Tabelle auf."
}
]
}
]
)
print(message.content[0].text)
Praxis-Tipps für PDF-Analyse:
- PDFs dürfen bis zu 100 Seiten umfassen
- Die maximale Dateigröße beträgt 32 MB
- Tabellen und Diagramme werden erkannt und interpretiert
- Für mehrseitige Dokumente kannst du gezielt nach bestimmten Seiten fragen
- Kombiniere PDF-Input mit einem präzisen System Prompt für bessere Ergebnisse
Claude API vs. OpenAI API: Der große Vergleich
Beide APIs sind hervorragend – aber sie haben unterschiedliche Stärken. Hier der direkte Vergleich:[3][5]
| Kriterium | Claude API (Anthropic) | OpenAI API |
|---|---|---|
| Top-Modell | Claude Opus | GPT-4o |
| Kontextfenster | 200K Tokens (Standard) | 128K Tokens |
| Preis (Sonnet vs. GPT-4o) | 3 $ / 15 $ pro 1M Tokens | 2,50 $ / 10 $ pro 1M Tokens |
| Vision (Bilder) | ✔ Ja | ✔ Ja |
| PDF-Support (nativ) | ✔ Ja | ✘ Nein (nur via Assistants) |
| Tool Use / Function Calling | ✔ Ja | ✔ Ja |
| Streaming | ✔ SSE | ✔ SSE |
| Bildgenerierung | ✘ Nein | ✔ DALL-E 3 |
| Prompt Caching | ✔ Ja (bis 90 % Ersparnis) | ✔ Ja |
| Coding-Qualität | ⭐ Branchenführend | ⭐ Sehr stark |
| SDK-Sprachen | Python, TypeScript | Python, TypeScript, .NET, Java, Go |
Fazit des Vergleichs: Die Claude API punktet mit dem größeren Kontextfenster, nativer PDF-Analyse und exzellentem Reasoning. Die OpenAI API im Vergleich bietet mehr SDK-Sprachen, Bildgenerierung und ein breiteres Ökosystem. Für einen detaillierten Vergleich der Chatversionen schau dir unseren separaten Artikel an.
Rate Limits und Best Practices
Anthropic setzt Rate Limits basierend auf deinem Usage Tier. Je mehr du die API nutzt und bezahlst, desto höher steigst du auf:[1]
| Tier | Requests/Min | Tokens/Min (Input) | Tokens/Tag |
|---|---|---|---|
| Tier 1 (Start) | 50 | 50.000 | 1M |
| Tier 2 | 1.000 | 80.000 | 2,5M |
| Tier 3 | 2.000 | 160.000 | 5M |
| Tier 4 | 4.000 | 400.000 | Unbegrenzt |
Best Practices für die Claude API
- Exponentielles Backoff: Bei 429-Fehlern (Rate Limit) warte 1s, 2s, 4s, 8s – nicht sofort erneut anfragen
- Prompt Caching nutzen: Markiere statische Teile deines Prompts mit
cache_control, um Kosten zu sparen - max_tokens bewusst setzen: Setze den Wert nicht höher als nötig – das spart Kosten und verhindert unnötig lange Antworten
- Batch-Anfragen: Für nicht-zeitkritische Aufgaben nutze die Message Batches API – 50 % günstiger als Einzelanfragen
- Token zählen: Nutze den
usage-Block in der API-Antwort, um deinen Verbrauch zu tracken - Fehlerbehandlung: Fange
anthropic.RateLimitError,anthropic.APIErrorundanthropic.AuthenticationErrorseparat ab
import anthropic
import time
client = anthropic.Anthropic()
def send_with_retry(messages, max_retries=3):
for attempt in range(max_retries):
try:
return client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=1024,
messages=messages
)
except anthropic.RateLimitError:
wait = 2 ** attempt
print(f"Rate Limit erreicht. Warte {wait}s...")
time.sleep(wait)
except anthropic.APIError as e:
print(f"API-Fehler: {e}")
raise
raise Exception("Max Retries erreicht")
Anthropic SDK: Python & TypeScript Quickstart
Anthropic bietet offizielle SDKs für die beiden populärsten Sprachen. Hier der Schnellstart für beide:[2]
Python SDK
# Installation
pip install anthropic
# Synchroner Client
import anthropic
client = anthropic.Anthropic() # API Key aus ANTHROPIC_API_KEY
response = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=1024,
messages=[{"role": "user", "content": "Hallo Claude!"}]
)
print(response.content[0].text)
# Asynchroner Client (für asyncio)
import asyncio
async_client = anthropic.AsyncAnthropic()
async def main():
response = await async_client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=1024,
messages=[{"role": "user", "content": "Hallo Claude!"}]
)
print(response.content[0].text)
asyncio.run(main())
TypeScript SDK
// Installation
// npm install @anthropic-ai/sdk
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic(); // API Key aus ANTHROPIC_API_KEY
async function main() {
const message = await client.messages.create({
model: "claude-sonnet-4-20250514",
max_tokens: 1024,
messages: [
{ role: "user", content: "Hallo Claude!" }
],
});
console.log(message.content[0].text);
}
main();
Beide SDKs bieten volle TypeScript-/Type-Hint-Unterstützung, automatische Retries bei transienten Fehlern und Streaming-Methoden. Die API-Versionierung läuft über den anthropic-version-Header, den das SDK automatisch setzt.
Fortgeschritten: Extended Thinking
Für komplexe Aufgaben kannst du Extended Thinking aktivieren – Claude denkt dann in einem internen „Scratchpad“ nach, bevor es antwortet. Das verbessert die Qualität bei mathematischen Problemen, Code-Debugging und mehrstufigem Reasoning erheblich:
response = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=16000,
thinking={
"type": "enabled",
"budget_tokens": 10000 # Max. Tokens für den Denkprozess
},
messages=[{"role": "user", "content": "Löse dieses Optimierungsproblem..."}]
)
# Thinking-Blocks und Antwort auslesen
for block in response.content:
if block.type == "thinking":
print(f"Denkprozess: {block.thinking}")
elif block.type == "text":
print(f"Antwort: {block.text}")
Häufig gestellte Fragen zur Claude API
Ist die Claude API kostenlos?
Nein, die API ist nutzungsbasiert – du zahlst pro verarbeitetem Token. Allerdings bekommst du beim Erstellen eines Accounts ein kostenloses Startguthaben von 5 USD, mit dem du die API testen kannst. Das günstigste Modell (Haiku) kostet ab 0,25 $ pro Million Input-Tokens.
Wie bekomme ich einen Claude API Key?
Registriere dich auf console.anthropic.com, hinterlege eine Zahlungsmethode und generiere unter „API Keys“ einen neuen Schlüssel. Kopiere ihn sofort – er wird nur einmal angezeigt.
Welches Claude-Modell sollte ich über die API verwenden?
Für die meisten Anwendungen ist Claude Sonnet die beste Wahl – es bietet das beste Verhältnis aus Qualität, Geschwindigkeit und Kosten. Für einfache Aufgaben nimm Haiku, für komplexes Reasoning Opus.
Was ist der Unterschied zwischen der Claude API und der OpenAI API?
Claude bietet ein größeres Kontextfenster (200K vs. 128K), native PDF-Analyse und starkes Reasoning. OpenAI hat mehr SDK-Sprachen, Bildgenerierung und ein breiteres Plugin-Ökosystem. Preislich sind beide ähnlich.
Kann die Claude API Bilder und PDFs verarbeiten?
Ja, Claude unterstützt Vision (JPEG, PNG, GIF, WebP) und native PDF-Verarbeitung. Du übergibst Bilder als Base64 oder URL, PDFs als Base64-kodierte Dokumente. Die maximale PDF-Größe beträgt 32 MB bei bis zu 100 Seiten.
Quellen und Referenzen
- Anthropic Console – Account, API Keys & Billing (console.anthropic.com)
- Anthropic API Reference – Messages API (docs.anthropic.com)
- Claude Models – Übersicht, Preise & Limits (docs.anthropic.com)
- Vision – Bildanalyse mit Claude (docs.anthropic.com)
- OpenAI API – Models & Pricing (platform.openai.com)
- Anthropic News & Ankündigungen (anthropic.com)
Quellen & Referenzen
Die Informationen basieren auf offiziellen Dokumentationen, eigenen Tests und aktuellen Fachquellen. Externe Links sind im Text als Inline-Referenzen gekennzeichnet.
Alle Links wurden zuletzt im März 2026 überprüft.
ÜBER DEN AUTOR
Olaf Mergili
Gründer von mylurch.com · IT-Unternehmer seit 2003
Olaf Mergili beschäftigt sich seit über 20 Jahren mit IT-Infrastruktur und Automatisierung. Als Gründer der OMTEC und Betreiber mehrerer B2B-Plattformen testet er KI-Tools im praktischen Unternehmenseinsatz — nicht in der Theorie. Seine Artikel basieren auf echten Workflows und messbaren Ergebnissen.
Kostenloser Download
OpenClaw Starter-Guide
11 Seiten PDF — von der Installation bis zum ersten automatisierten Workflow. Jetzt kostenlos herunterladen.