Your screen is too small. Please widen your browser window or use a device with a screen width of at least 300px to use this app.
Answers about Fake API: what it costs, how long your mock endpoints live, which limits apply, whether you can call them from CI, and how AI generated responses work.
Yes. Creating an account costs nothing and includes 5 projects, 10 endpoint groups per project, and 10 endpoints per group. AI generated responses are included as well, at 30 designs per day.
No. Endpoints are created in the browser and answer over HTTPS straight away. There is no CLI, no SDK, and nothing to add to your project. Your app only needs the URL.
Yes. The home page has a trial box where you build up to 5 endpoints and call them over HTTPS straight away, with no account. It is meant for a quick look rather than for work you keep: those endpoints are deleted after 24 hours, anyone holding the URL can change them, the AI variants are off, and they stay behind when you sign up. Create an account when you want mocks that are yours.
An endpoint in your account stays exactly as you left it until you change or delete it. Nothing expires on a timer, so a URL pasted into a ticket last month still answers today. The trial endpoints on the home page are the exception, since those are swept on a timer.
Yes. The URLs are ordinary public HTTPS endpoints with no authentication, so curl, fetch, Postman, Playwright, and any CI runner can call them the same way your app does.
Yes. Every endpoint has its own status code, anywhere from 100 to 599. Point one endpoint at a 500 and leave it there, and reproducing an error path no longer means editing code. At 204 the body is sent empty, as the spec requires.
Yes. Each endpoint carries its own delay, from 0 up to 60,000 ms, which is how you get your loading states and timeout branches actually exercised.
Up to 30,000 characters, with at most 50 items in any single list. That is enough for a full page of results rather than one sample row.
You write the JSON body once and tick the fields that should change. The shape of the response stays fixed, and only the ticked values are regenerated on each call, so your UI meets varied data instead of the same placeholder row every time. The feature is off by default.
Your projects and their definitions are scoped to your account and are not listed publicly. The generated endpoint URLs themselves are public and unauthenticated by design, so treat them as shareable and do not put anything sensitive in a response body.
No, and it is not meant to be. There is no persistence between calls, so a POST does not change what a later GET returns. It exists to unblock frontend work while the real API is being built.
No. Every response body is one you write. There is no built in products, users, or carts collection to call, so if you want a storefront or a user list you paste that shape yourself, optionally letting the AI variants fill the values in.
For a first fetch or a tutorial, JSONPlaceholder is simpler and needs no account. Use this when you need your own response shape, a specific status code, or a deliberate delay, none of which a shared public dataset can give you.
It shut down, which is why links to it in older tutorials and Stack Overflow answers no longer resolve. This site does the same job: paste a JSON body and get a public HTTPS URL that serves it back.
Yes, by pasting a JSON:API shaped body. An endpoint serves whatever valid JSON object you write, so the envelope is yours to choose. It does not implement the specification itself, so there is no content negotiation, sparse fieldset handling, or relationship traversal.
Looking for step by step instructions instead? The documentation walks through creating a project, defining endpoints, and calling them from your app.
There are also three guides that stand on their own, whichever tool you end up using: mock data covers where a mock belongs and which values actually break a UI, mock API tools compares the dedicated services and what separates them, and free APIs for testing compares the public datasets you might use before any of them.