# HTTPie

> Command-line HTTP client with human-friendly syntax for API testing and web service interaction

Stars: 38.7k · Language: Python · License: BSD-3-Clause · Categories: Network

- Repository: https://github.com/httpie/cli
- Website: https://httpie.io
- Page: https://www.trmn.sh/tools/httpie

## Overview

HTTPie is a command-line HTTP client that provides an alternative to curl with more intuitive syntax for API interaction. The tool uses the `http` and `https` commands to create and send HTTP requests with natural, readable command structure. It automatically formats and colorizes output, making responses easier to parse visually.

The tool supports standard HTTP operations including custom methods, headers, authentication, and request bodies. HTTPie handles JSON data natively, supports form and file uploads, and includes features like persistent sessions for maintaining state across requests. It also provides an offline mode for building and inspecting requests without sending them.

HTTPie targets developers working with REST APIs, web services, and HTTP-based debugging workflows. The syntax follows patterns like `http PUT api.example.com/users/1 name=John email=john@example.com` for JSON data or `http GET api.example.com/data Authorization:'Bearer token123'` for authenticated requests. The tool includes wget-style download capabilities and proxy support for various network configurations.

![HTTPie in action](https://media.trmn.sh/cached/1e3d7439520424cee4dc596dc801a9e687890be34c65bb4522317a62271254ee.gif)

## Alternatives

- [sqlmap](https://www.trmn.sh/tools/sqlmap.md): Open source penetration testing tool that automates detection and exploitation of SQL injection flaws and database server takeover. (Python, 38.8k stars)
- [mitmproxy](https://www.trmn.sh/tools/mitmproxy.md): Interactive SSL/TLS-capable HTTP proxy with console, command-line, and web interfaces for traffic inspection (Python, 46.6k stars)
- [magic-wormhole](https://www.trmn.sh/tools/magic-wormhole.md): Python library and `wormhole` CLI for sending files, directories, or text between computers using short, single-use, human-pronounceable codes. (Python, 23.1k 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)
- [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)

## 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/httpie
