Deterministic data
Every item is generated with a seeded Faker.js instance, so /hub/users/5 always returns the same user. Your tests and tutorials stay reproducible — today, tomorrow and after every deploy.
Full CRUD, zero persistence
POST, PUT, PATCH and DELETE respond exactly like a real API would — echoing your payload with a new id — but nothing is stored. Safe and open for everyone.
Pagination built in
Every list endpoint supports _page and _limit so you can build and test paginated UIs without any backend work.
Simulate errors and latency
Add ?_status=500 to force any status code, or ?_delay=2000 to simulate a slow network. Test your error handling and loading states with a query param.
Same resources, one base URL to change
Replace https://jsonplaceholder.typicode.com with https://api.mockfly.dev/hub and the routes you already know keep working, nested ones included: /users/1/posts, /posts/1/comments, /albums/1/photos.
| Route | Mockfly API Hub | JSONPlaceholder |
|---|---|---|
| /users | 100 users with address, company and avatar | 10 users |
| /posts | 100 posts with tags and likes | 100 posts |
| /comments | 500 comments | 500 comments |
| /albums | 100 albums | 100 albums |
| /photos | 500 photos with real placeholder images | 5000 photos |
| /todos | 200 todos with priority and due date | 200 todos |
| /products | 100 e-commerce products | Not available |
Full comparison: Mockfly API Hub vs JSONPlaceholder.
Available APIs
Every API below is live right now. Pick one, copy the URL and start building.
Questions about the free fake REST API
Is this dummy API really free?
Yes. The API Hub is public: no signup, no API key, no credit card. It is rate limited by IP so everyone gets a fair share, which is plenty for tutorials, demos and test suites.
Is the data stable between requests?
Yes. Every item is generated once with a seeded Faker.js instance, so /hub/users/5 returns the same user today, tomorrow and after every deploy. Tests that assert on a specific record keep passing.
Can I POST, PUT, PATCH and DELETE?
Yes. Writes answer like a real API, echoing your payload with a new id and the right status code, but nothing is persisted. Existing code written against JSONPlaceholder keeps working.
How do I test error handling and slow networks?
Add ?_status=500 (or any status code) to force the response status, and ?_delay=2000 to delay it by up to 3000 ms. Combine them with _page and _limit to test paginated tables in every state.
What if I need my own endpoints or data shape?
The Hub is fixed on purpose. Create a free Mockfly project to define your own endpoints, bodies, status codes and rules: 4 endpoints and 500 requests a day on the free plan, unlimited on Pro.
Need your own endpoints?
These public APIs are fixed. With a free Mockfly account you can build your own mock APIs: custom endpoints, conditional responses, Faker.js templates, AI-generated data and more.