Create a mock server
on your Mac
Decoy lets developers create mock services locally: Send it API requests, webhook requests, test your code against failures. All in a beautiful native app.
No Docker · No cloud tunnels · No config files · Instant startup
Endpoints, requests, responses.
That's the whole interface.
Set up endpoints
Define method + path pairs, group them into projects. Point any service at decoy.my:8998 and go.
Watch requests
Every incoming request shows up as it arrives. Headers, body, source IP, timestamps. JSON is auto-formatted.
Mock responses
Pick a status code, choose a body type, set headers, add a delay if you want. Changes take effect on the next request.
Return whatever
you need
- 7 body types — plain text, JSON, HTML, XML, file, empty, or redirect
- Any status code — pick from common presets or type your own
- Custom headers — add, remove, toggle individually
- Simulated latency — add a delay to test timeout handling
- Syntax highlighting — with built-in formatting (no Node required)
Thoughtful
extras
- Copy as code — export any request as cURL, JavaScript fetch, or Ruby
- Parameterized paths — /users/:id matches /users/42
- Projects — group endpoints under subdomains like api.decoy.my
- Response snapshots — see what was actually sent back for each request
- Custom domains — decoy.my, lvh.me, or your own
Request details
Headers, body, source IP, timestamp, UUID. JSON is pretty-printed. Binary data gets a hex dump.
CORS handled
CORS headers are added automatically. Browser-based requests just work.
Redirects
301, 302, 307, 308. Location header is set automatically.
File responses
Serve images, PDFs, or any file directly. Set the body type to File and pick one.
Saved to disk
Requests are written to SQLite immediately. Nothing lost if the app quits unexpectedly.
Truly native
Built with SwiftUI. Launches instantly. Uses barely any memory.
Changes apply instantly
Edit the JSON, tweak a header, change the status code. The next request gets the new response.
Even serve whole webpages
Set the body type to HTML, paste your markup, open decoy.my:8998 in a browser. That's it.

Try Decoy
€24.99 on the Mac App Store.
Requires macOS 14 Sonoma or later
SwiftUI Network.framework SQLite Native macOS