httpie
HTTPie: modern, user-friendly command-line HTTP client for the API era.
What it is and what it does
HTTPie is a command-line HTTP client designed to make interacting with web APIs and HTTP servers as human-friendly as possible. It provides an intuitive syntax for building and sending HTTP requests, with formatted and colorized terminal output that makes responses easy to read. The tool supports common HTTP operations including custom headers, JSON data, form submissions, file uploads, authentication, proxies, HTTPS, and persistent sessions.
You use HTTPie by typing simple commands like `http GET example.com` or `http POST api.example.com name=value` directly in your terminal. It's built on top of requests and requests-toolbelt for the underlying HTTP functionality, with rich and Pygments handling the formatted output display. The package depends on 11 runtime libraries including charset-normalizer, defusedxml, multidict, and colorama to handle character encoding, XML safety, multipart data, and cross-platform terminal colors.
Use it for:
- Test and debug REST APIs during development without writing client code
- Quickly inspect HTTP responses with automatic JSON formatting and syntax highlighting
- Automate HTTP requests in shell scripts with readable, maintainable syntax
- Upload files or submit forms from the command line with natural parameter syntax
- Authenticate with APIs and manage persistent session cookies across requests
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
HTTPie is a command-line HTTP client that makes it easy to test, debug, and interact with APIs and HTTP servers using simple, human-friendly syntax with formatted and colorized output.
Yes, with conditions. HTTPie is stable, permissive-licensed, and widely used (top 5000 PyPI packages, 1.1M monthly downloads). However, the project is dormant with no releases in 651 days—verify that PYSEC-2023-242 does not affect your use case and that dependencies remain compatible with your Python version before adopting it for critical workflows.
Install
httpie on PyPI
pip
pip install httpieuv
uv add httpiepoetry
poetry add httpieInstalling httpie
Before you install
Low install friction with a pure Python wheel and 11 well-established runtime dependencies. The project is dormant (651 days since last release) but remains in Production/Stable status with active repository maintenance through December 2024.
License in practice
BSD license is permissive and imposes no significant restrictions on use, modification, or distribution in most contexts.
Quickstart
pip install httpie
# Simple GET request
http GET httpie.io/hello
# POST with JSON data and custom header
http POST pie.dev/post X-API-Token:123 name=John
Requires Python 3.7 or later.
Verify before relying
- Whether the dormant maintenance status (651 days since release) affects compatibility with recent Python or dependency versions
- Details on the nature and severity of PYSEC-2023-242 and whether it has been patched in version 3.2.4
Package facts
| License | BSD (permissive) |
| Python support | supports the current Python release (>=3.7) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 11 — pip, charset-normalizer, defusedxml, requests, Pygments, requests-toolbelt, multidict, setuptools, rich, importlib-metadata, colorama |
| Maintenance | dormant — 651 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,146,237/month — #4,298 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | 1 — PYSEC-2023-242 |
Evidence: httpie-3.2.4-py3-none-any.whl
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
curlify2Converts Python requests and httpx HTTP request…
permissive · top 15,000 on PyPI
statusA command-line tool that reports HTTP response…
permissive · top 15,000 on PyPI
agithubA lightweight REST API client with transparent…
permissive · top 15,000 on PyPI
linode-cliCommand-line interface for the Linode API that…
permissive · top 15,000 on PyPI
restflyRESTfly is a framework for building libraries…
permissive · top 15,000 on PyPI
pyjokesProvides one-liner programmer jokes accessible…
permissive · top 15,000 on PyPI
requests-unixsocket2Extends the requests library to make HTTP calls…
permissive · top 15,000 on PyPI
agentqlAgentQL is a Python client for interacting with…
permissive · top 15,000 on PyPI
curlifyConverts a Python requests request object into…
permissive · top 5,000 on PyPI
cli-helpersCLI Helpers provides utilities for common…
permissive · top 5,000 on PyPI