Updated Jul 15, 2026

Utilities

Craft clear HTTP requests for APIs and servers

A human-friendly CLI HTTP client for APIs and servers.

Agent

overview

What HTTPie does

HTTPie is a command-line HTTP client built for readability. Headers, query parameters, and JSON or form fields stay clear on the command line, so a request reads like what it does. That makes it a practical choice for testing and debugging APIs during recon or development.

Syntax is flat: key=value becomes a JSON field, key==value a query parameter, Header:value a header. -a and --auth-type cover basic or digest auth; -F follows redirects; -j or -f pick JSON versus form bodies; --verify controls TLS checks. --check-status can fail the exit code on HTTP errors.

Trickest runs HTTPie as a managed utilities step that takes a URL plus request options and writes a file and a folder with the response. Use it to fetch an endpoint, exercise an API mid-pipeline, or capture a body a later node parses.

source github.com/httpie/httpie

use cases

Where HTTPie fits

Test and debug an API endpoint

Send GET or POST requests with JSON fields, headers, and auth in a readable one-liner to inspect how an endpoint responds.

Fetch a response inside a workflow

Call a URL as a node and write the response to a file that a downstream step parses or routes.

Exercise authenticated services

Use basic or digest auth, custom headers, and client certificates to reach endpoints that require credentials or mTLS.

Submit form or multipart data

Serialize command-line fields as form data or force a multipart request to test uploads and form handlers.

reference

HTTPie inputs and flags

27 inputs
NameTypeFlagDescription
urlSTRING·Request URL to call.
http-methodSTRING·HTTP method for the request, e.g. GET or POST.
http-headersSTRING·Request headers using ':' as the key-value separator, e.g. Cookie:foo=bar.
url-parametersSTRING·Query parameters appended to the URL using '==' as the separator, e.g. search==httpie.
authenticationSTRING-aCredentials in USER:PASS format.
auth-typeSTRING--auth-typeAuthentication mechanism: basic (default) or digest.
follow-redirectsBOOLEAN-FFollow 30x Location redirects.
verifySTRING--verifySet to no or false to skip the host's SSL certificate check.

Showing key inputs. HTTPie exposes 27 inputs in total.

Full flag reference (27 inputs)
NameTypeFlagDescription
urlSTRING·Request URL
httpBOOLEANhttpHttpie http method
httpsBOOLEANhttpsHttpie https method
proxySTRING--proxyFormat: Protocol:PROXY_URL. String mapping protocol to the URL of the proxy.
verifySTRING--verifySet to "no" or "false" to skip checking the host's SSL certificate. Default: "yes" or "true". You can set REQUESTS_CA_BUNDLE environment variable.
timeoutSTRING-timeoutThe connection timeout of the request in seconds.
boundarySTRING--boundarySpecify a custom boundary string for multipart/form-data requests. Has effect only with --form.
compressBOOLEAN-xContent compressed (encoded) with Deflate algorithm. The Content-Encoding header is set to deflate.
auth-typeSTRING--auth-typeThe authentication mechanism to use. Default: basic. Options: basic - Basic HTTP auth; digest - Digest HTTP auth.
multipartBOOLEAN--multipartAlways sends a multipart/form-data request.
certificateFILE--certSpecify a certificate to use as cliend side SSL certificate.
http-methodSTRING·Http method
max-headersSTRING--max-headersThe maximum number of response headers to be read before giving up.
private-keySTRING--cert-keyThe private key to use with SSL. Only needed if there is no key in provided certificate file.
check-statusBOOLEAN--check-statusBy default, HTTPie exits with 0 when no network or other fatal errors occur.
http-headersSTRING·Http Headers. Use ":" as a key-value separator. Example: Cookie:foo=bar.
max-redirectsSTRING--max-redirectsBy default, requests have a limit of 30 redirects (works with -f).
authenticationSTRING-aFormat : USER:PASS
url-parametersSTRING·URL parameters to be appended to the request URI. Use "==" as a key-value separator. Example: search==httpie.
open-ssl-cipherSTRING--ciphersA string in the OpenSSL cipher list format.
data-fields-jsonSTRING·Data fields to be serialized into a JSON object (use with -j). or form data (use with -f). Example: name=HTTPie.
follow-redirectsBOOLEAN-FFollow 30x Location redirects.
protocol-versionSTRING--sslThe desired protocol version to use. This will default to SSL v2.3.
bypass-dot-segmentBOOLEAN--path-as-isBypass dot segment (/../ or /./) URL squashing.
serialize-as-form-fieldsBOOLEAN-fData items from the command line are serialized as form fields. The Content-Type ise set to application/x-www-form-urlencoded (if not specified). The presence of any file fields results in a multipart/form-data request.
serialize-as-json-objectBOOLEAN-jData items from the command line are serialized as a Json Object. The Content-Type and Accept headers are set to application/json(if not specified).
non-string-json-data-fieldsSTRING·Non-string JSON data fields (only with -j). Use ":=" as a separator. Example: awesome:=true.

example

Run HTTPie

HTTPie · command
# GET with auth, follow redirects, skip TLS verify on a lab hosthttpie https -a user:pass -F --verify=no GET https://api.example.com/v1/status
sample output
HTTP/1.1 200 OKContent-Type: application/jsonServer: example-api {    "status": "ok",    "host": "api.example.com",    "upstream": "app.example.com",    "ip": "198.51.100.40"}

guidance

Choosing HTTPie

Reach for HTTPie when you want readable, scriptable HTTP requests for testing APIs and servers. For high-throughput probing of many hosts, httpx is built for scale. For raw control over every byte of a request, curl goes lower-level.

curl

The ubiquitous low-level client. More control over raw requests, far less readable syntax.

httpx

Probes thousands of hosts for status, title, and tech. Built for scale, not single readable requests.

httprobe

Minimal liveness checker. Answers whether a host is up rather than crafting a full request.

faq

HTTPie questions

Same job, friendlier syntax. Fields, params, and headers read clearly on the command line, and JSON is the default body format.

Run HTTPie yourself

A URL feeds HTTPie, which sends the request and writes the response as a queryable output a later node can parse.

Facts on this page come from the live Trickest tool library.