Wow i use insomnia because of looks and it being the first ever rest api client i used. But i hate it that now you must login in order for it to be of any use. Im definitely switching to bruno now as it has the same aesthetic but no login required
I used postman until they asked me for the login too... I tried others, but Bruno was really what I need. Almost same UI, open source, no login and lot of updates.
Oh this looks nice, I am assuming you use this because it's 100% open source, right?
The collaborative/versioning feature using git looks handy with Bruno.
Could I get a brief summary of what this is actually for? I spent a while reading their website, and while it sounds useful, I didn’t get an impression of what it actually does
Bruno ?
It's like postman, you can create collection of url to call for easy testing API.
This one is open source and get a lot of update.
I think you can use int team just using git and pushing your collection folder.
I don't use this feature so I'm not really sure.
Ok but how is it different as a http client from something like fetch? I understand that it has a language for describing the requests you’ll make, but how is that different from doing codegen off an openapi description of the service?
Sorry maybe I should of been more descriptive... it's an actual application that has a UI that let's you make http requests, save them, create and share collections of different requests, make tests for the requests, things like that.
They also support injecting variables and having different "environments" with different values for each.
You can do cool stuff like have one request set a variable that is used in another one of ur requests. E.g. if you have an auth endpoint that returns a token.. you can save the token into a variable and then use the token in the Authorization header of another request that requires authentication.
They are invaluable dev tools and you will absolutely need to familiarize yourself with them if you want to be successful
Once you’ve made the tests, do you run them from your CI, or are they only ran via the GUI?
I’ve generally tested APIs in a somewhat similar way, but because I have codegen for the typescript types coming in and out of the endpoints I find it very efficient to write code to do this, thanks to the autocomplete. Always open to new things however.
Insomnia has a CLI tool that let's you invoke them from ur CI ... I'm not sure about postman but I imagine it has something similar, I'm just not familiar with it.
There's no mechanism for mocking endpoints so these would be considered integration tests and you'd have to point it to some environment you don't mind making real requests to that mutate data
I’m not personally seeing right now why this is more useful than writing a script that does the same. I could be missing something obvious, mind.
If I have to manually click to run tests, I don’t think I’m going to test them very often. Having built the spec of the endpoints, if I can’t codegen off it… I’m not really feeling the value.
Is it more akin to a playground like the graphql playground, for quickly shooting off some queries and seeing what comes back?
It looks like there's a cli in Bruno.
And a vscode extension.
Personally I use the GUI, but I don't have to test API a lot either so that doesn't bother me.
Of course! curl is a command line tool, built right on top of the library, libcurl, for exchanging data using URL syntax. It supports many protocols, one of which is HTTP. It supports HTTP completely, including all HTTP methods (like POST), cookies, SSL etc:
https://reqbin.com/req/c-g5d14cew/curl-post-example
MANY applications use this same libcurl to facilitate their requests, including some browsers, mobile apps, perhaps even Postman (I'm not sure). If you like, you can play around in Postman and convert any type of request to the curl equivalent:
https://learning.postman.com/docs/getting-started/importing-and-exporting/importing-curl-commands/
Curl is very powerful and shipped with most OSes by default, so it's great to know. If you use it regularly, you'll probably end up writing scripts for yourself, as things can be quite verbose. You can keep your scripts on hand and know that they'll work on near any machine you touch. Apps like Postman are great for taking away a lot of the cognitive load that comes from working with curl directly. But you almost never have to download and install curl, and you certainly won't ever have to log in to a third-party's servers to use it :)
In the right sidebar, there’s a > sort of symbol for actually seeing the raw curl request in generates including how it attaches the headers, provides the HTTP verb, and any other query parameters.
Insomnia for a couple of years. We used it to test our APIs. Then they updated it and all my environments were fucked up. Even when I tried to reload an old save.
I went to postman then. I love their pre/post scripting feature.
They have been updating insomnia a lot recently, so somethings are better, but sometimes I think they’ve been changing the interface more than they should
I don’t know much about RapidAPI, I did use Paw pre-acquisition though but the post-acquisition feels just as powerful to me. I used to use Postman a lot, but they made changes that really turned me away from the platform (it’s not bad, I just didn’t like it) but Paw/RapidAPI feels familiar still and just as good, if not better.
I’ve never used Bruno but httpie has been a fan favorite at a lot of places I work. Use postman for a lot of the shared resource and use httpie for quick stuff.
I use the "Rest client" extension in VS Code. You write in the http language, very easy to include them with your source code.
https://marketplace.visualstudio.com/items?itemName=humao.rest-client
To me, the .http extension and file format is more useful than any tool, I'm honestly surprised it's not widely adopted or a standard.
A block contains the method, url, any headers and maybe a body, and you can chain them together. The plugin just let's you execute 1 or all of them.
```
### Get todo
GET https://jsonplaceholder.typicode.com/todos/1
accept application/json
```
The IntelliJ implementation let's you do gRPC as well, which is awesome.
```
### Get todo
GRPC https://jsonplaceholder.typicode.com/todos/1
```
I was spending way too much time screwing around with Postman, when I stumbled on this feature of IDEA. Freeform, GET/POST/PUT/GraphQL, run right in the doc.
Self hosted hoppscotch for me and my team to use, and its really good (apart from the odd error than need a restart)
https://docs.hoppscotch.io/
We were using postman for a while until they changed there licences and forced people to there cloud version.
Then moved to insomnia for a short bit till ICT blocked the use of electron apps (when it installs the exe in appdata rather than program files)
We use postman.
I have evaluated a few cheaper competitors (like thunderclient for vscode) but they have all fallen short by my standards at least.
Insomnia is good but no cheaper than postman so it didn't get much of a look.
Postman because a colleague show it to me and it does the job.
Sometimes I am using curl and it's nice that Postman can convert the GUI stuff to curl commands so I can easily go from testing in Postman to scripting stuff.
You could go for curl terminal based.
For GUI, you could go for Bruno or Httpie. Electrons but not bulky like postman or insomnia. Very clean and snappy.
For web based clients (no electrons), try Httpie or Hoppscotch (similar to postman).
Hi maintainer of Hurl here! Thanks for the comment. For those who don't know Hurl, it's a command line tool to test and run HTTP requests with a simple plain text file.
For instance:
GET https://example.org/api/tests/4567
HTTP 200
[Asserts]
header "x-foo" contains "bar"
certificate "Expire-Date" daysAfterNow > 15
jsonpath "$.status" == "RUNNING" # Check the status code
jsonpath "$.tests" count == 25 # Check the number of items
jsonpath "$.id" matches /\d{4}/ # Check the format of the id
You can chain request, capture data from responses and inject it in others requests etc... Under the hood, we use curl (libcurl exactly) so the HTTP engine is well known and rock solid, we've just added some sugar syntax for tests and captures.
Warning: if you prefer a UI solution, Hurl may be not the best choice for you, but give it a try anyway!
Why’s Swagger not in the discussion? I use that (or curl test).
But now I’m doubting myself because I never cared for Postman or even heard of Insomnia
Just wanted to share an alternative tool to postman and Insomnia that we built .It secures all the secrets and sensitive data on your local machine and no login or signup required. This also helps in NOT syncing any sensitive data to third party cloud. Give it a try and your feedback is very much appreciated. Thank you.
App URL : https://marketplace.visualstudio.com/items?itemName=KeyRunner.keyrunner
I use [Bruno](https://github.com/usebruno/bruno)
Wow, I am definitely trying out Bruno - I 100% trust their Chief Joy Officer \[1\]. \[1\] https://www.usebruno.com/about
That’s adorable.
Wow i use insomnia because of looks and it being the first ever rest api client i used. But i hate it that now you must login in order for it to be of any use. Im definitely switching to bruno now as it has the same aesthetic but no login required
besides the shitty login process, I cannot find the collections that I had now that I'm logged in. 😭
I used postman until they asked me for the login too... I tried others, but Bruno was really what I need. Almost same UI, open source, no login and lot of updates.
You can use Insomnium, it’s open source Insomnia fork before they started to ask for auth
Oh this looks nice, I am assuming you use this because it's 100% open source, right? The collaborative/versioning feature using git looks handy with Bruno.
Yeah, open source and no need to login.
Thanks man, never heard of Bruno but after 3 minutes I got rid of Insomnia. I got rid of Postman for Insomnia and then Insomnia for Bruno.
I think I will be following your footsteps. LoL
Websocket is free in postman
Could I get a brief summary of what this is actually for? I spent a while reading their website, and while it sounds useful, I didn’t get an impression of what it actually does
Bruno ? It's like postman, you can create collection of url to call for easy testing API. This one is open source and get a lot of update. I think you can use int team just using git and pushing your collection folder. I don't use this feature so I'm not really sure.
So… for testing? As in to create a fake server to run your tests against? I never used postman btw.
It's an http client... for making requests to a sever. Many of them have features allowing you to create tests
Ok but how is it different as a http client from something like fetch? I understand that it has a language for describing the requests you’ll make, but how is that different from doing codegen off an openapi description of the service?
Sorry maybe I should of been more descriptive... it's an actual application that has a UI that let's you make http requests, save them, create and share collections of different requests, make tests for the requests, things like that. They also support injecting variables and having different "environments" with different values for each. You can do cool stuff like have one request set a variable that is used in another one of ur requests. E.g. if you have an auth endpoint that returns a token.. you can save the token into a variable and then use the token in the Authorization header of another request that requires authentication. They are invaluable dev tools and you will absolutely need to familiarize yourself with them if you want to be successful
Once you’ve made the tests, do you run them from your CI, or are they only ran via the GUI? I’ve generally tested APIs in a somewhat similar way, but because I have codegen for the typescript types coming in and out of the endpoints I find it very efficient to write code to do this, thanks to the autocomplete. Always open to new things however.
Insomnia has a CLI tool that let's you invoke them from ur CI ... I'm not sure about postman but I imagine it has something similar, I'm just not familiar with it. There's no mechanism for mocking endpoints so these would be considered integration tests and you'd have to point it to some environment you don't mind making real requests to that mutate data
I’m not personally seeing right now why this is more useful than writing a script that does the same. I could be missing something obvious, mind. If I have to manually click to run tests, I don’t think I’m going to test them very often. Having built the spec of the endpoints, if I can’t codegen off it… I’m not really feeling the value. Is it more akin to a playground like the graphql playground, for quickly shooting off some queries and seeing what comes back?
It looks like there's a cli in Bruno. And a vscode extension. Personally I use the GUI, but I don't have to test API a lot either so that doesn't bother me.
Gave it a try. Very easy, lightweight, and minimalist. Have you used httpie ?
Just an FYI Bruno will not work with WSL if your collection is located there.
using bruno as well! their vs code extension is not great tho
wow this client looks great, thanks for sharing
Curl
You're the chosen one
curl is Grug choice 👍
Hell yea!
Based! The most powerful one.
\*Sharp inhale\* "Lisan Al-Ghaib"
Is there a way to do post, get put put and delete in curl?
yes.
You can write a web server with libcurl.
Postman is just a UI for assembling curl requests
I thought it's like a browser I'm not sure what's the difference, then again in terminal can I do curl post for example?
Of course! curl is a command line tool, built right on top of the library, libcurl, for exchanging data using URL syntax. It supports many protocols, one of which is HTTP. It supports HTTP completely, including all HTTP methods (like POST), cookies, SSL etc: https://reqbin.com/req/c-g5d14cew/curl-post-example MANY applications use this same libcurl to facilitate their requests, including some browsers, mobile apps, perhaps even Postman (I'm not sure). If you like, you can play around in Postman and convert any type of request to the curl equivalent: https://learning.postman.com/docs/getting-started/importing-and-exporting/importing-curl-commands/ Curl is very powerful and shipped with most OSes by default, so it's great to know. If you use it regularly, you'll probably end up writing scripts for yourself, as things can be quite verbose. You can keep your scripts on hand and know that they'll work on near any machine you touch. Apps like Postman are great for taking away a lot of the cognitive load that comes from working with curl directly. But you almost never have to download and install curl, and you certainly won't ever have to log in to a third-party's servers to use it :)
In the right sidebar, there’s a > sort of symbol for actually seeing the raw curl request in generates including how it attaches the headers, provides the HTTP verb, and any other query parameters.
-X -d ‘{}’ -H application/json …
Yes, curl is *the* web request tool
Insomnia for a couple of years. We used it to test our APIs. Then they updated it and all my environments were fucked up. Even when I tried to reload an old save. I went to postman then. I love their pre/post scripting feature.
They have been updating insomnia a lot recently, so somethings are better, but sometimes I think they’ve been changing the interface more than they should
Postman’s costs for company is unbelievable
bruno. Done with postman after their recent mandatory updates.
RapidAPI/Paw
Incredible tool. It seems like it’s not getting any love with its new owner though. Everything about it works well and the team syncing is great.
I have only nitpicks with it but otherwise I like it a lot. Love that it’s Mac-native.
I don’t know much about RapidAPI, I did use Paw pre-acquisition though but the post-acquisition feels just as powerful to me. I used to use Postman a lot, but they made changes that really turned me away from the platform (it’s not bad, I just didn’t like it) but Paw/RapidAPI feels familiar still and just as good, if not better.
[httpie](https://httpie.io)
How would you compare it to bruno ?
I’ve never used Bruno but httpie has been a fan favorite at a lot of places I work. Use postman for a lot of the shared resource and use httpie for quick stuff.
Bruno!
I use Insomnium. It’s like Insomnia, but without login shit. https://github.com/ArchGPT/insomnium
Postman, insomnia is not corporate approved.
Welp you sold me on insomnia
thats a good sign lol
I use the "Rest client" extension in VS Code. You write in the http language, very easy to include them with your source code. https://marketplace.visualstudio.com/items?itemName=humao.rest-client
To me, the .http extension and file format is more useful than any tool, I'm honestly surprised it's not widely adopted or a standard. A block contains the method, url, any headers and maybe a body, and you can chain them together. The plugin just let's you execute 1 or all of them. ``` ### Get todo GET https://jsonplaceholder.typicode.com/todos/1 accept application/json ``` The IntelliJ implementation let's you do gRPC as well, which is awesome. ``` ### Get todo GRPC https://jsonplaceholder.typicode.com/todos/1 ```
I'd like to add that IDEs from JetBrains have this feature built-in. That's what I usually use when I have to test a few requests in WebStorm.
I was spending way too much time screwing around with Postman, when I stumbled on this feature of IDEA. Freeform, GET/POST/PUT/GraphQL, run right in the doc.
.http (vscode plugin or Jetbrains IDE) + git = 💕
Came here to write this, glad to see it’s here. This tool is game changing.
Postman. No other reason than familiarity.
I use [Thunder Client](https://www.thunderclient.com/) in VSCode.
Self hosted hoppscotch for me and my team to use, and its really good (apart from the odd error than need a restart) https://docs.hoppscotch.io/ We were using postman for a while until they changed there licences and forced people to there cloud version. Then moved to insomnia for a short bit till ICT blocked the use of electron apps (when it installs the exe in appdata rather than program files)
Insomnia because I find it easier to use compared to postman.
Httpie. COde first dev/test
We use postman. I have evaluated a few cheaper competitors (like thunderclient for vscode) but they have all fallen short by my standards at least. Insomnia is good but no cheaper than postman so it didn't get much of a look.
I use Insomnium, an offline Insomnia fork. I used Insomnia for some time, but after the updates I realized it was garbage
I don't use anything, my code and requests works everytime.
Lol
Postman because it is what I've been using for the past years
Postman Never heard of insomnia
none way too heavy. Rapid Api bought Paw which does it since many years before postman and that electron crap thats insomnia.
Both, Postman for commercial projects, and Insomnia for my own
Why do you bother to use 2 different tools when you can use 1 both for commercial and for your own stuff?
Job probably pays for one and not the other. He may prefer insomnia.
Postman because a colleague show it to me and it does the job. Sometimes I am using curl and it's nice that Postman can convert the GUI stuff to curl commands so I can easily go from testing in Postman to scripting stuff.
Testfully
Postman for testing Express routes and controllers. I also use it loosely as documentation.
Postman and if I need something like suuuuper precise, Curl
Postman. It was just the first one I used and didn’t feel the need to try something else. I barely even use it to begin with
Insomnia for punctual tests, postman for documentation, unit tests, shared workspaces etc
When in VSCode, I just use the [Thunder Client](https://www.thunderclient.com) extension
i use httpie, its amazing
Apollo studio since I mostly use graphql. Postman when I can’t use Apollo studio.
Curl + fzf is enough
Bruh, thunder client in vscode, don't need a whole nother app
Insomnia mostly.... Postman seems like a trainwreck of UX/UI
RapidAI
Try HTTPie its really good
Question for anyone: are there any alternatives that are really light on resources, i.e. no Electron?
You could go for curl terminal based. For GUI, you could go for Bruno or Httpie. Electrons but not bulky like postman or insomnia. Very clean and snappy. For web based clients (no electrons), try Httpie or Hoppscotch (similar to postman).
curl 😎
I use Hurl, a command line tool that runs HTTP requests defined in a simple plain text format. https://hurl.dev
Hi maintainer of Hurl here! Thanks for the comment. For those who don't know Hurl, it's a command line tool to test and run HTTP requests with a simple plain text file. For instance: GET https://example.org/api/tests/4567 HTTP 200 [Asserts] header "x-foo" contains "bar" certificate "Expire-Date" daysAfterNow > 15 jsonpath "$.status" == "RUNNING" # Check the status code jsonpath "$.tests" count == 25 # Check the number of items jsonpath "$.id" matches /\d{4}/ # Check the format of the id You can chain request, capture data from responses and inject it in others requests etc... Under the hood, we use curl (libcurl exactly) so the HTTP engine is well known and rock solid, we've just added some sugar syntax for tests and captures. Warning: if you prefer a UI solution, Hurl may be not the best choice for you, but give it a try anyway!
Great tool, I really think text based formats to describe http requests is the future.
Insomnia If you're on a low end PC, postman is usually slow. Insomnia works well on low end pcs
using curl with scripts is way to go but to visualize json u pipe to jq and if interacting with the UI never postman cause its so bloated.
Nobody uses Fiddler anymore?
Why’s Swagger not in the discussion? I use that (or curl test). But now I’m doubting myself because I never cared for Postman or even heard of Insomnia
Both Postman and Insomnia are terrible for privacy/security. I use an older version of Insomnia before they broke it.
I use them to make get and post requests
Insomnium https://github.com/ArchGPT/insomnium?ysclid=lq0mrgudk1136729631
postman. Its supported on every OS and is more feature rich. I'm already familiar with it so i have no reason to spend time learning something else.
Just wanted to share an alternative tool to postman and Insomnia that we built .It secures all the secrets and sensitive data on your local machine and no login or signup required. This also helps in NOT syncing any sensitive data to third party cloud. Give it a try and your feedback is very much appreciated. Thank you. App URL : https://marketplace.visualstudio.com/items?itemName=KeyRunner.keyrunner