Si vous construisez une interface utilisateur avant que le backend n'existe, vous avez besoin de données pour l'afficher, et DummyJSON est l'un des moyens les plus rapides de les obtenir. C'est une fausse API REST gratuite et hébergée qui fournit des produits, des utilisateurs, des paniers d'achat et plus encore réalistes via HTTP simple, sans inscription requise. Ce guide explique ce que DummyJSON vous offre, comment il se compare aux autres API de test publiques, et que faire lorsque les données de remplacement fixes ne suffisent plus.
Qu'est-ce que DummyJSON ?
DummyJSON est une API JSON de remplacement gratuite. Vous envoyez une requête à un point de terminaison public, et elle renvoie des données d'exemple structurées et crédibles. Il n'y a pas de base de données à configurer et pas de clé à enregistrer. Elle existe pour que les développeurs frontend, les étudiants et toute personne réalisant un prototype puissent interroger un véritable point de terminaison réseau au lieu de coder en dur des tableaux dans leur code.

Les données sont fausses mais cohérentes. Un produit a un titre, un prix, une note, un nombre de stock et une catégorie. Un utilisateur a un nom, un e-mail, une adresse et une entreprise. Cette cohérence rend DummyJSON utile pour connecter des tableaux, des cartes, la pagination et des pages de détails qui ressemblent à la réalité. Parce que les enregistrements sont imbriqués et typés comme le sont généralement les données de production, vous pouvez créer des filtres, des contrôles de tri et des vues de détails sans avoir à inventer vos propres données de test au préalable.
DummyJSON sert tout via HTTPS au format JSON, il fonctionne donc de la même manière à partir d'une requête de navigateur, d'une application mobile, d'une commande curl ou d'un script côté serveur. Il n'y a rien à installer. Vous dirigez une requête vers une URL et vous obtenez des données en retour, ce qui est exactement ce que vous voulez pendant les premières heures d'un projet lorsque la véritable API n'existe pas encore.
C'est un outil d'apprentissage et de prototypage, et il excelle dans ce rôle. Lorsque vous avez besoin d'un point de terminaison pour récupérer des données dans un tutoriel ou une démonstration rapide, cela vous fait gagner un temps précieux.
Points de terminaison, authentification et limites de DummyJSON
DummyJSON expose plusieurs collections de ressources. Les plus courantes sont :
/products, éléments de catalogue avec prix, stock et notes/users, personnes avec adresses, e-mails et détails d'entreprise/carts, paniers d'achat liés aux utilisateurs/postset/comments, contenu de type blog/todos, éléments de tâche/recipeset/quotes, ensembles de contenu supplémentaires
Chaque collection prend en charge les modèles que vous attendez d'une API REST. Vous pouvez récupérer tous les enregistrements, en récupérer un par ID, rechercher, filtrer par catégorie et paginer avec limit et skip. Un paramètre select réduit la réponse à des champs spécifiques, et un paramètre delay (0 à 5000 ms) vous permet de simuler un réseau lent afin de pouvoir tester les états de chargement.
Voici une lecture basique :
curl https://dummyjson.com/products?limit=5&skip=10
L'authentification utilise un point de terminaison de connexion et un jeton d'authentification (bearer token). Vous envoyez les identifiants à /auth/login, récupérez un jeton, et l'envoyez pour les requêtes protégées :
# 1. Connectez-vous pour obtenir un jeton
curl -X POST https://dummyjson.com/auth/login \
-H 'Content-Type: application/json' \
-d '{"username":"emilys","password":"emilyspass"}'
# 2. Utilisez le jeton pour une requête authentifiée
curl https://dummyjson.com/auth/me \
-H 'Authorization: Bearer YOUR_ACCESS_TOKEN_HERE'
Les écritures sont également prises en charge. Vous pouvez envoyer des requêtes POST, PUT, PATCH et DELETE, et l'API répond comme si le changement avait eu lieu. Le hic : ces écritures sont simulées. DummyJSON renvoie un enregistrement qui semble mis à jour ou créé, mais rien ne persiste. Actualisez et votre "nouveau" produit a disparu. C'est intentionnel pour un service public partagé, et c'est la limite la plus importante à comprendre. La documentation ne publie pas de limites de débit strictes, mais traitez tout point de terminaison partagé gratuit avec prudence et ne le soumettez pas à un test de charge.
Pour un aperçu plus complet de ce qui existe au-delà de DummyJSON, le récapitulatif des API gratuites pour les développeurs couvre des options dans de nombreuses catégories.
DummyJSON vs JSONPlaceholder vs Reqres
DummyJSON n'est pas la seule fausse API REST gratuite. Les deux auxquelles elle est le plus souvent comparée sont JSONPlaceholder et Reqres. Elles se chevauchent, mais chacune a une orientation différente.
| Outil | Idéal pour | Ressources | Flux d'authentification | Les écritures persistent-elles ? |
|---|---|---|---|---|
| DummyJSON | Démos réalistes de type e-commerce | Produits, utilisateurs, paniers, articles, recettes, et plus | Point de terminaison de connexion + jeton d'authentification | Non (simulé) |
| JSONPlaceholder | Tutoriels CRUD rapides, configuration minimale | Articles, commentaires, utilisateurs, tâches, albums, photos | Aucun | Non (simulé) |
| Reqres | Démos de flux d'authentification et de requêtes/réponses | Utilisateurs, mocks d'inscription/connexion | Mock d'inscription/connexion | Non (simulé) |
Le modèle est le même pour les trois. Vous obtenez des données fixes, principalement en lecture seule, les écritures sont simulées, et vous ne pouvez pas changer la forme de ce qui est renvoyé. JSONPlaceholder fonctionne avec json-server en coulisses, c'est pourquoi son modèle de données semble si générique. DummyJSON l'emporte lorsque vous voulez des données qui ressemblent à un vrai magasin. Reqres est pratique lorsque vous faites spécifiquement la démonstration d'un écran de connexion.
Les sources officielles méritent d'être mises en favoris : JSONPlaceholder et le dépôt GitHub de DummyJSON si vous souhaitez l'héberger vous-même ou lire le code.
Quand les données de remplacement fixes ne suffisent plus
Les fausses API hébergées atteignent rapidement leurs limites une fois que votre projet devient spécifique. Vous le ressentirez lorsque :
- Votre application a besoin de champs que DummyJSON n'a pas. Un objet
subscription_tieroufeature_flagsn'est tout simplement pas dans le schéma, et vous ne pouvez pas en ajouter un. - Vous avez besoin d'écritures qui persistent. La création d'un flux de panier ou d'un panneau d'administration implique la création d'un enregistrement et sa relecture. Les écritures simulées brisent cette boucle.
- Vous devez tester les chemins d'erreur. Une vraie application doit gérer un
429, un500ou une charge utile mal formée. Les API à succès fixe ne produiront pas ceux-ci à la demande. - Vos données doivent correspondre à votre propre contrat OpenAPI afin que le frontend et le backend s'accordent avant la livraison du vrai serveur.
C'est le moment où vous arrêtez d'emprunter la fausse API de quelqu'un d'autre et commencez à générer la vôtre. Vous voulez la même commodité sans backend, mais avec votre schéma, vos noms de champs et des réponses que vous contrôlez.
Comment construire votre propre fausse API REST personnalisée avec Apidog
Apidog est une plateforme API qui conçoit, teste, documente et simule des API en un seul endroit. Son serveur de maquette (mock server) est l'élément qui remplace une fausse API hébergée lorsque vous avez dépassé les données fixes. Au lieu d'accepter ce que DummyJSON renvoie, vous définissez le point de terminaison et la forme des données, et Apidog génère des réponses réalistes qui correspondent. Pour suivre, téléchargez Apidog et créez un projet gratuit.
Voici le processus :
1. Définissez votre point de terminaison et votre schéma. Créez un point de terminaison comme GET /products et décrivez les champs de réponse : id, title, price, stock, category. Vous pouvez le faire manuellement ou importer un fichier OpenAPI/Swagger existant afin que la maquette corresponde à votre contrat réel.
2. Laissez la maquette intelligente générer les données. Apidog lit les noms et les types de vos champs, puis produit automatiquement des valeurs pertinentes. Un champ nommé email renvoie un e-mail, price renvoie un nombre, createdAt renvoie une date. Il n'est pas nécessaire d'écrire des données de test à la main. Si vous avez déjà utilisé Faker, c'est la même idée intégrée à la plateforme. Le guide sur la génération de données de maquette à partir de schémas OpenAPI décrit en détail l'aspect piloté par le schéma.
3. Personnalisez les valeurs et les cas limites. Besoin d'une plage spécifique pour price, d'une énumération fixe pour status, ou d'une réponse 500 délibérée pour tester la gestion des erreurs ? Vous définissez des règles par champ et par réponse. C'est la partie que les API hébergées ne peuvent pas faire, car vous possédez la définition.
4. Exécutez le serveur de maquette et appelez-le. Apidog vous fournit une URL en direct. Dirigez votre frontend vers elle exactement comme vous le feriez vers DummyJSON, à la différence que maintenant chaque champ et code de statut vous appartient :
curl https://<your-mock-host>/products?limit=5
Parce que la maquette est générée à partir de votre schéma, lorsque votre spécification API change, la maquette change avec elle. Vos fausses données et votre contrat réel ne divergent jamais. Si vous souhaitez des ensembles de données plus réalistes et variés, l'approche de la création de données de test API réalistes s'accorde bien avec le développement piloté par les maquettes.

