Documentation · Releases · Tutorials · Blog
Mokapi is an open-source, local-first mock API tool to develop and test faster. Simulate complete environments driven by OpenAPI and AsyncAPI specifications without external dependencies.
It supports HTTP/REST, Apache Kafka, MQTT, Websocket, LDAP, and SMTP from a single tool, making it useful across the whole stack, not just for REST APIs.
Use it to:
- Build frontend UIs before the backend exists
- Test error states, timeouts, and edge cases safely
- Run reliable CI/CD pipelines without external dependencies
- Validate API contracts before writing implementation code
Try the mock API instantly:
npx go-mokapi https://petstore3.swagger.io/api/v3/openapi.json
curl http://localhost/api/v3/pet/1 -H 'Accept: application/json'
A working mock from a public OpenAPI spec in under a minute. No installation required.
| Feature | Description |
|---|---|
| Multi-protocol | HTTP/HTTPS, Apache Kafka, MQTT, Websocket, LDAP, SMTP |
| Spec-driven | Uses OpenAPI and AsyncAPI as the source of truth |
| JavaScript scripting | Customize responses, simulate errors, add delays |
| Everything as code | Version-controlled, CI/CD-ready, no UI required |
| Config patching | Override parts of a spec without modifying the original |
| Built-in dashboard | Real-time request and response viewer at localhost:8080 |
| Flexible providers | Load specs from files, URLs, Git repos, or NPM packages |
npx go-mokapi ./openapi.yamlnpx go-mokapi https://example.com/api/openapi.jsondocker run -it -p 8080:8080 -p 80:80 \
-v $(pwd):/data mokapi/mokapi /data/openapi.yamlOpen http://localhost:8080 to view live requests, responses, and logs.
import { on } from 'mokapi'
export default function() {
on('http', (request, response) => {
// Return 404 for specific IDs
if (request.path.petId === '999') {
response.statusCode = 404
return
}
// Customize response data
response.data.name = 'Custom Pet Name'
})
}Override parts of your OpenAPI spec for specific test scenarios without touching the original file. See the configuration guide for details.
Explore tutorials that walk you through mocking different protocols and scenarios:
-
Get started with REST API Mocking
Deploy a REST mock API using OpenAPI specification -
Mock Kafka with AsyncAPI
Simulate Kafka topics and validate message producers -
Mock LDAP Authentication
Test authentication flows without a real LDAP server -
Mock SMTP Mail Servers
Test email workflows without sending real messages -
CI/CD Integration with GitHub Actions
Run Mokapi in automated test pipelines
More at mokapi.io/resources
- Getting Started Guide
- HTTP/REST API Documentation
- Kafka Documentation
- LDAP Documentation
- SMTP/Mail Documentation
- JavaScript API Reference
- Configuration Guide
If Mokapi saves you time, consider buying me a coffee. It helps keep the project going.
MIT License - see LICENSE for details.
Website · NPM · Docker Hub


