JSON Placeholder API
Une fausse API REST gratuite et en direct, avec 20 ressources liées (users, posts, orders et plus) interrogeables par fetch() depuis votre propre code.
GET api.jsonforge.app/placeholder/users/1Request
Endpoints
| Resource | Relation | Example |
|---|---|---|
| users | — (root) | api.jsonforge.app/placeholder/users |
| posts | userId → users | api.jsonforge.app/placeholder/posts |
| comments | postId → posts | api.jsonforge.app/placeholder/comments |
| todos | userId → users | api.jsonforge.app/placeholder/todos |
| albums | userId → users | api.jsonforge.app/placeholder/albums |
| photos | albumId → albums | api.jsonforge.app/placeholder/photos |
| categories | — (root) | api.jsonforge.app/placeholder/categories |
| products | categoryId → categories | api.jsonforge.app/placeholder/products |
| carts | userId → users | api.jsonforge.app/placeholder/carts |
| orders | customerId → customers | api.jsonforge.app/placeholder/orders |
| customers | — (root) | api.jsonforge.app/placeholder/customers |
| reviews | productId → products, userId → users | api.jsonforge.app/placeholder/reviews |
| roles | — (root) | api.jsonforge.app/placeholder/roles |
| permissions | — (root) | api.jsonforge.app/placeholder/permissions |
| notifications | userId → users | api.jsonforge.app/placeholder/notifications |
| conversations | — (root) | api.jsonforge.app/placeholder/conversations |
| messages | conversationId → conversations, senderId → users | api.jsonforge.app/placeholder/messages |
| files | ownerId → users | api.jsonforge.app/placeholder/files |
| invoices | customerId → customers | api.jsonforge.app/placeholder/invoices |
| transactions | invoiceId → invoices | api.jsonforge.app/placeholder/transactions |
Qu'est-ce que JSON Placeholder API ?
JSON Placeholder API est une fausse API REST gratuite et en direct que vous pouvez interroger par fetch() depuis votre propre code sans écrire de backend. Elle est joignable à l'URL courte api.jsonforge.app (ou sous /api/placeholder sur le domaine principal — les deux fonctionnent à l'identique) et sert 20 ressources réalistes et liées (users, posts, comments, todos, albums, photos, products, categories, carts, orders, customers, reviews, roles, permissions, notifications, conversations, messages, files, invoices et transactions), chacune avec des dizaines à des centaines d'enregistrements déterministes et des références croisées entre eux (un post a un userId, un comment a un postId, etc.), pour que vous obteniez vraiment des données d'exemple imbriquées et relationnelles plutôt qu'une poignée de lignes plates. Chaque point de terminaison prend en charge GET, POST, PUT, PATCH et DELETE, et les réponses incluent toujours des en-têtes CORS permissifs, pour que vous puissiez l'appeler directement depuis un projet navigateur, un CodeSandbox ou un exercice de cours. Les opérations d'écriture sont simulées : elles valident votre requête et renvoient une réponse réaliste, mais rien n'est jamais réellement enregistré.
Comment utiliser JSON Placeholder API
- Ouvrez l'explorateur ci-dessous, choisissez une ressource (par ex. users ou posts) et, éventuellement, un id.
- Choisissez une méthode HTTP — GET fonctionne avec ou sans id ; POST/PUT/PATCH/DELETE en exigent un quand l'API l'attend (PUT/PATCH/DELETE ont besoin d'un id, pas POST).
- Pour POST/PUT/PATCH, éditez le corps de requête JSON, puis cliquez sur « Try it » pour envoyer une vraie requête à cette API et voir la réponse en direct.
- Copiez l'extrait curl ou fetch() généré et déposez-le directement dans votre projet — l'URL et la méthode sont déjà remplies selon ce que vous venez d'essayer.
Exemples
Lister les posts de l'utilisateur 1
Entrée
GET https://api.jsonforge.app/placeholder/posts?userId=1
Sortie
[ { "id": 3, "userId": 1, "title": "...", "body": "..." }, { "id": 17, "userId": 1, "title": "...", "body": "..." } ]
Route imbriquée : commentaires d'un post précis
Entrée
GET https://api.jsonforge.app/placeholder/posts/1/comments
Sortie
[ { "id": 5, "postId": 1, "name": "...", "email": "...", "body": "..." } ]
Création simulée (non persistée)
Entrée
POST https://api.jsonforge.app/placeholder/posts Body: {"title": "Hello", "userId": 1}
Sortie
{ "id": 151, "title": "Hello", "userId": 1 }
Erreurs courantes
- Supposer qu'un POST/PUT/PATCH/DELETE persiste — vérifier avec un GET ultérieur et être surpris qu'il ne reflète pas le changement. Rien n'est stocké ici ; voir la FAQ.
- Essayer /orders/1/items ou /carts/1/items en attendant une réponse de route imbriquée — les items des carts et orders sont des champs embarqués dans l'enregistrement lui-même, pas des ressources séparées, donc un tel point de terminaison n'existe pas (404).
- Supposer que users et customers sont la même identité — ils sont volontairement séparés : users est l'identité derrière posts/comments/todos/messages/notifications/files, tandis que customers est l'identité côté commerce derrière orders/invoices.
Pourquoi utiliser cet outil
- 20 ressources réalistes et croisées avec de vraies clés étrangères et des routes imbriquées — pas seulement une poignée de tableaux plats et déconnectés.
- Entièrement déterministe : le même id renvoie toujours le même enregistrement, donc vous pouvez construire une démo autour d'ids précis et elle continuera de fonctionner.
- Aucune inscription, aucune clé d'API, aucun casse-tête de limite de débit à configurer — CORS est ouvert par défaut, donc cela fonctionne immédiatement depuis n'importe quel projet navigateur.