A modern HTTP(S) client for the command line.
- Response formatting - Automatic formatting and syntax highlighting for JSON, XML, HTML, CSS, CSV, MessagePack, Protocol Buffers, and more
- Image rendering - Display images directly in your terminal
- gRPC support - Make gRPC calls with automatic JSON-to-protobuf conversion
- Authentication - Built-in support for Basic Auth, Bearer Token, AWS Signature V4, and mTLS
- Compression - Automatic gzip and zstd response body decompression
- Configuration - Global and per-host configuration file support
# Install fetch from the shell script (macOS or Linux)
curl -fsSL https://raw.githubusercontent.com/ryanfowler/fetch/main/install.sh | bash
# Or install fetch with homebrew (macOS or Linux)
brew install ryanfowler/tap/fetch
# Or install fetch with Go
go install github.com/ryanfowler/fetch@latest# Make a request for JSON
fetch httpbin.org/json
# Make a request for an image
fetch picsum.photos/1024/1024- Getting Started - Installation, first steps, and basic concepts
- CLI Reference - Complete reference for all command-line options
- Configuration - Configuration file format and options
- Authentication - Basic, Bearer, AWS SigV4, and mTLS
- Request Bodies - JSON, XML, forms, multipart, and file uploads
- Output Formatting - Supported content types and formatting options
- Image Rendering - Terminal image protocols and formats
- gRPC - Making gRPC requests with Protocol Buffers
- Advanced Features - DNS, proxies, TLS, HTTP versions, and more
- Troubleshooting - Common issues, debugging, and exit codes
fetch is released under the MIT License.