Le compromis honnête : DummyJSON l'emporte en rapidité pour une démo jetable, puisqu'il n'y a rien à configurer. Apidog l'emporte dès que vous avez besoin de votre propre schéma, d'écritures qui semblent persistantes, d'erreurs contrôlables, ou d'une maquette qui reste synchronisée avec la véritable API que vous allez livrer.
Foire aux questions
DummyJSON est-il gratuit ?
Oui. DummyJSON est gratuit et ne nécessite pas de clé API. Vous pouvez appeler ses points de terminaison publics directement depuis un navigateur, curl ou votre application. Comme tout service gratuit partagé, il est destiné au prototypage et à l'apprentissage, pas au trafic de production ou aux tests de charge.
DummyJSON enregistre-t-il les données que je crée ou mets à jour ?
Non. Les requêtes POST, PUT, PATCH et DELETE renvoient une réponse qui semble réussie, mais rien ne persiste sur le serveur. La lecture suivante renvoie les données d'origine. Lorsque vous avez besoin d'écritures qui perdurent, créez votre propre maquette. Le guide des API de maquette explique la différence entre la simulation et la maquette avec état.
Quelle est la différence entre DummyJSON et un serveur de maquette ?
DummyJSON est un ensemble de données fixe et hébergé que tout le monde partage. Un serveur de maquette, comme celui d'Apidog, s'exécute par rapport à votre schéma et renvoie des données et des codes de statut que vous définissez. Utilisez DummyJSON pour des démonstrations génériques, et un serveur de maquette lorsque les données doivent correspondre à votre propre API.
Puis-je obtenir des données réalistes au lieu de simples placeholders ?
Oui, si vous les générez à partir d'un schéma. Les outils basés sur les schémas lisent les noms et les types de vos champs et produisent automatiquement des valeurs crédibles, de sorte qu'un champ email ressemble à un e-mail et un price à un prix. C'est la principale raison pour laquelle les équipes passent d'une fausse API fixe à leur propre maquette.
Conclusion
DummyJSON est une solide fausse API REST gratuite. C'est le moyen le plus rapide de rendre une interface utilisateur avec des produits, des utilisateurs et des paniers d'achat d'apparence réaliste sans écrire une ligne de code backend, et pour les tutoriels ou les prototypes rapides, il est difficile de faire mieux. Les limites apparaissent lorsque vous avez besoin de vos propres champs, d'écritures qui persistent, d'erreurs contrôlables ou de données qui suivent votre contrat d'API.
Lorsque vous atteignez ce point, générez votre propre fausse API REST personnalisée au lieu d'en emprunter une fixe. Apidog vous permet de définir le schéma, de simuler automatiquement des données réalistes à partir de celui-ci, et de maintenir la maquette synchronisée avec l'API que vous allez livrer. Essayez-le gratuitement et transformez votre spécification en une maquette fonctionnelle en quelques minutes.
