APIFae or Mockoon
Both tools serve HTTP mocks from files you can keep in git. Mockoon pairs a desktop app for designing mocks with a command-line tool that runs them. APIFae is a single native binary you run from the terminal, and it also checks whether your mocks still match the API they stand in for.
This page compares APIFae with the Mockoon desktop app and command-line tool. Every claim about Mockoon below links to the documentation page it came from.
Pick Mockoon if
- You'd rather design mocks in a desktop app than in a text editor.
- You need an open-source tool. Mockoon is licensed under MIT.
- You want routes that create, read, update and delete records and keep that data between calls.
- You want to mock part of an API and send every other request on to the real one.
- You want responses served in random order, to imitate an unpredictable API.
- You want a request to trigger a callback to another service.
Pick APIFae if
- You don't want to install a runtime or a desktop app first. APIFae is a single native binary.
- You need to know when your mocks stop matching the real API.
apifae diffcompares each mock with the live API, and it works without an OpenAPI spec. - You want CI to tell drift apart from an outage.
apifae diffexits 1 when a mock has drifted and 2 when it can't reach the API.
Both tools keep mocks in files you can commit and can record real traffic into mocks.
| Capability | APIFae | Mockoon (opens in a new tab) |
|---|---|---|
| What you install first | Nothing. One native binary. | Node, a container runtime or the desktop app |
| Mocks are files you can commit | YAML | JSON |
| Record a real API into mocks | Yes | Yes |
| Named states a scenario moves between | Yes | No. Responses are rule-based, random or sequential |
| Compares your mock against the live API | Yes, apifae diff | No. Proxy mode forwards, it does not compare |
| Works without an OpenAPI spec | Yes. A spec adds a second check | Yes |
| Licence | Closed source; binaries under MIT or Apache-2.0 | MIT |
| Desktop app for designing mocks | No. Command line only | Yes |
| Sends unmatched requests on to a real API | No | Yes, in proxy mode |
| Routes that keep data between calls | No | Yes |
| Serves responses in random order | No. Response bodies can hold random values | Yes |
| Callbacks to other services | No | Yes |
Where each claim comes from
Checked against Mockoon’s documentation on . If a quote no longer matches the page it links to, the claim is out of date and we want to hear about it.
Pick Mockoon if
You'd rather design mocks in a desktop app than in a text editor.
It combines a desktop application to design and run mock servers locally, and a CLI to self-host your fake APIs
https://github.com/mockoon/mockoon (opens in a new tab)You need an open-source tool. Mockoon is licensed under MIT.
The MIT License (MIT)
https://github.com/mockoon/mockoon/blob/main/LICENSE.md (opens in a new tab)You want routes that create, read, update and delete records and keep that data between calls.
Data buckets are generated when the server start, their state persisting between calls … A CRUD endpoint will automatically create a series of routes during runtime, allowing you to perform actions on your data bucket
https://mockoon.com/docs/latest/api-endpoints/crud-routes/ (opens in a new tab)You want to mock part of an API and send every other request on to the real one.
all routes that have been defined in Mockoon will be intercepted, and any other request not matching any route path will be forwarded to the server URL you entered in the proxy mode setting
https://mockoon.com/docs/latest/server-configuration/proxy-mode/ (opens in a new tab)You want responses served in random order, to imitate an unpredictable API.
Mockoon can serve the route responses randomly (200, 500, 404) to simulate an unpredictable behavior
https://mockoon.com/docs/latest/route-responses/multiple-responses/ (opens in a new tab)You want a request to trigger a callback to another service.
Callbacks/webhooks support Simulate complex API behaviors with callbacks/webhooks
https://mockoon.com/features/ (opens in a new tab)What you install first
Node, a container runtime or the desktop app
a simple and easy to use NPM package or Docker image
https://mockoon.com/cli/ (opens in a new tab)Mocks are files you can commit
JSON
They are stored in a JSON format and can be easily shared with other Mockoon users, used with the CLI, or stored in a git repository
https://mockoon.com/docs/latest/mockoon-data-files/data-files-location/ (opens in a new tab)Record a real API into mocks
Yes
Mockoon can also automatically create mock API endpoints every time a request is logged
https://mockoon.com/docs/latest/logging-and-recording/auto-mocking-and-recording/ (opens in a new tab)Named states a scenario moves between
No. Responses are rule-based, random or sequential
Route responses order define the order in which the rules are interpreted … Mockoon can serve the route responses randomly (200, 500, 404) to simulate an unpredictable behavior … Mockoon can serve the route responses sequentially (200 → 500 → 404)
https://mockoon.com/docs/latest/route-responses/multiple-responses/ (opens in a new tab)Compares your mock against the live API
No. Proxy mode forwards, it does not compare
any other request not matching any route path will be forwarded to the server URL you entered in the proxy mode setting
https://mockoon.com/docs/latest/server-configuration/proxy-mode/ (opens in a new tab)Works without an OpenAPI spec
Yes
Mockoon desktop stores each mock API's data in a separate file. These files contain all the information about the environment, routes, and responses
https://mockoon.com/docs/latest/mockoon-data-files/data-files-location/ (opens in a new tab)Licence
MIT
The MIT License (MIT)
https://github.com/mockoon/mockoon/blob/main/LICENSE.md (opens in a new tab)Desktop app for designing mocks
Yes
It combines a desktop application to design and run mock servers locally, and a CLI to self-host your fake APIs
https://github.com/mockoon/mockoon (opens in a new tab)Sends unmatched requests on to a real API
Yes, in proxy mode
all routes that have been defined in Mockoon will be intercepted, and any other request not matching any route path will be forwarded to the server URL you entered in the proxy mode setting
https://mockoon.com/docs/latest/server-configuration/proxy-mode/ (opens in a new tab)Routes that keep data between calls
Yes
Data buckets are generated when the server start, their state persisting between calls … A CRUD endpoint will automatically create a series of routes during runtime, allowing you to perform actions on your data bucket
https://mockoon.com/docs/latest/api-endpoints/crud-routes/ (opens in a new tab)Serves responses in random order
Yes
Mockoon can serve the route responses randomly (200, 500, 404) to simulate an unpredictable behavior
https://mockoon.com/docs/latest/route-responses/multiple-responses/ (opens in a new tab)Callbacks to other services
Yes
Callbacks/webhooks support Simulate complex API behaviors with callbacks/webhooks
https://mockoon.com/features/ (opens in a new tab)
Our own column
The APIFae cells have no quotes because you can check them by running the binary. The full comparison puts APIFae next to WireMock, Prism and Mockoon, and the guide to keeping a mock honest walks through a real apifae diff run against a live API.