Vom API-Key zur ersten Antwort: Wie du Claude per Python-SDK ansprichst – Messages-Endpoint, System-Prompt, Modellwahl und das Auslesen der Antwort.
Die API spricht denselben Claude an wie die Chat-Oberfläche – nur programmatisch. Statt in ein Textfeld zu tippen, schickst du deine Nachricht per Code an den Endpoint POST /v1/messages und bekommst eine strukturierte Antwort zurück, die du in deiner Anwendung weiterverarbeitest. Dieser Guide bringt dich von null auf die erste funktionierende Anfrage – mit dem offiziellen Python-SDK.
Für Entwickler, die Claude in eigenen Code einbinden wollen: ein Skript, ein Backend, ein Produkt-Feature. Sobald eine Aufgabe wiederholt, automatisiert oder in eine größere Anwendung integriert werden soll, führt der Weg über die API statt über die Chat-Oberfläche.
messages.create-Anfrage sendestmodel, max_tokens, system und messages bewirkencontent-Array ausliestIn der Anthropic Console erstellst du unter API Keys einen neuen Schlüssel. Er wird dir nur einmal vollständig angezeigt – kopiere ihn sofort an einen sicheren Ort.
Das offizielle Python-Paket installierst du mit pip install anthropic. Es kapselt die HTTP-Aufrufe, das Auth-Handling und die Typen.
Lege den Schlüssel in der Umgebungsvariable ANTHROPIC_API_KEY ab. Das SDK liest sie automatisch – du musst den Key nicht im Code übergeben.
export ANTHROPIC_API_KEY=sk-.... Für Projekte eignet sich eine .env-Datei, die nicht eingecheckt wird. Du initialisierst den Client und rufst client.messages.create(...) mit vier Angaben auf: dem Modell, einer Obergrenze für die Antwortlänge, einem optionalen System-Prompt und der eigentlichen Nachricht.
Die Antwort steckt nicht direkt in einem String, sondern in response.content – einer Liste von Blöcken. Den Text des ersten Blocks bekommst du über response.content[0].text.
So sieht die komplette erste Anfrage aus:
from anthropic import Anthropic
client = Anthropic() # liest ANTHROPIC_API_KEY aus der Umgebung
response = client.messages.create(
model="claude-sonnet-5",
max_tokens=1024,
system="Du bist ein hilfreicher Assistent und antwortest auf Deutsch.",
messages=[
{"role": "user", "content": "Erklär mir in zwei Sätzen, was eine API ist."}
],
)
print(response.content[0].text)
model wählt das Modell – hier claude-sonnet-5, der agentische Allrounder und ein guter Startpunkt. Welches Modell wann passt, klärt der Guide Modelle verstehen.
max_tokens ist die Obergrenze für die Antwort-Länge, nicht für deine Eingabe. Ist der Wert zu klein, bricht die Antwort mitten im Satz ab.
system legt Rolle und Verhalten fest – der Ton, die Sprache, die Rahmenbedingungen. Er ist optional, aber mächtig.
messages ist der Gesprächsverlauf: eine Liste von {"role": ..., "content": ...}-Objekten. Für einen Mehrfach-Dialog hängst du weitere Nachrichten mit role: "assistant" und role: "user" an.
max_tokens begrenzt nur die Antwort. Ein zu niedriger Wert schneidet die Antwort hart ab, ein realistisch gewählter Wert kostet nicht mehr, wenn die Antwort ohnehin kürzer ausfällt.
Wofür steht der Parameter max_tokens?
Stand August 2026: Die Messages-API ist stabil. Alle aktuellen Modelle – Haiku 4.5, Sonnet 5, Opus 5 und das Frontier-Modell Fable 5 – laufen über denselben messages.create-Endpoint; du wechselst das Modell allein über den model-Parameter. Für den Einstieg ist claude-sonnet-5 der sinnvolle Startpunkt.
max_tokens zu klein oder vergessen: max_tokens ist ein Pflichtfeld. Ein zu niedriger Wert schneidet die Antwort ab.response.content als String behandeln: Die Antwort ist eine Liste von Blöcken. Der Text steht in response.content[0].text, nicht direkt in response.content.system, die konkrete Aufgabe in messages.Deine erste Anfrage läuft. Sobald das Volumen steigt, wird die Rechnung interessant: Der Guide Kosten senken: Caching, Modellwahl, Batch zeigt die vier Hebel, mit denen du deutlich günstiger fährst – ohne Qualität zu opfern.
Wissen testen, Entscheidungen trainieren oder den nächsten Guide starten.