Skip to content(if available)orjump to list(if available)

Show HN: Yaak – An open source, Git-friendly desktop API client

Show HN: Yaak – An open source, Git-friendly desktop API client

40 comments

·February 26, 2025

Hi HN! I'm Greg and I've been working on Yaak for just over a year. I usually describe it as a Postman alternative since most developers are familiar with that, but it's targeted more toward users that just want an API client (no mocking, testing, spec design, etc).

Having also created Insomnia for a similar purpose, I never thought I'd build another API client again. But, after selling Insomnia in 2019 and watching it expand into the broader feature set of Postman, I was left wanting a simpler tool again. Yaak was my answer to that.

It's hard to describe how it's better than the 100 other API clients, since its main benefit is design, but there are a few stand-out features:

- Optionally sync data to a local directory as plain-text, for use with Git/etc - Build and install plugins for authentication, template functions, or generic actions - Support for REST, GraphQL, WebSocket, server sent events, and gRPC

Yaak requires a license for commercial use but this only applies when using the prebuilt binaries. If building from source, a license is not required.

It's available for Mac, Windows, and Linux and the source is at https://github.com/mountain-loop/yaak

I'd love to hear you think!

yoyohello13

The Software tool lifecycle:

1. Dev makes a cool lightweight productive tool

2. Tool becomes popular

3. Company buys tool

4. Company adds a bunch of shit nobody needs making the product bloated and annoying to use.

5. Dev makes a cool lightweight productive tool

JadoJodo

> The interface is clean and much nicer to use than bloated alternatives like Insomnia and Postman.

As I recall, both _used_ to be the same way.

gschier

Yes indeed. This is why I stared over with Yaak

unchar1

> Yaak is still open source under the MIT license. You can view, modify, and run the source code for both personal and commercial use. Licensing applies only to the prebuilt binaries.

That's a pretty interesting pricing strategy. I think REHL is the only other project I saw with this type of pricing.

gschier

I remember seeing another one while coming up with this, but now I can't remember what it was. It's definitely rare.

mzajc

Since the binary and source release come under different terms, are there any technical differences between them? For example, some projects (like Visual Studio Code) will telemetry in the binary release, but do not enable it by default in the source.

gschier

No difference. You can see the build pipeline in the GitHub repository which builds directly from HEAD

DandyDev

"Is still open source"

Does this mean that you anticipate Yaak not to be open source anymore at some point?

gschier

Yaak used to not require a commercial use license (original plan was to do cloud sync), so "still" refers to the fact that the commercial use license now exists, but the open source nature hasn't changed. I'll update the wording there, thanks!

dhruvkb

Would love to see a comparison with Bruno[1].

[1]: https://usebruno.com

literallyroy

Here’s my own take [1] when I was on the hunt for a good HTTP client a month or so ago.

[1]: https://royathan.com/blog/the-api-client-hunt/

gschier

Hah, and you chose Yaak!

gschier

I've been meaning to put some comparisons together!

Bruno is also a good local-first client but leans more toward Postman's market.

The main advantage Bruno has is the ability to run tests, and a CLI to do so.

Yaak supports more protocols (eg. gRPC and WebSocket), has plugins, and more powerful templating for doing things like generating UUIDs (also extendable via plugins).

kamalhm

would you consider adding pre-request and post-request script in yaak also?

gschier

It's definitely under consideration. Yaak has Request Chaining [1] to solve some of the use-cases that scripting is typically for, though, so there isn't a ton of demand for it.

[1] https://feedback.yaak.app/help/articles/7017237-request-chai...

yoeven

Looks great!! I would love to move to this as my go-to API client but my fear is it stops getting maintained overtime like httpie.io but at least this is open source so a great win!

sunnybeetroot

This is excellent Greg thanks for sharing! One thing I do find missing from a lot of these API clients is synced environment variable entries between environments.

For example if I create a `dev` environment that contains a `base_url` environment variable, it's expected that when I create a `prod` environment, it will also have a `base_url` environment variable. Then in the future if I add more environment variables to my `dev` environment, I need to duplicate the work of adding an environment variable entry to `prod.

I can't be the only one that experiences this pain :P The UX of this could be handled in any number of ways:

- When you create a new environment, ask if you want to duplicate an existing environment's variable names (with empty values)

- If you add a new environment variable, ask if you want to add the environment variable name to another environment

- Option to enable syncing between all environments i.e. deleting a variable row in one environment deletes it for the rest etc

I was about to post this as a github issue for traction but given Issues are turned off thought this may be the next best place.

Regardless, Yaak is excellent!

gschier

The feedback board is linked in the readme! I do agree with your points and have been passively thinking of an overhaul to how environments work. It's one of the most important features and has so much potential (like activating multiple at once)

sunnybeetroot

Ahh I’m a silly sausage then, thank you! I’m very glad you’re so responsive. Whilst postman is excellent, it’s become so big and enterprisey that it doesn’t feel like requests are heard let alone would be considered given the breadth of customers they deal with.

gschier

Ya, I feel like their need for growth is forcing them into it. I'm glad I only have to earn enough income for 1 person, not 1000.

Gys

Downloaded it, looks great. I am building a desktop app as well (very different functionality) and I wonder how do you do license management?

gschier

Just a basic server. Licenses are attached to paying users. The app checks the license against the server periodically to unsure it's still valid. It's not that complicated since I don't care about piracy.

denvermullets

fantastic. i was about to make my own after being frustated with bruno's change in billing and just lack of quality.

having gone from postman -> insomnia -> back to postman -> bruno - id like to just have something simple that _just works_ without making it a pain.

looking forward to giving this a spin.

yoyohello13

https://hurl.dev/index.html

Probably the only tool that won't get SASSified into oblivion. CLI only is like plot armor for enshitification.

gschier

Thanks! Let me know if there's anything missing :)

dban

> But, after selling Insomnia in 2019 and watching it expand into the broader feature set of Postman, I was left wanting a simpler tool again. Yaak was my answer to that

I'd love to read about your experience building two distinct but similar products in the same space years apart

gschier

I'd say the only real differences are that (1) I know what I'm building from the start and (2) I can avoid the fundamental technical mistakes.

It's actually been way harder to gain traction this time, I think because APIs are no longer sexy and there are so many good tools out there.

martin_a

How can we be sure that Yaak won't be sold and enshittified two years from now?

Maybe I'm nitpicky, but I love sticking to software for years, had to ditch Insomnia after an auto-update killed my collections and wanted me to sign up for a cloud service. Could happen with this (yes, any software for that matter), too, because you'll sell it in a year from now.

gschier

I agree, there's no way to know for sure. But I feel like I'm the least likely person to do this with Yaak since I learned from experience already.

drpossum

You can't. Ever. So you just need to live with uncertainty.

DrBenCarson

This got much less attention than I would have expected.

Yaak is awesome, please please please keep it local-friendly

gschier

Ya, the gamble of HN I guess. Thanks for saying so! It will be local friendly for as long as I'm working on it, and I'm in it for the long haul this time.

tv10

I love your landing page & overall design of the home page. So clean. Love the color scheme as well.

gschier

Thanks, I just did a big overhaul on it and came up with something I'm very pleased with :)