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

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.