Easy and flexible API mocking
npm install go-mokapiMokapi is an open-source tool that helps Agile, DevOps, and Continuous
Deployment teams design, test, and validate APIs before implementation.
It enables rapid prototyping of scenarios—like delayed responses,
failures, or edge cases—without needing a live backend. By simulating
real-world conditions early, Mokapi improves API quality and reduces
the risk of bugs in production.
- Multiple Protocol support: HTTP, HTTPS, Apache Kafka, SMTP, LDAP
- Everything as Code: Reusing, version control, consistency and integrate mocks with your CI/CD.
- An embedded JavaScript engine to control everything - status, headers, delays, errors or other edge cases.
- Patch Configuration changes for mocking needs, rather than changing the original contract
- Multiple Provider support: File, HTTP, GIT, NPM to gather configurations and scripts.
- Dashboard to see what's going on.
Install and start Mokapi using one of the following methods.
Replace the URL with your own OpenAPI or AsyncAPI specification.
Windows
``shell`
choco install mokapi
mokapi https://petstore31.swagger.io/api/v31/openapi.json
MacOS
`shell`
brew tap marle3003/tap
brew install mokapi
mokapi https://petstore31.swagger.io/api/v31/openapi.json
Docker
`shell`
docker run -p 80:80 -p 8080:8080 mokapi/mokapi:latest https://petstore31.swagger.io/api/v31/openapi.json
shell
curl http://localhost/api/v31/pet/2 -H 'Accept: application/json'
`🧩 Customize Your Mock with JavaScript
Mokapi makes it simple to control responses using embedded JavaScript.
For example, you can dynamically change the response based on query parameters or headers:
`typescript
import { on } from 'mokapi';export default function() {
on('http', (request, response): boolean => {
switch (request.path.petId) {
case 2:
response.data.name = 'Betty';
return true;
case 9:
response.statusCode = 404;
}
return false;
});
}
``Mokapi’s dashboard lets you visualize your mock APIs. View requests and responses in real-time, generate and validate sample data for testing.

Explore tutorials that walk you through mocking different protocols and scenarios:
- 🌍 Get started with REST API\
This tutorial will show you how to mock a REST API using an OpenAPI specification.
- ⚡ Mocking Kafka with AsyncAPI\
mocking a Kafka topic using Mokapi and verifying that a producer generates valid messages.
- 👨💻 Mocking LDAP Authentication\
Simulate LDAP-based login flows, including group-based permissions.
- 📧 Mocking SMTP Mail Servers\
Use Mokapi to simulate sending and receiving emails in Node.js apps.
- 🖥️ End-to-End Testing with Jest and GitHub Actions\
Integrate Mokapi into your CI pipeline for full-stack E2E testing.
> More examples are available on mokapi.io/docs/resources
- Get Started
- HTTP
- Kafka
- LDAP
- SMTP
- Javascript API
- Resources
If you find Mokapi helpful, consider supporting the project:
This project is licensed under the MIT License. See the LICENSE file for details.