Votre premier appel API
Dire bonjour à Claude peut vous réchauffer le cœur, mais ce n'est pas vraiment utile. Dans cette leçon, nous allons envoyer à Claude quelque chose de concret et obtenir en retour une analyse structurée — en un peu moins de 20 lignes de code.
Préparez votre environnement
Pour commencer, récupérez une clé API sur platform.claude.com. Avant votre premier appel API, vérifiez que vous disposez de crédit sur la page Facturation(s’ouvre dans un nouvel onglet) de la Claude Console. Si ce n'est pas le cas, ajoutez-y du crédit.

Prenez la clé API et stockez-la dans un fichier .env.local afin qu'elle reste en dehors de votre système de contrôle de version. Coder en dur des clés dans des fichiers source est la principale manière dont elles finissent par fuiter sur GitHub — conservez-les plutôt dans des fichiers d'environnement.
Ensuite, installez le SDK :
npm install @anthropic-ai/sdkL'anatomie d'une requête
Chaque appel API passe par la fonction messages.create. Vous spécifiez trois éléments :
- Un modèle — quel modèle Claude traite la requête
- Une limite de jetons maximale — un plafond sur la longueur de la réponse
- Une liste de messages — des objets avec des rôles
userouassistant, structurés de manière similaire à la façon dont vous auriez une conversation avec Claude ailleurs
Voici à quoi cela ressemble sous sa forme la plus basique :
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic();
const msg = await client.messages.create({
model: "claude-sonnet-5",
max_tokens: 2048,
messages: [{
role: "user",
content: "Hello, Claude",
}],
});Un exemple concret : revue de code bugué
Donnons à Claude quelque chose d'un peu plus intéressant que « bonjour ». Nous allons lui soumettre du code bugué et lui demander une revue. Voici l'ensemble — un fichier, environ 20 lignes de code :
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic();
const buggyCode = `
function add(a, b) {
return a - b;
}
`;
const response = await client.messages.create({
model: "claude-sonnet-5",
max_tokens: 2048,
system: "You are a terse senior code reviewer. Give feedback in one paragraph.",
messages: [
{ role: "user", content: `Review this code:\n${buggyCode}` },
],
});
for (const block of response.content) {
if (block.type === "text") {
console.log(block.text);
}
}Deux éléments à noter ici :
- L'invite système (
system) est l'endroit où vous façonnez la personnalité. Je veux un relecteur senior concis, pas bavard — je le précise donc directement. - Le
message.contentdans la réponse est un tableau de blocs, pas une chaîne de caractères. Pour une réponse textuelle basique, il n'y a généralement qu'un seul bloc de typetext, mais Claude peut renvoyer plusieurs blocs — texte, appels d'outils, réflexion — nous bouclons donc toujours et vérifions le type.
Exécutez-le, et Claude repère que add effectue en réalité une soustraction et vous le signale en un paragraphe. C'est tout. C'est l'intégralité de l'appel API.

Du script au produit
Dans un produit réel, cette même structure messages.create est le moteur derrière quelque chose comme un point de terminaison de résumé. Récupérez une transcription de réunion dans la base de données, transmettez-la à Claude avec une invite système disant « extraire les insights et les risques », enregistrez le résultat dans la ligne correspondante, et renvoyez-le à l'interface utilisateur. C'est le même appel — simplement enveloppé dans un gestionnaire de route.

Récapitulatif
- Votre premier appel API est une fonction
messages.createavec un modèle, une limite de jetons, et des messages. - Stockez votre clé API dans un fichier
.env.localpour la garder en dehors du contrôle de version. - Ajoutez une invite système pour façonner le comportement de Claude.
- Le
contentde la réponse est un tableau de blocs — bouclez et vérifiez letypede chaque bloc. - À partir de là, tout se construit sur ce modèle.