Alternatives to Hurl
Write HTTP requests and response checks in plain text files. The listings below can replace it for an important use case. Each note says what changes if you switch.
The original
Hurl
Write HTTP requests and response checks in plain text files.
Replacements
Listings that take over the same core job as Hurl.
Bruno
An API client that saves collections as plain files in a folder, so Git handles the sharing instead of a cloud account.
Bruno keeps collections as plain files in Git with a desktop GUI and command line runner, though its Bru markup is Bruno specific.
Yaak
An offline-first API client for REST, GraphQL, gRPC, WebSockets and SSE, with requests stored as files you can commit to git.
Yaak stores requests as git-committable files in a desktop GUI supporting REST, GraphQL and gRPC, with scripting still developing.
Insomnia
An API client for REST, GraphQL and gRPC that can keep everything local or sync through Git instead of a cloud.
Insomnia adds test suites, a runner and a CLI for pipelines in a desktop app, though most features expect an account.
Postman
The most widely used API client, for sending HTTP requests, organising them into collections and sharing them with a team.
Postman offers collections with test scripts and a built-in runner, but it is closed source and built around a cloud workspace.
HTTPie
Human-friendly command line HTTP client with colourised output.
HTTPie sends requests with readable key=value syntax from the terminal, but lacks Hurl's file-based response assertions and chaining.
curl
Command-line tool for transferring data with URLs, supporting dozens of protocols.
curl gives precise control over requests across many protocols, but has no built-in assertions or saved request files.
httpYac
A command-line and VS Code client for sending HTTP, GraphQL, SOAP and gRPC requests from files.
httpYac also runs requests from text files in CI, covering REST, SOAP, GraphQL and gRPC, and adds a VS Code extension, with Node.js scripting.
kulala.nvim
A Neovim plugin for sending HTTP, GraphQL, gRPC and WebSocket requests from .http files.
kulala.nvim runs .http files inside Neovim with pre and post request scripting, but requires Neovim rather than a standalone CLI.
Also worth comparing
These listings name Hurl 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.
Hurl keeps requests in plain text files like ain, adds request chaining with response assertions, and is open source under the Apache-2.0 license.
Newman
A command-line runner that executes Postman collections outside the Postman app.
Hurl writes requests and response checks in plain text files with request chaining, is open source under Apache-2.0, and does not depend on Postman collections.
REST Client for VS Code
A Visual Studio Code extension that sends HTTP requests written in .http files and shows responses.
Hurl runs HTTP requests from plain text files on the command line under Apache-2.0, adding request chaining and response assertions for testing outside any editor.
rest.nvim
A Neovim plugin that sends HTTP requests written in .http files from inside the editor.
Hurl keeps requests and response checks in plain text files run from the terminal, with request chaining, and is open source under Apache-2.0 without needing an editor.
Slumber
A terminal user interface HTTP and REST client that runs requests from collections defined in YAML.
Hurl keeps requests in plain text files but runs them from the command line with chaining and response assertions, rather than an interactive terminal interface.
Step CI
An open-source API test automation framework that runs multi-step workflows written in YAML, JSON or JavaScript.
Hurl writes requests and response assertions in plain text files with request chaining, is open source under Apache-2.0, and needs no Node.js, though it lacks OpenAPI imports.
xh
Send HTTP requests from a concise terminal interface.
Hurl stores requests and response assertions in plain text files with chaining, suited to repeatable tests over ad hoc calls.
Similar software
Related functionality, not a direct replacement.
curlie
Send HTTP requests with readable syntax built around curl.
grpcurl
Call gRPC services from the terminal using JSON input.
Swagger UI
Renders an OpenAPI description as interactive, testable documentation.
Grafana k6
An open-source command-line load testing tool that runs test scripts written in JavaScript.
Restish
A command-line client for REST-style APIs that discovers operations and schemas from OpenAPI documents.