cli
🥧 HTTPie CLI — modern, user-friendly command-line HTTP client for the API era. JSON support, colors, sessions, downloads, plugins & more.
HTTPie is a command-line HTTP client that makes testing APIs and debugging web requests easy with colorized, formatted output and a simple shorthand syntax, a friendlier alternative to curl for interactive API work.
HTTPie CLI is a command-line HTTP client designed to make sending web requests and interacting with APIs as readable and convenient as possible. The problem it addresses is that the standard tool for this job — curl — works extremely well but produces dense output, requires verbose flags for common operations like JSON, and has a syntax that can be difficult to remember for infrequent users. HTTPie offers a simpler, more expressive alternative that colors and formats responses automatically so you can actually read them in the terminal.
How it works: you invoke the http or https command, specify the HTTP method (GET, POST, PUT, DELETE, etc.), the URL, and any headers or data using a readable shorthand. For example, http PUT example.com/api X-Token:abc name=John sends a PUT request with a custom header and a JSON body without requiring any JSON-formatting flags. HTTPie automatically detects that you want JSON, sets the content type, and pretty-prints the colorized response. It also supports form submissions, file uploads, HTTPS with authentication, proxy routing, persistent sessions (cookies and headers saved between requests), and wget-style file downloads.
You would reach for HTTPie when testing a REST API during development, debugging what a server actually returns, exploring an unfamiliar API endpoint, or writing quick integration checks. It is not primarily a scripting tool — curl is better for automated pipelines — but for interactive API work, HTTPie's readable output saves significant time.
The tech stack is Python, installable via pip or Homebrew. It runs on macOS, Linux, and Windows. It provides http and https commands in the shell and can be extended with plugins.
Where it fits
- Explore and test a REST API endpoint interactively in the terminal, reading formatted and syntax-highlighted JSON responses without any extra flags.
- Send authenticated API requests with custom headers and JSON bodies using a concise shorthand without memorizing curl flag syntax.
- Debug what a server actually returns by inspecting colorized request and response headers and body side by side in the terminal.
- Maintain a persistent session with cookies and auth headers saved between requests while testing a login-protected API endpoint.