Dr.-Ing. Erhard Henkes, Stand: 23.09.2025
API steht 
		für Application Programming 
		Interface – also eine Schnittstelle, über die Programme 
		miteinander kommunizieren können.
		Ollama stellt eine solche Schnittstelle 
		bereit: darüber kann jedes beliebige Programm (egal ob in
		Python,
		C#,
		JavaScript usw.) Texte 
		an ein Modell schicken und die Antwort zurückerhalten.
Das bedeutet:
Du bist nicht mehr auf das Ollama-Fenster der Ollama App (Client) angewiesen, sondern arbeitest direkt mit dem Ollama Server.
Du kannst KI-Fähigkeiten direkt in eigene Apps einbauen: ein Lernprogramm, ein persönliches Notiz-Tool oder sogar eine komplette Webseite.
Nach der Installation läuft Ollama im Hintergrund als lokaler Server.
			Standardmäßig hört/sendet dieser Server auf dieser Adresse:
			http://localhost:11434
			
Dein Programm schickt via API eine Anfrage an diesen Server (z. B. „Schreibe eine kurze Begrüßung auf Spanisch“) und erhält die Antwort als Text zurück.
curlUm zu sehen, wie das aussieht, kannst du in PowerShell folgendes ausprobieren:
			
			model → sagt, welches Modell 
			benutzt wird.
			
			prompt → ist deine Eingabe.
Die Antwort 
		kommt im Format JSON zurück, also im heute üblichen Format für 
		strukturierte Daten:
{
		"model":"gemma3:1b",
"created_at":"2025-09-23T19:27:34.0622933Z",
		"response":"Hallo! 👋\n\nWie geht's dir? 😊\n\n(Hallo! 👋)\n\nIch bin 
		ein großes Sprachmodell, und ich freue mich, mit dir zu sprechen. 
		😊\n\nWas möchtest du denn wissen oder worüber möchtest du reden?\n",
		"done":true,
"done_reason":
"stop",
"context" 
...}
		
So wie oben sieht eine vollständige Antwort ohne Streaming aus
Das 
			Feld 
			"response" 
			enthält die eigentliche Textausgabe des Modells.
			
			"done": true zeigt, dass die 
			Antwort vollständig ist.
Die 
			restlichen Felder (context,
			
			eval_count,
			
			durations 
			…) sind technische Details – die man für den Einstieg 
			ignorieren kann.
Man 
			muss im Programm den Wert von 
			
			"response" herausfiltern. 
			Alles andere ist Zusatzinfo.
		curl?
		curl 
		ist ein kleines, aber sehr mächtiges Programm, mit dem man
		Anfragen übers Internet (oder 
		auch lokal) verschicken kann.
Name kommt von client for URL.
Man 
			gibt eine Internetadresse (oder eine lokale Adresse wie 
			
			http://localhost:11434) an 
			und 
			curl 
			holt oder sendet Daten dorthin.
Mit 
		curl 
		kann man zum Beispiel:
Webseiten abrufen (so wie ein Browser, aber ohne Fenster).
Dateien herunterladen.
Daten im JSON-Format (also strukturierter Text) an einen Server schicken und die Antwort bekommen.
		curl 
		für Ollama nutzen?Ollama läuft nach der Installation als lokaler Server auf dem eigenen PC.
			Adresse: 
			http://localhost:11434
Über diese Adresse kommuniziert Ollama (Befehle/Antworten).
Damit wir 
		Ollama also nicht nur über die App/PowerShell
		chatten, sondern systematisch 
		ansprechen können, können wir 
		curl 
		als „Universalfernbedienung“ einsetzen. 
Das gelingt natürlich auch mit anderen Programmiersprachen. Nachfolgend findet sich ein Beispiel mit einer Konsole in C#:
using 
		System;
using 
		System.Net.Http;
		using System.Text;
		using System.Text.Json;
		using System.Threading.Tasks;
		
class Program
		{
  static async 
		Task Main()
    {
		    
		// URL des lokalen Ollama-Servers
		    string url = "http://localhost:11434/api/generate";
		
   
		// Anfrage-Daten (JSON) – entspricht dem 
		curl-Beispiel
		    var payload = new
        
		{
      
		model = "gemma3:1b",
		      prompt = "Sag 
		hallo auf Deutsch",
		      stream = false
		    };
		
   
		// JSON in String umwandeln
		    string json = 
		JsonSerializer.Serialize(payload);
		
    
		using var client = new HttpClient();
		    var content = new 
		StringContent(json, Encoding.UTF8, "application/json");
		
    
		try
        
		{
      
		HttpResponseMessage response = await client.PostAsync(url, content);
		      string result 
		= await response.Content.ReadAsStringAsync();
		
      
		Console.WriteLine("Antwort (roh):");
		      
		Console.WriteLine(result);
		
     
		// Nur den "response"-Text herausfiltern
		      using var doc 
		= JsonDocument.Parse(result);
		      string answer 
		= doc.RootElement.GetProperty("response").GetString();
		
      
		Console.WriteLine("\nNur die KI-Antwort:");
		      
		Console.WriteLine(answer);
         
		}
    
		catch (Exception ex)
        
		{
      
		Console.WriteLine("Fehler: " + ex.Message);
        
		}
    }
}
		
Wir 
			bauen ein JSON-Objekt mit 
			
			model, 
			
			prompt, 
			
			stream.
Wir 
			schicken es per HTTP POST 
			an 
			http://localhost:11434/api/generate.
Wir 
			bekommen ein JSON zurück (wie bei dem Beispiel mit 
			
			curl).
Mit
			
			System.Text.Json 
			filtern wir das Feld 
			"response" 
			heraus – das ist der eigentliche Antworttext des Modells.