Skip to content
Create a hosted hackable mock API backend in seconds
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Travis CI Build Status David Dependancy Status npm package npm package


APImocka helps you create a quick hosted API server populated with mock data using the faker API.

This has many uses, including, but not limited to, quick prototyping, tests and/or simultaneously developing UI and backend API.


  • Authenticate with the APImocka server.
  • deploy/delete mocks.
  • Run local version of mocks.

Table Of Content

Getting Started


# via npm
npm install -g apimocka
# via yarn
yarn global add apimocka


# register an account
apimocka register

# login to your account
apimocka login

Create a Simple Mock config file

    "total": 5,
    "name": "trial",
    "routes": {
        "users": {
            "fullname": "name.firstName name.lastName",
            "avatar": "internet.avatar",
            "username": "internet.userName",
            "password": "internet.password"

save file as trialMock.json

To learn more about customizing your mock config file, check here

Deploy mock

apimocka deploy path/to/trialMock.json

Mock API

After creating a new mock, you get a personalized URL in the format:{mockId}

Mock requests

All requests made to the server must have the content-type header set to application/json

Path ({projectId}) Allowed Request type Description
/ GET fetches all mock information
/{route} GET fetches all data in specified route
POST Adds new data to route
/{route}/{id} GET Fetches data in specified index
PUT Replaces any specified field with new data
DELETE Delete specified index and all it's child contents
/{route}/verify POST Pass any object and verify if any match exists in specified route

Mock Configuration

A mock configuration file is used to specify mock settings, routes structure, and total number of data to mock for each route.

The mock data is generated using the faker API

Format: JSON or YAML


A simple configuration file looks like:

JSON format:

    "total": 5,
    "name": "trial",
    "routes": {
        "users": {
            "fullname": "name.firstName name.lastName",
            "avatar": "internet.avatar",
            "username": "internet.userName",
            "password": "internet.password"

YAML format:

total: 5
name: trial
    fullname: name.firstName name.lastName
    avatar: internet.avatar
    username: internet.userName
    password: internet.password

CLI Commands

Administrative commands

Command Description
register Create a new APImocka account
login Authenticate to your APImocka account
list Show all your available mocks
deploy [configFile] Create a new mock from config file
delete [mockId] Delete an existing mock


Command Description
localize [mockId] Run a local version of existing mock
You can’t perform that action at this time.