Alternatives to curl
Command-line tool for transferring data with URLs, supporting dozens of protocols. The listings below can replace it for an important use case. Each note says what changes if you switch.
The original
curl
Command-line tool for transferring data with URLs, supporting dozens of protocols.
Replacements
Listings that take over the same core job as curl.
HTTPie
Human-friendly command line HTTP client with colourised output.
HTTPie offers key=value JSON bodies and colourised output, but only covers HTTP and starts slower because it is a Python application.
xh
Send HTTP requests from a concise terminal interface.
xh gives a concise HTTPie-style interface for HTTP requests, though it lacks curl's support for dozens of protocols.
curlie
Send HTTP requests with readable syntax built around curl.
curlie keeps curl options while formatting request and response data, but it requires curl to be installed.
Hurl
Write HTTP requests and response checks in plain text files.
Hurl stores HTTP requests and response assertions in plain text files with request chaining, limited to HTTP rather than curl's many protocols.
Also worth comparing
These listings name curl as their own alternative, so the relationship runs both ways.
ain
A terminal HTTP API client that runs requests defined in plain-text template files.
curl is open source and present on almost every system with dozens of protocols, but it has no way to organise or replay saved requests like ain's template files.
Restish
A command-line client for REST-style APIs that discovers operations and schemas from OpenAPI documents.
curl is present on almost every system and speaks dozens of protocols, but it has no OpenAPI discovery or auth profiles and its options are vast.
Similar software
Related functionality, not a direct replacement.
grpcurl
Call gRPC services from the terminal using JSON input.
Bruno
An API client that saves collections as plain files in a folder, so Git handles the sharing instead of a cloud account.
Postman
The most widely used API client, for sending HTTP requests, organising them into collections and sharing them with a team.
Insomnia
An API client for REST, GraphQL and gRPC that can keep everything local or sync through Git instead of a cloud.
Hoppscotch
A fast API client that runs in a browser tab, with a self-hostable workspace if you want one.