posting
The modern API client that lives in your terminal.
A keyboard-driven HTTP client that runs in the terminal, like Postman but without a browser, storing your saved requests as plain YAML files you can commit to Git alongside your code.
Posting is an HTTP client that runs entirely in the terminal, similar in purpose to graphical tools like Postman or Insomnia but designed for keyboard-centric workflows. Because it runs as a text-based interface, it works over SSH connections, which makes it practical for developers who spend time on remote servers.
Requests are stored locally as YAML files, which are plain-text configuration files that are easy to read, share, and track with version control. This means you can commit your saved requests to a Git repository alongside your code, rather than relying on a proprietary cloud sync service.
The feature list is broad for a terminal tool. Posting supports environment variables (useful for switching between development and production settings), autocompletion of headers and values, syntax highlighting, Vim-style keyboard navigation, custom themes, and a command palette. It can import requests from Postman collections and OpenAPI specification files, and can export any request as a cURL command for sharing or scripting. You can also paste a cURL command directly into the URL bar to convert it into a Posting request.
One less common feature is the ability to run Python scripts before and after a request fires, which can handle tasks like generating authentication tokens or processing response data.
Posting is installable via the uv tool or pipx on macOS, Linux, and Windows. It was built using the Textual framework, a Python library for building text-based terminal applications.
Where it fits
- Test API endpoints directly from an SSH session on a remote server without needing a graphical desktop.
- Store all your API requests as YAML files in your project's Git repo so teammates can share and version-control them.
- Import an existing Postman collection or OpenAPI spec into Posting to get a working request library instantly.
- Run a Python pre-request script to generate a fresh OAuth token automatically before each API call.