# posting

> Terminal-based HTTP client with keyboard navigation, local YAML storage, and syntax highlighting

Stars: 12.6k · Language: Python · License: Apache-2.0 · Categories: Network

- Repository: https://github.com/darrenburns/posting
- Page: https://www.trmn.sh/tools/posting

## Install

- uv: `uv tool install --python 3.13 posting`
- pipx: `pipx install posting`

## Overview

Posting is a terminal user interface (TUI) HTTP client that provides an alternative to graphical tools like Postman and Insomnia. It stores requests locally in YAML files, making them easy to version control and share. The application supports SSH usage and emphasizes keyboard-centric workflows for efficient API testing.

The tool includes jump mode navigation for quick access to different sections, environment variables and request templating, and syntax highlighting powered by tree-sitter. It supports Vim keybindings alongside customizable key mappings and user-defined themes. Posting can execute Python code before and after requests, allowing for dynamic request modification and response processing.

Posting integrates with external editors through $EDITOR/$PAGER support and includes import/export capabilities for curl commands, Postman collections, and OpenAPI specifications. The application features autocompletion, a command palette for accessing functionality, and extensive configuration options. It's built with Textual and targets developers who prefer terminal-based workflows for API development and testing.

### Installation

```bash
# via uv
uv tool install --python 3.13 posting
```

```bash
# via pipx
pipx install posting
```

![Posting HTTP client interface](https://media.trmn.sh/cached/e8c503d53b4de35b453aa9187081295a77eb4295ab23690fd253e2a79121ba33.png)

## Alternatives

- [Streamlink](https://www.trmn.sh/tools/streamlink.md): Python CLI and library that pipes video streams from services like Twitch and YouTube into a video player such as VLC, or writes them to disk. (Python, 11.9k stars)
- [sshuttle](https://www.trmn.sh/tools/sshuttle.md): Transparent proxy that tunnels traffic to a remote network over ssh, acting as a VPN substitute without requiring admin access on the remote side. (Python, 13.6k stars)
- [BBOT](https://www.trmn.sh/tools/bbot.md): Recursive internet scanner for recon, bug bounties and ASM: subdomain enumeration, web spidering, email gathering and web scanning via presets. (Python, 10.9k stars)
- [httpstat](https://www.trmn.sh/tools/httpstat.md): Visualizes curl statistics with timing breakdowns of DNS, TCP, TLS, server processing, and content transfer. (Python, 6.2k stars)
- [gallery-dl](https://www.trmn.sh/tools/gallery-dl.md): Cross-platform command-line program that downloads image galleries and collections from many image hosting sites, with configurable file naming. (Python, 20.3k stars)

## Guides

- [Modern Replacements for curl](https://www.trmn.sh/replace/curl): Replace curl with xh, HTTPie, curlie or Posting: HTTPie-style request syntax, formatted output, and a TUI option for saved requests.
- [Best HTTP Clients for the Terminal](https://www.trmn.sh/best/http-clients): Compare HTTPie, xh, curlie and Posting: CLI and TUI HTTP clients for testing REST APIs from the terminal.

---

Canonical: https://www.trmn.sh/tools/posting
