HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
Orange-OpenSource
hurl
Rust2021–2025
Orange-OpenSource / hurl

hurl

Hurl, run and test HTTP requests with plain text.

19Distinct people
37Mentions
0Explicit recommenders
19.3KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Hurl, run and test HTTP requests with plain text.

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 9:02:44 AM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year37 dated mentions

Observed mentions: 2021-10-05 13:27:15 UTC to 2025-06-20 15:35:21 UTC.

0510152021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 12 mentions; 1 submissions, 11 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 7 mentions; 1 submissions, 6 comments20232024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 13 mentions; 2 submissions, 11 comments2025

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC202
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC12111
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC716
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC303
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC13211

What Hacker News says

12 sources
> How does the "imports" feature supposed to work and how does it help modelling more complex workflows? If hurl had something like an import feature, one could re-use HTTP requests. For example, one could create a file that logs into the service and use it in all other tests. It doesn't support that, so the only option you have is to re-write the login in every test _or_ build a script that outputs that. There is an open issue for that: https://github.com/Orange-OpenSource/hurl/issues/115
In KATT (Klarna API Testing Tool) Is an HTTP-Based API Testing Tool for Erlang
Really cool, with already a lot of features! Given the raise of CI/CD, I really think these kind of tools (CLI tests on HTTP requests), based on a simple format, will be really important. We've build Hurl (https://github.com/Orange-OpenSource/hurl), that shares a lot of similarities with Step CI (plain text instead of yaml, captures, jsonpath, xpath etc...). I will shamelessly take inspiration for some new features (like GraphQL for instance)!
In Show HN: We built a tool that automatically generates API tests
jicea·Sep 21, 2022Submission

Show HN: Hurl, test APIs with plain text and libcurl

Hi, We're happy to release a new version of Hurl [1]. Hurl is a command line tool powered by curl, that runs HTTP requests defined in a simple plain text format: # Get home: GET https://example.org HTTP/1.1 200 [Captures] csrf_token: xpath "string(//meta[@name='_csrf_token']/@content)" # Do login! POST https://example.org/login?user=toto&password=1234 X-CSRF-TOKEN: HTTP/1.1 302 Hurl can be used to get data like curl, or as an integration testing tool for JSON/XML HTTP apis / HTML content. Requests can be chained, and one can add asserts on response headers, cookies and body. For instance: GET https://example.org/order screencapability: low HTTP/1.1 200 [Asserts] jsonpath "$.validated" == true jsonpath "$.userInfo.lastName" == "Herbert" jsonpath "$.hasDevice" == false jsonpath "$.links" count == 1
Read the rest
2 jsonpath "$.order" matches /^order-\d{8}$/ You can see more samples in the documentation [2]. We've designed Hurl to be easily integrated in CI/CD (GitHub, GitLab), and its text format can be used as a documentation, commited in a repo etc... It's a single binary written in Rust, that is powered by libcurl under the hood, for a fast CLI tool for both devops and developers. In this new version, we've added the following improvements: - verbose output: add more color to Hurl --verbose output, and also added --very-verbose option to output request and response bodies - request options: command-line options such as --location (follow HTTP redirection), --verbose, --insecure etc... can now be applied to a particular request with an [Options] sections - and more, see here for a quick tout of 1.7.0 [3] [1] https://github.com/Orange-OpenSource/hurl [2] https://hurl.dev/docs/samples.html [3] https://hurl.dev/blog/2022/09/15/announcing-hurl-1.7.0.html Previous Show HN <https://news.ycombinator.com/item?id=28758226> and <https://news.ycombinator.com/item?id=25655737>
3 points · Open discussion
It’s on the documentation home [1] and on the GitHub README [2]: Why Hurl? - Text Format: for both devops and developers - Fast CLI: a command line for local dev and continuous integration - Single Binary: easy to install, with no runtime required It’s maybe too succinct, but, at least, it’s here! We have also a more detail view on our FAQ [3] [1] https://hurl.dev/#why-hurl [2] https://github.com/Orange-OpenSource/hurl#why-hurl [3] https://hurl.dev/docs/frequently-asked-questions.html#yet-an...
In The Asymmetry of Open Source
> Users need open source projects, but open source projects do not need users. I get what’s the author is trying to say, but, as a maintainer of a small, free, open source project [1], I’m really happy to get more users: - having more users helps to keep motivation - it helps also with the credibility: we work in a large telco, and popularity can justify us working on it on our work hours - we get more feedbacks, more bug reports and so we improve our tools. As we use it intensively, it’s benefit for us When your project reach a certain level of popularity, maybe you don’t « need users » any more but I think the majority of GitHub projets are small, relatively obscure, and can benefit from feedbacks, usage etc… [1] https://github.com/Orange-OpenSource/hurl
In The Asymmetry of Open Source
Shameless plug, we've built hurl [1] to add some syntactic sugar over curl, with plain text. For example, you can write a text file post.hurl: POST https://api.ctl.io/v2/authentication/login { "username": "YOUR.USERNAME", "password": "YOUR.PASSWORD" } and it will send the same POST request with a json body: hurl post.hurl You can add asserts on the response too: POST https://api.ctl.io/v2/authentication/login { "username": "YOUR.USERNAME", "password": "YOUR.PASSWORD" } HTTP/1.0 200 [Asserts] jsonpath "$.status" == "LOGGED" Under the hood, we use libcurl and a Rust binding. The HTTP engine is curl because curl is awesome! [1] https://github.com/Orange-OpenSource/hurl
In The time might come when we add some JSON specific command line options

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.