API Testing for Purists.
Instant startup. 60fps UI. $0 forever.
Documentation β’ Download β’ Roadmap β’ Philosophy β’ Contributing
| Postman | Insomnia | Mercury | |
|---|---|---|---|
| Startup | 3-5 sec | 2-4 sec | <300ms |
| Frame Rate | Sluggish | Sluggish | 60fps native |
| Input Lag | 50-100ms | 30-50ms | <16ms |
| Binary Size | ~500MB | ~400MB | 6MB |
| Price | $14-25/mo | $5-18/mo | Free forever |
| Scrolling | Janky | Okay | Buttery smooth |
Mercury uses ~100MB RAM to render at 60fps with native GPU acceleration. Electron apps use 500MB+ to feel like a slow website.
"Build half a product, not a half-assed product." β 37signals
Mercury is built on principles, not features:
- β‘ Native Rust β Real performance, not wrapped web pages
- π Files, not databases β Your requests are just files. Grep them. Git them.
- π Truly local β We don't have servers. Your secrets stay yours.
- β¨οΈ Keyboard-first β Your hands never leave the keyboard
- π« No bloat β No AI, no collaboration, no features you'll never use
brew install --cask harry-kp/tap/mercuryThen launch from Applications or run mercury in terminal.
macOS / Linux:
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/Harry-kp/mercury/releases/latest/download/mercury-installer.sh | shWindows (PowerShell):
irm https://github.com/Harry-kp/mercury/releases/latest/download/mercury-installer.ps1 | iexThen launch:
mercuryπ‘ If you get "command not found", restart your terminal or run
source ~/.zshrc
The installer puts mercury in ~/.cargo/bin. If you prefer launching from Spotlight/Start Menu:
macOS: Add to Applications + Dock
# One-liner: creates Mercury.app you can add to Dock
mkdir -p /Applications/Mercury.app/Contents/MacOS && \
cp ~/.cargo/bin/mercury /Applications/Mercury.app/Contents/MacOS/ && \
cat > /Applications/Mercury.app/Contents/Info.plist << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleExecutable</key>
<string>mercury</string>
<key>CFBundleName</key>
<string>Mercury</string>
<key>CFBundleIdentifier</key>
<string>com.mercury.app</string>
</dict>
</plist>
EOFNow search "Mercury" in Spotlight (β Space) and drag to Dock!
Windows: Pin to Start Menu
- Open File Explorer β
%USERPROFILE%\.cargo\bin\ - Right-click
mercury.exeβ Create shortcut - Right-click the shortcut β Pin to Start
Linux: Add to app launcher
cat > ~/.local/share/applications/mercury.desktop << 'EOF'
[Desktop Entry]
Name=Mercury
Exec=$HOME/.cargo/bin/mercury
Type=Application
Categories=Development;
EOFπ macOS: "developer cannot be verified" error
- Run
mercury(it will fail) - System Settings β Privacy & Security β Click "Allow Anyway"
- Run
mercuryagain
Or run: xattr -d com.apple.quarantine ~/.cargo/bin/mercury
πͺ Windows: "Windows protected your PC"
Click "More info" β "Run anyway"
π¦ Manual Download
π¦ Download from Releases β macOS (Intel/ARM), Windows, Linux
# Extract and run
tar -xf mercury-*.tar.xz && chmod +x mercury && ./mercuryπ οΈ Build from Source
git clone https://github.com/Harry-kp/mercury.git
cd mercury
cargo build --release
./target/release/mercury| Shortcut | Action |
|---|---|
β Enter |
Send request |
β S |
Save request |
β K |
Search |
β N |
New request |
β Shift F |
Focus mode |
β H |
History |
Esc |
Cancel request |
? |
All shortcuts |
Your requests are stored as JSON files. Version control friendly. No lock-in.
{
"method": "GET",
"url": "https://api.example.com/users",
"headers": {},
"body": ""
}{
"method": "POST",
"url": "https://api.example.com/users",
"headers": {
"Content-Type": "application/json",
"Authorization": "Bearer {{token}}"
},
"body": "{\"name\": \"John Doe\", \"email\": \"john@example.com\"}"
}Variables like {{token}} are loaded from .env files in your workspace.
- Live File Sync β Edit in VS Code, updates instantly. Two-way sync.
- Auto-Save β Changes are persisted immediately. Never lose work.
- Collections β Organize requests in folders
- Environments β
.envfile support with{{variable}}syntax - History β Timeline of all requests with restore
- Focus Mode β Distraction-free editing
- cURL Import β Paste cURL commands directly
- Collection Import β Import from Postman or Insomnia
- Request Cancellation β Stop runaway requests instantly
- Syntax Highlighting β JSON responses beautifully formatted
- Dark Mode β Easy on the eyes, built for late nights
- Automatic Cookies β Auth flows work seamlessly
Mercury uses sensible defaults so you can focus on your API, not configuration:
| Setting | Default | Behavior |
|---|---|---|
| Timeout | 30 seconds | Requests fail after 30s of no response |
| Redirects | Followed | HTTP redirects are followed automatically (up to 10) |
We intentionally don't build:
- β Cloud sync
- β Team collaboration
- β AI assistants
- β Plugins/extensions
- β User accounts
- β Analytics/telemetry
These aren't missing features. They're features we chose not to build.
Mercury is open source. PRs welcome.
# Development
cargo run
# Tests
cargo test
# Release build
cargo build --releaseMIT License β do whatever you want.
Built with obsessive minimalism.
@Harry-kp
