Wenn Sie eine Benutzeroberfläche bauen, bevor das Backend fertig ist, brauchen Sie realistische Daten für Listen, Detailseiten, Ladezustände und Fehlerfälle. DummyJSON ist dafür ein schneller Einstieg: eine kostenlose, gehostete Fake-REST-API mit Produkten, Benutzern, Warenkörben und weiteren Ressourcen über HTTP, ohne Anmeldung. Dieser Leitfaden zeigt, wie Sie DummyJSON praktisch einsetzen, wie es sich gegenüber anderen öffentlichen Test-APIs verhält und wann Sie auf einen eigenen Mock-Server wechseln sollten.
Was ist DummyJSON?
DummyJSON ist eine kostenlose Platzhalter-JSON-API. Sie senden eine Anfrage an einen öffentlichen Endpunkt und erhalten strukturierte Beispieldaten zurück. Es gibt keine Datenbank, keinen API-Key und keine lokale Installation.
Typischer Einsatz:
- UI-Prototypen bauen, bevor das Backend existiert
- Fetch-/Axios-Logik testen
- Tabellen, Karten und Detailseiten mit realistischen Daten füllen
- Pagination, Suche und Filter ausprobieren
- Tutorials oder Demos ohne eigenes Backend erstellen
Die Daten sind gefälscht, aber konsistent. Ein Produkt enthält zum Beispiel Titel, Preis, Bewertung, Lagerbestand und Kategorie. Ein Benutzer enthält Name, E-Mail, Adresse und Firmendaten. Dadurch können Sie UI-Komponenten gegen Daten entwickeln, die echten Produktionsdaten ähneln.
Ein einfacher Request reicht:
curl https://dummyjson.com/products/1
Beispiel in JavaScript:
const res = await fetch("https://dummyjson.com/products/1");
const product = await res.json();
console.log(product.title, product.price);
DummyJSON-Endpunkte, Authentifizierung und Limits
DummyJSON stellt mehrere Ressourcensammlungen bereit:
-
/products— Produkte mit Preis, Bestand, Bewertungen und Kategorien -
/users— Benutzer mit Adressen, E-Mails und Firmendetails -
/carts— Warenkörbe, die Benutzern zugeordnet sind -
/postsund/comments— blogähnliche Inhalte -
/todos— Aufgaben -
/recipesund/quotes— weitere Beispieldaten
Daten abrufen
Alle Produkte mit Pagination:
curl "https://dummyjson.com/products?limit=5&skip=10"
Ein einzelnes Produkt abrufen:
curl https://dummyjson.com/products/1
Produkte suchen:
curl "https://dummyjson.com/products/search?q=phone"
Nur bestimmte Felder zurückgeben:
curl "https://dummyjson.com/products?select=title,price,category"
Langsames Netzwerk simulieren:
curl "https://dummyjson.com/products?delay=2000"
Der delay-Parameter unterstützt Werte von 0 bis 5000 Millisekunden. Damit können Sie Loading States im Frontend testen.
Beispiel mit React
import { useEffect, useState } from "react";
export default function ProductList() {
const [products, setProducts] = useState([]);
const [loading, setLoading] = useState(true);
useEffect(() => {
fetch("https://dummyjson.com/products?limit=5&delay=1000")
.then((res) => res.json())
.then((data) => setProducts(data.products))
.finally(() => setLoading(false));
}, []);
if (loading) return <p>Lade Produkte...</p>;
return (
<ul>
{products.map((product) => (
<li key={product.id}>
{product.title} — ${product.price}
</li>
))}
</ul>
);
}
Authentifizierung testen
DummyJSON bietet einen Login-Endpunkt und Bearer-Token-Flow.
# 1. Einloggen und Token erhalten
curl -X POST https://dummyjson.com/auth/login \
-H "Content-Type: application/json" \
-d '{"username":"emilys","password":"emilyspass"}'
# 2. Token für authentifizierte Anfrage verwenden
curl https://dummyjson.com/auth/me \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN_HERE"
Das ist nützlich, wenn Sie Login-Formulare, Token-Speicherung oder geschützte Routen im Frontend testen möchten.
Schreibzugriffe sind simuliert
DummyJSON unterstützt auch POST, PUT, PATCH und DELETE.
Beispiel:
curl -X POST https://dummyjson.com/products/add \
-H "Content-Type: application/json" \
-d '{
"title": "Neues Produkt",
"price": 99
}'
Wichtig: Diese Schreibvorgänge sind nicht persistent. Die API antwortet so, als wäre ein Datensatz erstellt oder aktualisiert worden, speichert ihn aber nicht dauerhaft. Beim nächsten Lesezugriff erhalten Sie wieder die ursprünglichen Daten.
Die Dokumentation veröffentlicht keine harten Rate Limits. Behandeln Sie DummyJSON trotzdem wie jeden kostenlosen Shared Service: nicht für Lasttests verwenden.
Für weitere öffentliche APIs lohnt sich auch diese Übersicht zu kostenlosen APIs für Entwickler.
DummyJSON vs. JSONPlaceholder vs. Reqres
DummyJSON ist nicht die einzige kostenlose Fake-REST-API. Häufige Alternativen sind JSONPlaceholder und Reqres.
| Tool | Am besten für | Ressourcen | Authentifizierungsfluss | Schreibvorgänge persistent? |
|---|---|---|---|---|
| DummyJSON | Realistische Demos im E-Commerce-Stil | Produkte, Benutzer, Warenkörbe, Beiträge, Rezepte, mehr | Login-Endpunkt + Bearer-Token | Nein, simuliert |
| JSONPlaceholder | Schnelle CRUD-Tutorials, minimale Einrichtung | Beiträge, Kommentare, Benutzer, To-Dos, Alben, Fotos | Keine | Nein, simuliert |
| Reqres | Authentifizierungs- und Request-/Response-Demos | Benutzer, Registrierungs-/Login-Mocks | Mock-Registrierung/Login | Nein, simuliert |
Das Muster ist bei allen ähnlich:
- feste Beispieldaten
- schnelle Einrichtung
- keine persistente Speicherung
- eingeschränkte Kontrolle über das Response-Schema
JSONPlaceholder läuft intern auf json-server, weshalb das Datenmodell sehr generisch wirkt. DummyJSON eignet sich besser, wenn Ihre Demo Produkte, Warenkörbe oder Benutzerprofile braucht. Reqres ist praktisch, wenn Sie speziell Authentifizierungsabläufe zeigen möchten.
Offizielle Quellen:
Wann feste Platzhalterdaten nicht mehr ausreichen
DummyJSON ist ideal für frühe Prototypen. In echten Projekten stoßen feste Public APIs aber schnell an Grenzen.
Sie sollten auf einen eigenen Mock wechseln, wenn:
- Ihre App Felder benötigt, die DummyJSON nicht enthält, z. B.
subscription_tier,feature_flagsoderbilling_status. - Sie persistente oder persistent wirkende Schreibvorgänge brauchen.
- Sie Fehlerfälle wie
400,401,429oder500gezielt testen möchten. - Ihre Mock-Daten exakt zu Ihrem OpenAPI-Vertrag passen müssen.
- Frontend und Backend parallel entwickeln und sich auf ein gemeinsames Schema einigen müssen.
Beispiel: Wenn Ihr Frontend diese Response erwartet:
{
"id": "prod_123",
"title": "Pro Plan",
"subscription_tier": "pro",
"feature_flags": {
"analytics": true,
"team_seats": true
}
}
Dann hilft ein festes DummyJSON-Produkt nur begrenzt. Sie müssten Daten im Frontend umbauen oder lokale Fixtures pflegen. Besser ist ein Mock, der direkt aus Ihrem eigenen Schema generiert wird.
Eigene Fake-REST-API mit Apidog erstellen
Apidog ist eine API-Plattform zum Entwerfen, Testen, Dokumentieren und Mocken von APIs. Der Mock-Server ersetzt eine feste Fake-API, sobald Sie Kontrolle über Schema, Felder, Statuscodes und Beispiele brauchen.
Der typische Ablauf:
1. Endpunkt und Schema definieren
Erstellen Sie zum Beispiel einen Endpunkt:
GET /products
Definieren Sie anschließend die Response-Felder:
{
"id": "string",
"title": "string",
"price": "number",
"stock": "integer",
"category": "string",
"status": "string"
}
Sie können das Schema manuell anlegen oder eine bestehende OpenAPI-/Swagger-Datei importieren. So bleibt der Mock an Ihren echten API-Vertrag gebunden.
2. Mock-Daten automatisch generieren
Apidog liest Feldnamen und Typen und erzeugt passende Beispieldaten. Ein Feld wie email wird als E-Mail dargestellt, price als Zahl und createdAt als Datum.
Das spart manuelle Fixtures wie:
{
"email": "user@example.com",
"price": 29.99,
"createdAt": "2026-06-24T10:00:00Z"
}
Der Leitfaden zum Generieren von Mock-Daten aus OpenAPI-Schemas erklärt diesen schema-gesteuerten Ansatz genauer.
3. Werte und Grenzfälle anpassen
Für realistische Tests können Sie Regeln definieren, zum Beispiel:
-
pricezwischen10und500 -
statusnur alsactive,inactiveoderarchived - gezielte
401-Response für fehlende Authentifizierung - gezielte
500-Response für Fehlerbehandlung im Frontend
Beispiel für eine Fehlerantwort:
{
"error": "Internal Server Error",
"message": "Unexpected mock failure"
}
Damit testen Sie nicht nur Happy Paths, sondern auch robuste UI-Zustände.
4. Mock-Server starten und im Frontend verwenden
Apidog stellt eine Mock-URL bereit. Ihr Frontend ruft diese URL genauso auf wie DummyJSON:
curl "https://<your-mock-host>/products?limit=5"
Im Code ändert sich nur die Base URL:
const API_BASE_URL = "https://<your-mock-host>";
const res = await fetch(`${API_BASE_URL}/products?limit=5`);
const data = await res.json();
Der Vorteil: Wenn sich Ihre API-Spezifikation ändert, kann sich auch der Mock entsprechend ändern. Ihre Fake-Daten bleiben näher an dem, was später tatsächlich ausgeliefert wird.
Für größere Testdatensätze passt der Ansatz zur Erstellung realistischer API-Testdaten.
Der praktische Kompromiss:
- DummyJSON ist schneller für Wegwerf-Demos.
- Apidog ist sinnvoller, sobald Sie ein eigenes Schema, steuerbare Fehler, definierte Statuscodes oder mockspezifische API-Verträge brauchen.
Häufig gestellte Fragen
Ist DummyJSON kostenlos nutzbar?
Ja. DummyJSON ist kostenlos und benötigt keinen API-Schlüssel. Sie können die öffentlichen Endpunkte direkt aus Browser, Curl, Skript oder App aufrufen. Es ist für Prototyping und Lernen gedacht, nicht für Produktionsverkehr oder Lasttests.
Speichert DummyJSON erstellte oder aktualisierte Daten?
Nein. POST, PUT, PATCH und DELETE geben erfolgreiche Antworten zurück, speichern aber nichts dauerhaft. Beim nächsten Lesezugriff erhalten Sie wieder die ursprünglichen Daten.
Wenn Sie persistente oder zustandsbehaftete Mocks brauchen, sollten Sie einen eigenen Mock verwenden. Der Leitfaden zu Mock-APIs erklärt den Unterschied zwischen simuliertem und zustandsbehaftetem Mocking.
Was ist der Unterschied zwischen DummyJSON und einem Mock-Server?
DummyJSON ist ein festes, öffentliches Dataset. Alle Nutzer greifen auf dieselben Datenstrukturen zu.
Ein Mock-Server wird gegen Ihr eigenes Schema betrieben. Sie definieren Endpunkte, Felder, Beispieldaten und Statuscodes selbst. Verwenden Sie DummyJSON für generische Demos und einen Mock-Server, wenn die Daten zu Ihrer eigenen API passen müssen.
Kann ich realistische Daten statt offensichtlicher Platzhalter erzeugen?
Ja. Schema-gesteuerte Mocking-Tools lesen Feldnamen und Typen und erzeugen daraus glaubwürdige Werte. Ein email-Feld sieht wie eine E-Mail aus, ein price-Feld wie ein Preis und ein createdAt-Feld wie ein Zeitstempel.
Das ist einer der Hauptgründe, warum Teams von festen Fake-APIs zu eigenen Mocks wechseln.
Fazit
DummyJSON ist eine solide kostenlose Fake-REST-API. Für frühe UI-Prototypen, Tutorials und schnelle Demos ist es schwer zu schlagen: kein Setup, keine Anmeldung, sofort nutzbare Produkte, Benutzer und Warenkörbe.
Die Grenzen entstehen, sobald Ihre App eigene Felder, persistente Schreibflüsse, kontrollierbare Fehler oder ein API-Schema benötigt, das mit dem Backend-Vertrag übereinstimmt.
Wenn Sie diesen Punkt erreichen, erstellen Sie Ihre eigene Fake-REST-API. Mit Apidog definieren Sie Ihr Schema, generieren realistische Mock-Daten daraus und halten Mock und API-Spezifikation synchron.


Top comments (0)