Online API Mocking Tools Comparison
Tags: Programming, Rest Api, API, Api Integration, Software Engineering

What is API mocking and why do you need it?

If you are a software engineer and you’ve used to collaborate with other developers and teams, you realize that in most cases software development process is divided into multiple stages and tasks. Dividing tasks even into smaller chunks and working on them in parallel became a philosophy of Agile methodologies like Scrum, Kanban etc. As a result, there could be a lot of tasks that have dependencies on each other.

One of the most common dependency cases in software development is that client application (web, mobile, desktop) requires API (some web services, e.g. REST) from the server side application (back-end). Obviously, nowadays front-end developer does not wait for the back-end developers to complete their part of the work like it was years ago when Waterfall was still in trend. Now client app engineers are using data mocks (stubs, fake data) in order to simulate requests to and/or responses from the server. This allows to progress not only with UI (user interface), but also with the app functionality. All this means that the dependencies between front-end and back-end are almost gone.

Same approach is also used by back-end developers when they are waiting for the 3rd party web service from other back-end developers.

Types of Mock Data

There are 2 types of mock data storage:

Local — the mock is served directly from the local environment. It could be simply some file stored locally on a computer (e.g. *.json or *.xml file). Alternatively it could be some local application which serves data from some local web server where you manage local mock services (e.g. Mockoon, WireMock).

Online (Cloud) — the mock is stored and managed on some remote service which has its own external Domain/URL and can be reached from any location… of course, if you have an Internet connection… though it is pretty difficult to imagine that you do not have one.

In this comparison article I will focus on the online tools I was using or trying to use during applications development (both client and server apps). The reason for this is that I find it a bit easier and flexible to work with. It is easier to share such mocks, control and manage them, but the main thing is because some online API mocking tools allow to capture and debug requests not only from your local machine, but also from any other 3rd party, which is useful particularly for back-end developers.

List of compared online tools

Below is the list of online tools to be compared. The list consists of tool name, URL and type of pricing.

QuickMocker (https://quickmocker.com, Freemium) Beeceptor (https://beeceptor.com, Freemium) MockLab (https://get.mocklab.io, Freemium) MockAPI (https://mockapi.io, Freemium) APIMocha (https://apimocha.com, Free) Mocky (https://designer.mocky.io, Free)

Common Features

All of those services listed above have following common features:

Allow you to define some remote endpoint (HTTP Method + URL)

Define a custom response data (response headers, response body, response status etc)

CORS support (required for browser apps)

Except for this, I want to list their free features I have discovered on the date of this article one by one and at the end provide a comparison table which I hope will be useful for you when choosing the right tool for yourself.

So, let’s get started!

1. QuickMocker

I have discovered QuickMocker recently, but for me it became most helpful. It supports almost all features that others have, has a simple and modern user interface and additionally it offers unique features. QuickMocker has a Free and also two premium subscription plans that have higher quotas for endpoints and requests and the cost relatively cheap, something like few bucks.

Below are the features that QuickMocker supports in a free version:

Private management of endpoints / rules

Live (instant) capturing and debugging of requests (no need for page refresh)

Requests log (72 hours in free version)

Dynamic URLs (Regular Expressions)

Multiple HTTP methods per endpoint

Response templating (supports more than 100 shortcodes for contextual, random and fake data)

Endpoints prioritization (manual sorting or reordering of endpoints)

Request Proxy

Endpoint Access Restrictions (IP Address / Authorization Header)

Import of endpoints from OpenAPI (Swagger) Specifications

Local Forwarder - this is the main unique feature for me, because it allows to forward external request from some 3rd party (e.g. webhook from Stripe, Paypal, BitBucket etc) to your localhost application. So now when I develop and test integration with 3rd party that sends some notifications to my server app, I go to QuickMocker, add my localhost app URL (e.g. myapp.localhost) and external requests are magically delivered to the application that is hosted on my local machine only (meaning the app does not have any public URL or even IP address). You can also forward requests to your localhost app any time you want. Just define the Forwarder URL. Learn more about real world sample in this article: https://bit.ly/2UtrlNR

Finally this QuickMocker does provide a support over email, even when I was using a free subscription plan.

2. Beeceptor

Me and my colleagues have been using this tool pretty heavy in the past. It still seems to be one of the most popular among developers community, but in my opinion it has already very outdated UI/UX and on the current date it offers much less than other similar tools. It has one free and two premium subscription plans with some higher quotas and extra features.

Below are the main free features:

Live (instant) capturing and debugging of requests (no need for page refresh)

Dynamic URLs (limited support for only few patterns)

Proxy Requests

If you want to manage endpoints / rules privately, do some templating of response and get some support, you will have to buy one of the premium subscriptions.

3. MockLab

Another interesting tool, which is based on a local stubbing tool WireMock. It has a freemium pricing model with one free and four paid subscription plans. I won’t go deep into the paid features because I have not used them.

The main free features are:

Private management of endpoints / rules

Manual capturing and debugging of requests (requires to press refresh button)

Requests log is stored only 4 hours

Dynamic URLs (including Regular Expressions)

Response templating

Proxy Requests

Endpoint Access Restrictions (Authorization Header, HTTP Authentication)

Import of Open API rules (in beta)

Also they have support through email and live chat, which pretty handy.

4. MockAPI

This is another freemium tool with one free and two premium subscriptions. The only difference between the free and paid version is the number of resources. This tool has a very interesting approach in data mocking and templating. On the other hand it lacks the requests interception / debugging. Below I will list its features:

Private management of endpoints / rules

Dynamic URLs (only entity ID)

An interesting solution to response templating comparing to other tools

5. APIMocha

This is a free only tool without any premium subscriptions and therefore there’s no user authentication. Endpoint is available for 30 days and will be removed if there’s no activity during 30 days. You are able to edit your endpoint only from the same computer + browser that you used to create the endpoint and in case you clear the site storage, the endpoint management is gone and you’ll have to start over.

The main features are:

Live (instant) capturing and debugging of requests (no need for page refresh)

Import of Open API rules

6. Mocky

Very simple free only tool. It does not have any authentication and therefore no private management of the endpoints. You cannot even edit your existing endpoint like you could do in the previous mocking tool. No requests capturing and debugging available. Still, this is one of the most popular online mocking tools.

Comparison table

Below, as promised, I have prepared the comparison table of free features of the online API mocking tools that was reviewed above: