A hosted REST API for front-end & QA testing
Test your front-end against a real API
ReqLab is a hosted fake REST API with real users, resources, auth and delayed responses. Try every endpoint in the browser, then hit the same URLs from Postman or your code.
Nikhil Pratap Singh
Aspiring Software Tester / QA Professional
B.Sc. Information Technology
Real, persistent data
Users and resources are served from a live database, with real pagination.
Delays on demand
Append ?delay=3 to any GET to test loading states and timeouts.
Safe writes
POST, PUT, PATCH and DELETE return realistic responses without mutating data.
Live console
Pick an endpoint, tweak the path or payload, and send a real request.
List users
Paginated list of sample users. Supports page and per_page.
Expected status: 200
Request body
No body sent for GET requests.
cURL
curl -X GET "/api/public/users?page=1&per_page=6"
Response
// Hit Send to run this request against the live API.
Endpoint reference
Every route is public — call it from Postman, curl, or your app. No API key needed.
| Method | Path | Description | Status |
|---|---|---|---|
| GET | /api/public/users?page=1&per_page=6 | Paginated list of sample users. Supports page and per_page. | 200 |
| GET | /api/public/users/2 | Fetch one user by numeric id. | 200 |
| GET | /api/public/users/23 | Returns an empty body with a 404 status — perfect for negative tests. | 404 |
| POST | /api/public/users | Echoes your payload back with a generated id and createdAt timestamp. | 201 |
| PUT | /api/public/users/2 | Full replace. Returns the payload plus an updatedAt timestamp. | 200 |
| PATCH | /api/public/users/2 | Partial update. Same response shape as PUT. | 200 |
| DELETE | /api/public/users/2 | Always succeeds with 204 No Content and an empty body. | 204 |
| POST | /api/public/register | Only e-mails that exist in the sample data set can register. | 200 |
| POST | /api/public/register | Missing fields return 400 with an error message. | 400 |
| POST | /api/public/login | Returns a static token you can reuse in Authorization headers. | 200 |
| POST | /api/public/login | Unknown e-mail or missing password returns 400. | 400 |
| GET | /api/public/unknown | A second collection (colors) so you can test more than one entity. | 200 |
| GET | /api/public/unknown/2 | Fetch one color by id. | 200 |
| GET | /api/public/unknown/23 | 404 for ids outside the data set. | 404 |
| GET | /api/public/users?delay=3 | Add ?delay=<seconds> (max 10) to any GET to test timeouts and spinners. | 200 |
FAQ
- Do writes actually change the data?
- No. POST, PUT, PATCH and DELETE return realistic responses (including generated ids and timestamps) but the sample data set stays intact for everyone.
- Is there rate limiting or an API key?
- No key, no signup. Please keep usage reasonable — it is a shared sandbox meant for demos, tutorials and test suites.
- How do I test slow networks?
- Add ?delay=<seconds> to any GET request, up to 10 seconds.
- Can I call it from my own app?
- Yes. CORS is open, so browser apps, mobile clients and CI test suites can all hit these URLs directly.