A fast, keyboard-driven API client for the terminal β built for developers who think in keystrokes, not mouse clicks.
+------------------+------------------------------+-----------------------------+ | Collections | β Request | Response | +------------------+------------------------------+-----------------------------+ |β GET Health Check| [URL] [Headers] [Body] | [Body] [Headers] [Metrics]| | httpbin.org/get +------------------------------+-----------------------------+ | | | 200 OK 142ms 348 B | | POST Post JSON | GET https://httpbin.org/get | | | httpbin.org/post| | { | | | | β "args": {} | | | [m] method [i] edit | β "headers": { | | | [enter] send | β "url": "https://..." | +------------------+------------------------------+-----------------------------+ | NORMAL env:local [i] edit [m] method [r] send [?] help | +---------------------------------------------------------------------------------+
Install
If you have Go installed:
Pre-built binary (no Go required):
β Download from GitHub ReleasesBuilt on Go's standard library with only 3 UI dependencies. A single binary. No Electron. No accounts. No cloud.
Normal, Insert, and Command modes. If you use Vim, you're already home. Press ? for the full reference at any time.
Connect to WebSocket endpoints with automatic 30-second ping heartbeats. Real-time streams displayed inline with JSON pretty-printing.
Secrets stored with AES-256-GCM at ~/.goblin/secrets.enc. Use {{TOKEN}} syntax in any field.
Switch between local, staging, and prod in one keystroke. Extract response values directly into environment variables with :extract.
Navigate, fold, and expand deeply nested JSON responses. Use / to search and Space to toggle nodes.
TTFB, DNS lookup, TLS handshake, total latency, and response size β all measured on every request, no configuration needed.
Run :diff to compare the current response against the previous one. Color-coded additions, deletions, and changes.
Organize requests into collections. Export with :export and share with your team. Import with :import.
Run collections non-interactively with goblin run. JSON output, exit codes, and env flags make it a natural CI tool.
Run go install ...@latest or download a pre-built binary from the GitHub Releases page.
Type goblin in your terminal. Your first collection is ready to go on first launch.
Press i to enter Insert mode, type your endpoint, press Esc when done.
Press r or Enter. The response panel shows the body, headers, and timing metrics instantly.
Switch instantly with :theme <name>
Your API workflow belongs in the terminal.