Free · No API key · CORS enabled
Mock REST APIs for learning, building, and testing
Realistic synthetic data, simulated CRUD, demo authentication, and HTTP testing utilities. Point your app, tutorial, or test suite at Mock APIs and start sending requests.
https://test.naimulhassan.me/api/v1Try it right now
Pick a language, copy the snippet, or run the request from your browser.
curl 'https://test.naimulhassan.me/api/v1/users/1'{
"id": 1,
"firstName": "Emily",
"lastName": "Carter",
"username": "emilyc",
"email": "emily.carter@example.com",
"phone": "+1 555-0100",
"age": 32,
"gender": "female",
"birthDate": "1993-02-08",
"image": "https://test.naimulhassan.me/api/v1/images/users/1",
"role": "admin",
"address": {
"street": "3335 Lakeview Terrace",
"city": "Denver",
"state": "Colorado",
"postalCode": "97836",
"country": "United States"
},
"company": {
"name": "Evergreen Robotics",
"department": "Engineering",
"title": "DevOps Engineer"
}
}Resources
Eight related datasets. Every record is synthetic and deterministic, so tutorials and tests stay reproducible.
Quickstart
- 01
Fetch some data
No signup or key. Send a GET request from any language or tool.
Terminalcurl 'https://test.naimulhassan.me/api/v1/products?limit=5' - 02
Shape the response
Paginate, sort, select fields, filter, and search with query parameters.
Terminalcurl 'https://test.naimulhassan.me/api/v1/products?sortBy=price&order=desc&select=title,price' - 03
Practice writes
POST, PUT, PATCH, and DELETE return realistic responses without changing shared data.
Terminalcurl -X DELETE 'https://test.naimulhassan.me/api/v1/todos/1' -i
Works with your stack
Every endpoint in the docs has copy-ready snippets for cURL, fetch, Axios, Dart (Dio and http), and Python requests. This one creates a user:
- Pagination, sorting & filters. limit/skip pagination with totals, sortBy/order, field selection, and resource-specific filters.
- Search. Case-insensitive search endpoints with predictable empty results.
- Demo authentication. Login, register, refresh, and bearer-protected routes with real 401/403 behavior.
- Delays & status codes. Add ?delay=ms to any endpoint or request any common status code to test your UI states.
- Consistent errors. Every error has the same JSON shape with a code and a request ID you can trace.
- OpenAPI 3. A machine-readable spec generated from the same source as the API and these docs.
curl -X POST 'https://test.naimulhassan.me/api/v1/users' \
-H 'Content-Type: application/json' \
-d '{
"name": "Alex Morgan",
"email": "alex@example.com"
}'Simulated writes vs. persistent data
What happens when you write
POST, PUT, PATCH, and DELETE are validated exactly like a real API and return realistic responses: 201 with a new ID, the merged record, or 204. Responses carry an X-MockAPIs-Simulated: true header.
Why nothing is saved
The dataset is shared by everyone. Keeping it read-only means tutorials always show the same results and nobody can vandalize or leak data. If you need changes to stick, keep them in your app state or a local mock.
Fair use
Mock APIs is a shared practice service. Requests are rate limited per IP (by default 100 requests per minute) and there is no uptime guarantee. Do not use it for production traffic, load testing, or real personal data, and never use the demo authentication to protect a real application. See rate limits for details.