The API Client your
Terminal deserves
A lightweight, Vim-inspired TUI for instant OpenAPI discovery and testing.
Stay in the terminal. Stay in the flow.
brew install 4nddrs/tap/snag
// Interactive Demo
See it in action
Three-panel TUI — browse grouped endpoints, inspect requests, read responses.
"age" : 30 ,
"email" : "alice@example.com" ,
"id" : 1 ,
"name" : "Alice Johnson"
} ,
"age" : 25 ,
"email" : "bob@example.com" ,
"id" : 2 ,
"name" : "Bob Smith"
} ,
"age" : 35 ,
"email" : "carol@example.com" ,
"id" : 3 ,
"name" : "Carol White"
} ,
"age" : 21 ,
"email" : "4nddrs@gmail.com" ,
"id" : 4 ,
"name" : "andres"
}
// Why SNAG
Built for the terminal-native
No browser tabs. No heavy GUI. Pure keyboard-driven API exploration.
Vim-Style Navigation
Your hands never leave the home row. Navigate endpoints with j/k, select with ↵, and jump to any section with Vim motions you already know.
-
j / kNavigate up & down -
/Search a endpoint -
tabSwitch between sections -
eEdit the prompt -
rExecute request -
qClose / quit
Universal OpenAPI
Feed it any OpenAPI 3.x spec — local file or remote URL — generated from Python, Go, Node, Rust, or any other stack. SNAG parses it instantly and surfaces every endpoint, schema, and parameter.
-
FastAPIPython 🐍 -
EchoGo 🔵 -
ExpressNode.js 🟩 -
AxumRust 🦀
No-JSON Editing
Forget crafting JSON payloads by hand. SNAG introspects your OpenAPI schema and renders interactive prompts for every parameter — the right type, validated on the spot.
-
pathAuto-filled from spec -
queryType-safe input prompts -
bodyField-by-field editing -
headersPersistent across requests
// Under the Hood
Technical Specs
Engineered for performance and simplicity.
Compiled, single binary. No runtime required. Drop it in your PATH and go.
No Electron, no Node, no Python. A single small binary that starts in milliseconds.
Tested on macOS, Windows and major Linux distros. Install via Homebrew, Scoop or build from source.
Supports JSON and YAML specs from FastAPI, Swagger, Redoc, and any compliant generator.