Bruno: Yet another alternative to Postman

Postman has long been, and continues to be, an industry standard for API testing. Numerous beginner courses for QA engineers dedicate sections to explaining how to use it. Software developers, product owners, database administrators, and many others often have Postman installed as well. Another prominent tool is Insomnia.

Both, unfortunately, push their users to create accounts and share often commercial information with their cloud services. I don't mind online collaboration, it can be really helpful, especially in large teams. However, I dislike when perfectly capable products start introducing artificial barriers that persuade customers to use features they don't need and never asked for. Do I need a cloud workspace to work on a course project? No. There's a term for that: enshittification.

Bruno: main window

A few months ago, I discovered another API client called Bruno, which offers a healthy alternative. It is open-source, it "commits to not bloating our product with unnecessary platform features", it comes with native git integration, and it works offline. Bruno's interface is very similar to Insomnia's, I had no issues migrating from one to the other. In my opinion, it's a solid tool that should satisfy most people simply looking for a better way to organize their request collections than files with curl commands.

I have only one complaint: the naming.

List of API requests in Bruno

See, Bruno stores requests as individual files on the disk with the same filename as you've chosen for a request.

$ ls
create.bru   folder.bru  'get by id.bru'   list.bru  'put by id.bru'

I find it easier to navigate my collection when request names match API endpoints.

POST    /applications
GET     /applications
GET     /applications/:id
PUT     /applications/:id

Alas, you can't use symbols like : and / in filenames. No problem, let's use applications_id as a request name instead! But then, you can't use it for both GET and PUT requests. I can distinguish them in the application thanks to big colorful icons, but they would have the same filename on the disk. Hence, I had to go with get by id and put by id. This isn't a big deal, but I want to be honest about my experience.

Other than that, Bruno is a great tool that I can suggest trying. Check their pricing page though. A few features aren't available in the free version, which might be a deal breaker for you.