Utilities
Craft clear HTTP requests for APIs and servers
A human-friendly CLI HTTP client for APIs and servers.
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
| Name | Type | Flag | Description |
|---|---|---|---|
| url | STRING | · | Request URL to call. |
| http-method | STRING | · | HTTP method for the request, e.g. GET or POST. |
| http-headers | STRING | · | Request headers using ':' as the key-value separator, e.g. Cookie:foo=bar. |
| url-parameters | STRING | · | Query parameters appended to the URL using '==' as the separator, e.g. search==httpie. |
| authentication | STRING | -a | Credentials in USER:PASS format. |
| auth-type | STRING | --auth-type | Authentication mechanism: basic (default) or digest. |
| follow-redirects | BOOLEAN | -F | Follow 30x Location redirects. |
| verify | STRING | --verify | Set 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)
| Name | Type | Flag | Description |
|---|---|---|---|
| url | STRING | · | Request URL |
| http | BOOLEAN | http | Httpie http method |
| https | BOOLEAN | https | Httpie https method |
| proxy | STRING | --proxy | Format: Protocol:PROXY_URL. String mapping protocol to the URL of the proxy. |
| verify | STRING | --verify | Set to "no" or "false" to skip checking the host's SSL certificate. Default: "yes" or "true". You can set REQUESTS_CA_BUNDLE environment variable. |
| timeout | STRING | -timeout | The connection timeout of the request in seconds. |
| boundary | STRING | --boundary | Specify a custom boundary string for multipart/form-data requests. Has effect only with --form. |
| compress | BOOLEAN | -x | Content compressed (encoded) with Deflate algorithm. The Content-Encoding header is set to deflate. |
| auth-type | STRING | --auth-type | The authentication mechanism to use. Default: basic. Options: basic - Basic HTTP auth; digest - Digest HTTP auth. |
| multipart | BOOLEAN | --multipart | Always sends a multipart/form-data request. |
| certificate | FILE | --cert | Specify a certificate to use as cliend side SSL certificate. |
| http-method | STRING | · | Http method |
| max-headers | STRING | --max-headers | The maximum number of response headers to be read before giving up. |
| private-key | STRING | --cert-key | The private key to use with SSL. Only needed if there is no key in provided certificate file. |
| check-status | BOOLEAN | --check-status | By default, HTTPie exits with 0 when no network or other fatal errors occur. |
| http-headers | STRING | · | Http Headers. Use ":" as a key-value separator. Example: Cookie:foo=bar. |
| max-redirects | STRING | --max-redirects | By default, requests have a limit of 30 redirects (works with -f). |
| authentication | STRING | -a | Format : USER:PASS |
| url-parameters | STRING | · | URL parameters to be appended to the request URI. Use "==" as a key-value separator. Example: search==httpie. |
| open-ssl-cipher | STRING | --ciphers | A string in the OpenSSL cipher list format. |
| data-fields-json | STRING | · | Data fields to be serialized into a JSON object (use with -j). or form data (use with -f). Example: name=HTTPie. |
| follow-redirects | BOOLEAN | -F | Follow 30x Location redirects. |
| protocol-version | STRING | --ssl | The desired protocol version to use. This will default to SSL v2.3. |
| bypass-dot-segment | BOOLEAN | --path-as-is | Bypass dot segment (/../ or /./) URL squashing. |
| serialize-as-form-fields | BOOLEAN | -f | Data 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-object | BOOLEAN | -j | Data 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-fields | STRING | · | Non-string JSON data fields (only with -j). Use ":=" as a separator. Example: awesome:=true. |
example
Run HTTPie
# 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/statusHTTP/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
related
More Utilities tools
cewl
Spider a URL and return a wordlist for password crackers.
dnsgen
Wordlist and mined-word subdomain permutation.
pup
CSS selectors over HTML, the jq counterpart for markup.
unfurl
Extract chosen URL parts from stdin into clean line lists.
whisper
Speech to txt, vtt, srt, and json from an audio file or folder.
youtube-transcript
Public caption tracks to transcript.txt and results.jsonl.
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.