HTTPie is a command-line HTTP client designed to make interacting with web services straightforward and readable. It provides concise commands for sending requests, inspecting responses and working with REST APIs.
Rather than requiring users to specify lengthy combinations of options for common operations, HTTPie uses a natural command syntax for HTTP methods, headers, query parameters and request bodies. Responses are formatted and colourized to make structured data easier to inspect.
The software is useful for API development, testing, debugging and automated workflows. It supports persistent sessions, authentication, file uploads and downloads, enabling developers to reproduce requests without repeatedly specifying the same connection details.
HTTPie also provides an extensible architecture that allows additional authentication mechanisms and other functionality to be incorporated through plugins.
This is free and open source software.
Key Features
- Provides an intuitive syntax for constructing HTTP requests.
- Supports common HTTP methods including GET, POST, PUT, PATCH and DELETE.
- Automatically formats and colourizes JSON responses.
- Supports JSON request bodies and URL-encoded form submissions.
- Handles multipart forms and file uploads.
- Allows custom HTTP headers and query parameters.
- Supports HTTPS connections and proxy servers.
- Provides Basic, Digest and other supported authentication methods.
- Supports persistent sessions with saved cookies and authentication details.
- Offers resumable downloads and file output options.
- Can construct and display requests without sending them.
- Supports redirect handling and configurable request timeouts.
- Allows request and response headers to be inspected separately.
- Supports plugin-based extensions.
- Provides options for controlling output formatting and verbosity.
- Cross-platform support – runs on Linux, macOS, and Windows.
Website: httpie.io
Support:
Developer: Jakub Roztočil and contributors
License: BSD 3-Clause ‘New’ or ‘Revised’ License

HTTPie is written in Python. Learn Python with our recommended free books and free tutorials.
Related Software
| Alternatives to curl | |
|---|---|
| Wget2 | Successor of Wget |
| Wget | Makes retrieving large files or mirroring entire web or FTP sites easy |
| aria2 | Multi-protocol and multi-source command-line download utility |
| HTTPie | HTTP client with an intuitive user interface |
| curlie | The power of curl, the ease of use of httpie |
| xh | Fast and friendly tool for sending HTTP requests |
| hurl | Run and test HTTP requests with plain text |
| TerminusDM | User-friendly terminal interface for managing your downloads efficiently |
| getparty | HTTP download manager with multi-parts |
| Restish | CLI for interacting with REST-ish HTTP APIs |
| Posting | Terminal-based HTTP client for developing and testing APIs |
| Slumber | Terminal-based HTTP client |
| Alternatives to Wget | |
|---|---|
| Wget2 | Successor of Wget |
| curl | Tool and library for transferring data with URLs |
| aria2 | Multi-protocol and multi-source command-line download utility |
| HTTPie | HTTP client with an intuitive user interface |
| curlie | The power of curl, the ease of use of httpie |
| xh | Fast and friendly tool for sending HTTP requests |
| hurl | Run and test HTTP requests with plain text |
| TerminusDM | User-friendly terminal interface for managing your downloads efficiently |
| getparty | HTTP download manager with multi-parts |
| Surge | Download manager built in Go |
| aria2tui | TUI client for the aria2c download utility |
| gosh-dl-cli | Modern command-line download manager built on top of the gosh-dl engine |
| Axel | Lightweight CLI download accelerator |
| Command line HTTP clients | |
|---|---|
| HTTPie | Command line interface, cURL-like tool for humans |
| aria2 | Multi-protocol and multi-source command-line download utility |
| Wget2 | Successor of Wget |
| Posting | Terminal-based HTTP client for developing and testing APIs |
| hurl | Run and test HTTP requests with plain text |
| curl | Command line tool for transferring data with URL syntax. Transfer library too |
| axel | Command-line download accelerator |
| xh | Fast and friendly tool for sending HTTP requests |
| Wget | Retrieves content from web servers |
| Restish | CLI for interacting with REST-ish HTTP APIs |
| curlie | The power of curl, the ease of use of httpie |
| Slumber | Terminal-based HTTP client |
| TerminusDM | User-friendly terminal interface for managing your downloads efficiently. |
| getparty | HTTP download manager with multi-parts |
Read our verdict in the software roundup.
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |


Please read our Comment Policy before commenting.