iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
When the production backend is still a couple of weeks away, frontend work does not have to stop. I built Mockly to turn JSON collections into hosted fake REST endpoints, so I could develop against HTTP requests before the real API was ready. You can try it with the public demo or create a project, paste in sample data, and use its endpoints from your app.
Why I built Mockly
“What do you do for those couple of weeks?” was the problem I wanted to solve. I had grown tired of waiting for a backend before I could build and exercise a frontend. The apparent answer sounded simple: store some JSON and serve it over REST. Mockly is my attempt to make that practical without requiring developers to build and host a mock API themselves.
The idea is to let a frontend use realistic HTTP endpoints while the production backend is unavailable. It is for development and prototypes—not a replacement for a production backend. As I put it, “That’s why it’s free and will stay free.” That describes my intent, not a binding promise about future terms.
How to try Mockly
Mockly organizes data into projects and named collections. Its public demo lets you try requests without creating an account; for your own mock, create a project, add a collection, and provide JSON records. The resulting endpoint follows this pattern:
#1 Best Overall
- Includes Raspberry Pi 5 with 2.4Ghz 64-bit quad-core CPU (8GB RAM)
- Includes 128GB Micro SD Card pre-loaded with 64-bit Raspberry Pi OS, USB MicroSD Card Reader
- CanaKit Turbine Black Case for the Raspberry Pi 5
- CanaKit Low Noise Bearing System Fan
- Mega Heat Sink - Black Anodized
https://api.m0ckly.site/m/<publicId>/<collection>
Replace <publicId> and <collection> with the values for your project and collection. The no-account demo uses shared fixtures, so treat it as a disposable way to explore rather than as private storage.
What the fake API can do
Mockly is meant to cover common frontend interactions rather than only return a static JSON file. The documented features include:
Rank #2
- Includes Raspberry Pi 4 4GB Model B with 1.5GHz 64-bit quad-core CPU (4GB RAM)
- Includes Pre-Loaded 32GB EVO+ Micro SD Card (Class 10), USB MicroSD Card Reader
- CanaKit Premium High-Gloss Raspberry Pi 4 Case with Integrated Fan Mount, CanaKit Low Noise Bearing System Fan
- CanaKit 3.5A USB-C Raspberry Pi 4 Power Supply (US Plug) with Noise Filter, Set of Heat Sinks, Display Cable - 6 foot (Supports up to 4K60p)
- CanaKit USB-C PiSwitch (On/Off Power Switch for Raspberry Pi 4)
- CRUD requests: read collections and individual records, and create, update, or delete records with
POST,PATCH,PUT, andDELETE. - Filtering and search: filter by text or numeric ranges, and search across fields.
- Sorting and pagination: request ordered results and pages, including pagination metadata for the frontend to consume.
- Relations: represent related records and embed them in responses.
- Controlled responses: configure a fixed status and response body to exercise error handling, or add a delay to test loading states.
- Controls for the mock: disable methods or a project when you want to stop accepting requests.
These behaviors make it possible to develop UI states such as empty lists, paginated results, server errors, and slow responses. They do not establish that a mock and a future production API will have identical schemas or behavior.
Recommended Free Tools
Switching from the mock to the real backend
My preferred workflow is to keep the frontend’s API functions and query hooks in place, and make the API base URL configurable. While the backend is unavailable, point the app at the Mockly project endpoint; when the real service is ready, change the base URL rather than rewriting every call site.
For a Vite app, that might mean setting VITE_API_URL to the project endpoint during mock development, then changing it to the company API URL for integration. This keeps the switch localized, but it cannot reconcile contract differences automatically. Check request and response shapes, authentication, error formats, and endpoint behavior against the real backend before relying on the integration.
Limits that matter
Mockly’s official documentation distinguishes the shared public demo from project mocks. These are service-specific limits, not general REST limits:
Rank #4
- Broadcom BCM2711, quad-core Cortex-A72 (ARM v8) 64-bit SoC @ 1. 5GHz
- 2. 4 GHz and 5. 0 GHz IEEE 802. 11b/g/n/ac wireless LAN, Bluetooth 5. 0, BLE
- 2 × USB 3. 0 ports, 2 x USB 2. 0 Ports
- 2 × micro HDMI ports supproting up to 4Kp60 video resolution
- Micro SD card slot for loading operating system and data storage
| Scope | Documented limit | What it means |
|---|---|---|
| Public demo | 60 requests per minute per IP | Requests are budgeted by IP address. |
| Public demo | 8 KB maximum record size | Large records may not fit in the demo. |
| User project | 600 requests per minute | This is separate from the demo’s per-IP limit. |
| User project | Up to 25 collections per project | A project can contain multiple named collections. |
| User project | Up to 500 records per collection | This is a per-collection cap. |
| Import | Up to 500 objects | The documented import limit applies to an import operation. |
The public demo resets its fixtures hourly. Avoid building a workflow that depends on demo data persisting, and use a project mock when you need your own fixture set.
Keep public mock data genuinely fake
Mock endpoints are open by default. According to Mockly’s documentation, they do not require a token or header and do not check the request origin; CORS is open. Anyone with the endpoint link can read, create, edit, or delete records. The documentation puts it plainly: “The publicId is not a secret: it travels in the URL and lands in browser history, logs and anything you paste it into.”
Best Value
- Includes Raspberry Pi 5 16GB with 2.4Ghz 64-bit quad-core CPU (16GB RAM)
- Includes 128GB Micro SD Card pre-loaded with 64-bit Raspberry Pi OS, USB MicroSD Card Reader
- CanaKit Turbine Black Case for the Raspberry Pi 5
- CanaKit Low Noise Bearing System Fan
- Mega Heat Sink - Black Anodized
Use invented sample data only. Do not paste real personal data, API keys, tokens, or production exports into a public mock. Disabling a project makes its endpoints return 403 while preserving its data. Mock authentication can help exercise a frontend login flow, but Mockly describes it as mock-grade protection, not a security boundary.
Where Mockly fits
Mockly addresses a specific gap: getting a frontend moving against hosted HTTP endpoints before the production API exists. It offers more request behavior than a static fixture, including CRUD, filtering, pagination, relations, delays, and forced responses. The trade-off is that its public endpoints are not private, and its documented quotas and data caps make it a prototyping tool rather than a production service.
The useful part of the workflow is not assuming the mock will become the backend. It is keeping the frontend’s API layer intact while using a configurable base URL, then checking the actual contract when the production service is available.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

