Met de
DeepSeek API kun je V4 Flash en V4 Pro integreren in een website, applicatie, programmeerassistent of geautomatiseerde workflow.
De API is compatibel met veel onderdelen van het OpenAI-formaat. Daarnaast biedt DeepSeek een afzonderlijk, gedeeltelijk compatibel Anthropic-endpoint. Daardoor kun je bestaande software vaak met beperkte wijzigingen migreren.
Deze handleiding richt zich uitsluitend op de technische API. Voor het volledige productoverzicht lees je onze
centrale DeepSeek-gids.
Wat heb je nodig?
- een DeepSeek-platformaccount;
- API-tegoed;
- een API-sleutel;
- Python of Node.js;
- een veilige manier om geheime sleutels op te slaan.
Het ontwikkelaarsplatform staat op:
De documentatie staat op:
Een DeepSeek API-key maken
- Log in op het DeepSeek-platform.
- Open het onderdeel voor API-sleutels.
- Maak een nieuwe sleutel.
- Kopieer deze direct naar een veilige wachtwoord- of secretmanager.
- Voeg voldoende saldo toe.
- Gebruik verschillende sleutels voor ontwikkeling en productie.
Plaats een API-sleutel nooit:
- in openbare broncode;
- in een browserbundle;
- in screenshots;
- in een Git-repository;
- rechtstreeks in een mobiele app;
- in foutmeldingen of onbeveiligde logs.
Laat je eigen server de API-aanroep uitvoeren.
Actuele model-ID’s
Gebruik voor nieuwe implementaties:
deepseek-v4-flash
deepseek-v4-pro
De oude modelnamen:
deepseek-chat
deepseek-reasoner
zijn sinds 24 juli 2026 om 15:59 UTC uitgefaseerd. Controleer bestaande configuratiebestanden, environment variables, testfixtures en fallbacklogica.
De verschillen tussen de modellen staan in ons
DeepSeek-modellenoverzicht.
DeepSeek API gebruiken met Python
Installeer eerst de OpenAI-SDK:
pip install openai
Sla je sleutel op als omgevingsvariabele:
export DEEPSEEK_API_KEY="jouw_api_sleutel"
Gebruik daarna:
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["DEEPSEEK_API_KEY"],
base_url="https://api.deepseek.com",
)
response = client.chat.completions.create(
model="deepseek-v4-flash",
messages=[
{
"role": "system",
"content": "Je bent een nauwkeurige Nederlandstalige assistent.",
},
{
"role": "user",
"content": "Leg context caching uit in maximaal 150 woorden.",
},
],
stream=False,
extra_body={"thinking": {"type": "disabled"}},
)
print(response.choices[0].message.content)
Vang in productie ontbrekende environment variables en API-fouten af. Print geen volledige responsobjecten wanneer deze persoonsgegevens of vertrouwelijke invoer kunnen bevatten.
DeepSeek API gebruiken met JavaScript
Installeer de SDK:
npm install openai
Sla de sleutel op in je serveromgeving en gebruik:
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.DEEPSEEK_API_KEY,
baseURL: "https://api.deepseek.com",
});
async function main() {
const response = await client.chat.completions.create({
model: "deepseek-v4-flash",
messages: [
{
role: "system",
content: "Je bent een nauwkeurige Nederlandstalige assistent.",
},
{
role: "user",
content: "Geef drie praktische toepassingen van een AI-API.",
},
],
thinking: { type: "disabled" },
stream: false,
});
console.log(response.choices[0].message.content);
}
main().catch((error) => {
console.error("DeepSeek-aanroep mislukt:", error.status ?? "onbekend");
process.exitCode = 1;
});
Stuur de sleutel nooit vanuit client-side JavaScript naar DeepSeek.
Thinking mode inschakelen
Beide V4-modellen ondersteunen thinking mode. Deze staat volgens de documentatie standaard aan.
Python:
response = client.chat.completions.create(
model="deepseek-v4-pro",
messages=[
{
"role": "user",
"content": "Analyseer de mogelijke oorzaken van deze race condition.",
}
],
reasoning_effort="high",
extra_body={"thinking": {"type": "enabled"}},
)
De beschikbare inspanningsniveaus zijn high en max. Waarden als low en medium worden in thinking mode naar high omgezet.
Thinking mode negeert onder meer:
- temperature;
- top_p;
- presence_penalty;
- frequency_penalty.
De API kan redeneerinhoud afzonderlijk retourneren via reasoning_content. Bij tool calls moet die inhoud correct worden teruggestuurd in volgende verzoeken. Anders kan een 400-fout ontstaan.
Streaming gebruiken
Bij streaming ontvang je delen van het antwoord terwijl deze worden gegenereerd.
stream = client.chat.completions.create(
model="deepseek-v4-flash",
messages=[
{"role": "user", "content": "Schrijf een korte uitleg over API-streaming."}
],
stream=True,
extra_body={"thinking": {"type": "disabled"}},
)
for chunk in stream:
delta = chunk.choices[0].delta.content
if delta:
print(delta, end="", flush=True)
Streaming verbetert de waargenomen snelheid, maar verlaagt niet automatisch het tokengebruik.
JSON-uitvoer
Voor gestructureerde uitvoer gebruik je:
import json
response = client.chat.completions.create(
model="deepseek-v4-flash",
messages=[
{
"role": "system",
"content": (
"Geef geldige JSON met de velden title, summary en risks. "
"Gebruik geen tekst buiten het JSON-object."
),
},
{
"role": "user",
"content": "Analyseer dit productvoorstel: ...",
},
],
response_format={"type": "json_object"},
)
data = json.loads(response.choices[0].message.content)
DeepSeek adviseert:
- het woord json in de prompt te gebruiken;
- de gewenste structuur te tonen;
- voldoende outputtokens beschikbaar te stellen;
- lege of ongeldige uitvoer af te vangen;
- alle velden na ontvangst te valideren.
Geldige JSON is nog geen inhoudelijk betrouwbare data. Controleer typen, toegestane waarden en zakelijke regels in je eigen code.
Tool calls
Met tool calls kan het model aangeven welke functie je applicatie moet uitvoeren. Het model voert die functie niet zelf uit.
Een veilige cyclus is:
- stuur beschikbare tools en de gebruikersvraag;
- ontvang een tool call;
- valideer functienaam en argumenten;
- controleer autorisatie;
- voer de functie zelf uit;
- stuur alleen het noodzakelijke resultaat terug;
- laat het model een eindantwoord formuleren.
Geef een AI-model nooit onbeperkte toegang tot betalingen, verwijderacties, productieomgevingen of beheerdersrechten. Bouw goedkeuring in voor handelingen met gevolgen.
Context caching
DeepSeek caching staat standaard aan. Het systeem kan eerder verwerkte, identieke prefixes tegen een lager tarief verwerken.
Je hoeft daarvoor geen aparte cache-ID te maken. Wel helpt het om:
- vaste instructies vooraan te plaatsen;
- lange broninformatie ongewijzigd te houden;
- variabele gebruikersvragen achteraan te zetten;
- tokengebruik uit de API-respons te loggen.
Controleer:
prompt_cache_hit_tokens
prompt_cache_miss_tokens
Caching is best effort. Ontwerp je begroting niet alsof iedere aanvraag gegarandeerd een cache-hit krijgt.
OpenAI-compatibiliteit
De OpenAI-compatibele basis-URL is:
https://api.deepseek.com
Compatibiliteit betekent niet dat iedere OpenAI-functie of parameter identiek werkt. Test onder meer:
- reasoningvelden;
- tool calls;
- streaming;
- JSON;
- foutobjecten;
- tokengebruik;
- time-outs;
- maximale context.
Gebruik integratietests in plaats van alleen de basis-URL te vervangen.
Anthropic-compatibiliteit
De Anthropic-basis-URL is:
https://api.deepseek.com/anthropic
DeepSeek ondersteunt veel tekst-, streaming- en toolvelden. Niet alles wordt ondersteund. Afbeeldingen, documenten, bepaalde MCP-velden en code-executionresultaten zijn volgens de actuele compatibiliteitstabel niet volledig beschikbaar.
DeepSeek kan Claude-modelnamen automatisch naar eigen modellen vertalen:
- namen die met claude-opus beginnen worden naar V4 Pro vertaald;
- claude-sonnet en claude-haiku worden naar V4 Flash vertaald.
Gebruik in eigen code liever direct de DeepSeek-model-ID. Dat voorkomt onduidelijkheid.
Rate limits en gelijktijdigheid
DeepSeek publiceert momenteel accountlimieten van:
- 2.500 gelijktijdige verbindingen voor V4 Flash;
- 500 voor V4 Pro.
Bij overschrijding kan een HTTP 429-fout ontstaan. Deze limieten gelden op accountniveau, niet afzonderlijk per sleutel.
Gebruik:
- wachtrijen;
- begrensde concurrency;
- time-outs;
- retries met exponentiële vertraging en jitter;
- idempotentie waar nodig;
- een fallback voor kritieke toepassingen.
Belangrijke foutcodes
| Code | Betekenis | Actie |
| 400 | Ongeldige aanvraag | Controleer JSON en velden |
| 401 | Authenticatie mislukt | Controleer de API-sleutel |
| 402 | Onvoldoende saldo | Controleer of vul saldo aan |
| 422 | Ongeldige parameters | Pas modelparameters aan |
| 429 | Limiet bereikt | Vertraag en probeer later opnieuw |
| 500 | Serverfout | Tijdelijk opnieuw proberen |
| 503 | Overbelasting | Wachten, retry of fallback gebruiken |
Log statuscode, request-ID en technische context, maar verwijder sleutels en gevoelige promptinhoud.
Kosten beheersen
DeepSeek rekent per token. Gebruik daarom:
- V4 Flash als standaard;
- een maximale outputlengte;
- korte, relevante chatgeschiedenis;
- caching voor vaste prefixes;
- eigen budgetlimieten;
- waarschuwingen op afwijkend gebruik;
- afzonderlijke sleutels per applicatie;
- logging per klant of functie.
Bekijk de volledige tarieven in
DeepSeek-prijzen en API-kosten.
Productiechecklist
Voordat je live gaat:
- verwijder oude model-ID’s;
- sla sleutels in een secretmanager op;
- valideer alle modeluitvoer;
- anonimiseer persoonsgegevens;
- test time-outs en retries;
- begrens toolrechten;
- voorkom promptinjectie vanuit documenten;
- log tokens en kosten;
- bouw een providerfallback;
- controleer privacy- en bewaarbeleid;
- maak menselijke controle verplicht bij belangrijke beslissingen.
Conclusie
De DeepSeek API is aantrekkelijk door lage kosten, een groot contextvenster en compatibiliteit met bestaande OpenAI- en Anthropic-workflows.
Gebruik voor de meeste toepassingen V4 Flash en schakel alleen gericht over op V4 Pro. Migreer oude model-ID’s, beveilig API-sleutels, valideer gestructureerde uitvoer en behandel tool calls als voorgestelde handelingen die je eigen software eerst moet controleren.