Blazing fast
Built with Rust and Axum. Sub-10ms response times for most requests, with under 1 second startup.
Blazing fast
Built with Rust and Axum. Sub-10ms response times for most requests, with under 1 second startup.
Ultra lightweight
Around 1.66 MiB of memory at idle and 0.02% CPU. Comfortable on laptops, CI runners, and tiny VMs.
JSON-based mocks
No config DSL to learn. One JSON file per endpoint. Drop them in a folder and Mimic picks them up.
Hot reload
Edit a mock file and Mimic reflects the change immediately — no restart, no rebuild.
Advanced matching
Match on path parameters, query params, headers, and request body content — not just method and path.
Dynamic responses
Echo request data back with {{ }} templating, generate fake data with {{faker.*}}, simulate latency, or step through a sequence of responses.
Admin dashboard
See every request, why it did or didn’t match, and switch scenarios live — at /admin/dashboard.
Proxy & record-and-replay
Point Mimic at a real API and let it build a matching mock set for you.
CI-friendly validation
mimic validate loads your mocks exactly as the server would and flags dead routes, bad statuses and broken regexes before they bite.
Docker-first
Prebuilt images on Docker Hub for amd64 and arm64. Mount a folder of mocks and you’re done.
docker run -d \ --name mimic \ -p 8080:8080 \ -v $(pwd)/mocks:/app/mocks:ro \ ragilhadi/mimic:latestDrop a JSON file in ./mocks/ and Mimic will serve it. That’s it.
New to Mimic?
Start with the Introduction to learn what Mimic is and when to reach for it.
Ready to build?
Jump into Quick Start and have a mock server running in a couple of minutes.
Need precise matching?
The Advanced Matching section covers path parameters, query params, headers, and body matching.
Want realistic responses?
Response Templating, delays, and sequences make mocks behave like the real thing.
Deploying somewhere?
See the Docker and Docker Compose deployment guides.
Debugging a mismatch?
The Admin Dashboard shows every request and explains exactly why a mock did or didn’t match.
Already have an OpenAPI spec?
Generate a whole mocks directory from it instead of writing every file by hand.