// the find
Ovi/DummyJSON
DummyJSON.com provides different types of REST Endpoints filled with JSON data which you can use in developing the frontend with your favorite framework and library without worrying about writing a backend.
DummyJSON is a hosted fake REST API (Express + MongoDB) that serves realistic-looking JSON for products, users, carts, posts, comments, quotes, recipes and todos, plus a few side tools like an image/identicon generator and a custom-response builder. It's for frontend devs who want to build against believable data without standing up a backend, and it's also self-hostable via the included Dockerfile.
The datasets are actually shaped like real domain objects (nested users->posts->comments, carts with computed totals) rather than lorem-ipsum filler, which makes it far more useful for building real UI than json-placeholder-style tools. It supports the operations you'd actually need to test against — search, pagination, nested resource fetches, and an artificial `delay` param for exercising loading states. It ships auth (JWT, refresh tokens, 2FA/TOTP) so you can prototype login flows too, not just data display. And it's not locked to the hosted instance — Dockerfile plus raw data generators mean you can run your own copy if you don't want a third-party dependency in your test suite.
Self-hosting is more involved than it looks: it's an Express app tightly coupled to MongoDB, and the seed data lives as generator scripts under raw/ rather than a documented one-command setup — the README only talks about hitting the public dummyjson.com endpoint. There's no visible test suite in the tree (no jest/mocha config), which is a little uncomfortable for something people depend on as a stable API contract. The project mixes concerns — API server, EJS-rendered marketing/docs site, and a handful of unrelated tools (webhook tester, identicon generator) all in one repo — so the surface area is bigger than 'just a fake API' and harder to reason about if you're only here for the JSON endpoints. Rate limiting and caching middleware exist but their behavior isn't documented, so if you self-host you're reverse-engineering limits rather than configuring them.