curlie
Send HTTP requests from the command line
TLDR
Send a GET request
Send a POST request
Send a GET request with query parameters (e.g. first_param=5&second_param=true)
Send a GET request with a custom header
SYNOPSIS
curlie [options] [method] [headers] [data] url
PARAMETERS
-v, --verbose
Increase verbosity, show headers and details
-q, --quiet
Silence curlie output, show only response body
-s, --silent
Silent mode, suppress progress meter
-f, --fail
Fail silently on HTTP errors (4xx, 5xx)
-L, --location
Follow HTTP redirects
-X, --request <method>
Specify HTTP method (GET, POST, etc.)
-H, --header <header>
Add custom header, e.g., "Authorization: token"
-d, --data <data>
Send data (JSON, form, etc.), auto-detects type
-F, --form <name=content>
Multipart form data upload
--data-binary <data>
Binary data without newline stripping
--data-raw <data>
Data without processing
--data-urlencode <data>
URL-encode data
-u, --user <user:pass>
Basic authentication
--cookie <data>
Set cookies
--insecure
Skip SSL certificate verification
-o, --output <file>
Save response to file
-I, --head
Send HEAD request only
DESCRIPTION
curlie is a user-friendly command-line HTTP client that provides a simpler, more intuitive syntax inspired by HTTPie, while leveraging the power and reliability of curl as its backend. Designed for humans, it allows you to make HTTP requests with minimal typing, automatically handling common tasks like JSON formatting, form data, headers, and authentication.
Key features include method specification via verbs like get, post, put, or patch before the URL; inline headers with Header:value; JSON data via -d or json; form uploads with -F; and support for most curl options. Output is prettified by default with colorized JSON and clean headers.
Ideal for API testing, debugging web services, and scripting, curlie reduces verbosity compared to raw curl. It detects content types automatically (e.g., -d '{json}' sends application/json). Download, upload, and streaming are streamlined. While not a full curl replacement, it excels in readability and speed for everyday HTTP tasks, making it popular among developers and sysadmins.
CAVEATS
Requires curl installed; not all advanced curl features supported; prettified output may not suit all scripts
EXAMPLES
curlie get https://api.github.com/users/octocat
curlie post https://api.example.com/users -d '{"name":"John"}'
curlie -H "Authorization: Bearer token" get https://api.example.com
INSTALLATION
Via Go: go install mvdan.cc/curlie@latest
Or package managers: brew install curlie (macOS), apt install curlie (some distros)
HISTORY
Developed by Thomas Martitz starting in 2020 as a modern HTTPie alternative using curl. Gained popularity via GitHub (mvdan/curlie), with active maintenance focusing on POSIX compliance and feature parity with HTTPie. Written in Go for portability.


