Kennisbank claude api integreren in je eigen applicatie
gemiddeld 01 June 2026

claude api integreren in je eigen applicatie

Claude API integreren in je eigen applicatieDit artikel beschrijft hoe je de Claude Messages API (v2023-06-01) integreert in een applicatie — bedoeld voor
Claude Api Integreren In Je Eigen Applicatie
✦ ✦ ✦

Claude Api Integreren In Je Eigen Applicatie

HistorieCheck Redactie  ·  01 June 2026  ·  ai-maatjes

Claude API integreren in je eigen applicatie

Dit artikel beschrijft hoe je de Claude Messages API (v2023-06-01) integreert in een applicatie — bedoeld voor ontwikkelaars die generative AI-functionaliteit willen toevoegen aan hun software.

Vereisten

- Een Anthropic API key (aan te vragen op console.anthropic.com) - Node.js 18+ of Python 3.10+ - Een `.env` bestand voor environment variables - Kennis van REST API calls en JSON

Stappen

1. Installeer de officiële SDK

Installeer de Anthropic client library voor je taal:

```bash Node.js npm install @anthropic-ai/sdk

Python pip install anthropic ```

2. Configureer de API key als environment variable

Sla de key op in een `.env` bestand. Hardcoded keys zijn verboden — dit voorkomt lekken via versiebeheer.

```bash ANTHROPIC_API_KEY=sk-ant-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ```

3. Initialiseer de client

Gebruik de environment variable bij het opstarten van de client. Gebruik altijd de nieuwste model-ID.

Node.js: ```javascript const Anthropic = require('@anthropic-ai/sdk'); const client = new Anthropic({ apiKey: process.env.ANTHROPIC_API_KEY }); ```

Python: ```python import anthropic client = anthropic.Anthropic(api_key=anthropic.get_api_key()) ```

4. Maak een basiscall met de Messages API

Stuur een bericht en vang het antwoord op. Gebruik `messages.create` voor multi-turn conversaties.

Node.js: ```javascript const response = await client.messages.create({ model: "claude-3-5-sonnet-20241022", max_tokens: 1024, messages: [ { role: "user", content: "Hoe integreer ik Claude in mijn app?" } ] }); ```

Python: ```python response = client.messages.create( model="claude-3-5-sonnet-20241022", max_tokens=1024, messages=[{"role": "user", "content": "Hoe integreer ik Claude in mijn app?"}] ) ```

5. Verwerk de response en stopredenen

Controleer altijd de `stop_reason` in het antwoord. Bij `refusal` moet je de gebruiker informeren dat de vraag niet beantwoord kan worden.

```javascript if (response.stop_reason === "refusal") { console.log("Het model weigert deze taak uit te voeren."); } else { console.log(response.content[0].text); } ```

6. Voeg streaming toe voor interactieve ervaringen

Streaming geeft directe feedback aan de gebruiker en verlaagt de waargenomen wachttijd.

Node.js: ```javascript const stream = await client.messages.create({ model: "claude-3-5-sonnet-20241022", max_tokens: 1024, messages: [{ role: "user", content: "Vertel een kort verhaal." }], stream: true });

for await (const chunk of stream) { if (chunk.type === "content_block_delta") { process.stdout.write(chunk.delta.text); } } ```

7. Gebruik tools voor gestructureerde output

Definieer tools (functies) in JSON Schema om Claude gestructureerde data te laten teruggeven. Houd tools klein en idempotent.

```javascript const toolDef = { name: "extract_contact", description: "Extract naam, email en telefoon uit een tekst", input_schema: { type: "object", properties: { name: { type: "string" }, email: { type: "string", format: "email" }, phone: { type: "string" } }, required: ["name", "email"] } };

const response = await client.messages.create({ model: "claude-3-5-sonnet-20241022", max_tokens: 512, messages: [{ role: "user", content: "Bel Jan op 06-12345678" }], tools: [toolDef] }); ```

8. Implementeer een gateway service

Voor productie: maak een aparte module (gateway) die alle API-aanroepen centraliseert. Deze service beheert tokens, logging, rate limiting en error handling.

```javascript class ClaudeGateway { async call(messages, options = {}) { const start = Date.now(); try { const response = await client.messages.create({ model: options.model || "claude-3-5-sonnet-20241022", max_tokens: options.maxTokens || 1024, messages }); console.log(`Claude call: ${Date.now() - start}ms, tokens: ${response.usage?.input_tokens + response.usage?.output_tokens}`); return response; } catch (error) { console.error(`Claude error: ${error.message}`); throw error; } } } ```

Verificatie

Controleer of de integratie werkt met een health check:

```bash Node.js node -e "require('@anthropic-ai/sdk'); console.log('SDK geïnstalleerd en klaar voor gebruik');"

Python python -c "import anthropic; print('SDK geïnstalleerd en klaar voor gebruik')" ```

Voer een minimale test uit met een eenmalige API call:

```bash curl -s -X POST 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-3-5-sonnet-20241022","max_tokens":10,"messages":[{"role":"user","content":"Antwoord ja"}]}' ```

Veelgestelde problemen

Probleem: 401 Unauthorized fout Oorzaak: API key niet correct gezet of verlopen. Oplossing: Controleer of `ANTHROPIC_API_KEY` correct is ingesteld en niet begint met spaties. Genereer een nieuwe key in de Anthropic console.

Probleem: Model weigert request met 'refusal' Oorzaak: Het model beoordeelt de prompt als ongeschikt. Oplossing: Vang `stop_reason === "refusal"` af en toon een gebruiksvriendelijk bericht. Pas de prompt aan om de context te verduidelijken.

Probleem: Tool calls geven parse errors Oorzaak: Het JSON Schema voor tools is te strikt of bevat ongeldige velden. Oplossing: Valideer toolschema's lokaal voordat je ze naar de API stuurt. Houd inputschema's eenvoudig en gebruik een schema registry voor consistentie.

Integratie is geen eenmalige actie — je API key verloopt, modellen worden geüpdatet, en je productiecode moet meegroeien met elke nieuwe versie van de API.

— ✦ —
← Terug naar kennisbank