home / http-apis / httpie

HTTPie

Official · HTTPie
38k

HTTP client CLI for sending API requests, inspecting responses, and reusing auth, headers, and cookies with sessions.

$brew install httpie
Language
Python
Stars
37,654
Category
HTTP & APIs
Agent
AI Analysis

HTTPie is a command-line HTTP client for working with APIs and other HTTP services using concise request syntax. It covers ad hoc requests, auth, headers, uploads, downloads, and reusable sessions without dropping to raw curl calls.

What It Enables
  • Send API requests with explicit methods, headers, query params, JSON or form fields, file uploads, proxies, TLS options, and multiple auth modes from one command surface.
  • Inspect responses with selectable headers, body, and metadata output, or use --offline to build and review a request before sending it.
  • Reuse cookies, auth, and custom headers across calls with session files, and download or stream response bodies inside shell workflows.
Agent Fit
  • Commands are mostly non-interactive and expose clear flags for methods, request data, redirects, timeouts, sessions, and output selection, which works well in inspect/change/verify loops.
  • Machine-readability is limited: --json controls request construction, and response JSON support is mainly pretty-printing rather than a dedicated structured output mode.
  • Automation is reliable only when you pin flags like --check-status, --pretty=none, and --print; terminal defaults otherwise change formatting and HTTP errors still exit 0.
Caveats
  • Some auth flows and certificate prompts can become interactive, and session files persist credentials, headers, and cookies on disk.
  • HTTPie is a generic HTTP primitive rather than a service-specific CLI, so higher-level workflows still require knowing the target API.