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 diff compares each mock with the live API, and it works without an OpenAPI spec.
  • You want CI to tell drift apart from an outage. apifae diff exits 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.

Read from Mockoon’s own documentation on . What each row is based on.
CapabilityAPIFaeMockoon (opens in a new tab)
What you install firstNothing. One native binary.Node, a container runtime or the desktop app
Mocks are files you can commitYAMLJSON
Record a real API into mocksYesYes
Named states a scenario moves betweenYesNo. Responses are rule-based, random or sequential
Compares your mock against the live APIYes, apifae diffNo. Proxy mode forwards, it does not compare
Works without an OpenAPI specYes. A spec adds a second checkYes
LicenceClosed source; binaries under MIT or Apache-2.0MIT
Desktop app for designing mocksNo. Command line onlyYes
Sends unmatched requests on to a real APINoYes, in proxy mode
Routes that keep data between callsNoYes
Serves responses in random orderNo. Response bodies can hold random valuesYes
Callbacks to other servicesNoYes

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.

  1. 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)
  2. 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)
  3. 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)
  4. 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)
  5. 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)
  6. 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)
  7. 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)
  8. Licence

  9. 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)
  10. 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)
  11. 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)
  12. 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)
  13. 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.