I was a long time Postman user, but find myself using Insomnia more and more in recent months.
Nothing wrong with Postman at all, but I just like Insomnia's cleaner and less cluttered UI. However, even as a regular user, sometimes I find the 'Send' button can be a lot more prominent than it is. The green '200 OK' response next to the Send button looks more like a button, and I keep inadvertently clicking on it to send my requests off!
And when starting out with a fresh workspace, the 'Create New' prompt looks like a button that you can click to create a new query, but it isn't - you still have to use the hotkey to do so. Small improvements in the UI like that will go a long way to making this my default 'go to' API testing tool.
One nice feature of Insomnia, that I was pleasantly surprised by, was the ability to export and import your environment settings along with specific API end points. It makes getting up and running for an entire team a bit easier. Sharing is caring.
I'm a long time Postman user as well, I'm still using the Chrome app version because I like having it open in multiple tabs - I can quickly compare responses from Dev/Prod by switching tabs.
Long-time Paw user here. I prefer it over this or Postman, but I agree that there are horses for courses. Paw lets you easily switch between a bunch of different requests, supports many auth schemes, can import the “copy as curl” right from your clipboard, can generate code for many languages (including curl), has a nice JSON viewer as a tree or as highlighted and formatted text, etc etc: https://paw.cloud
I also like the collab features and ability to save the API spec alongside the source code if you wish. They also have some cloud sharing for teams that I haven’t played with.
Actually, there is something wrong with Postman. It didn't affect the Chrome version but the standalone has a serious bug where it just completely ignores your hosts file. There's been a Github issue for it for over a year but they haven't bothered to fix it.
Personally, I prefer Postman but because of that bug it's basically useless for me.
Sorry about that issue. We have been working on the migration from the Chrome app to the Electron based app for a while. The final set of changes in the runtime went through in v5.4 (collection level auth, variables, scripts etc.). Changes closer to the network layer will start trickling in through soon. It seems like a long time for a bug, but we have been releasing version updates almost every 2-3 weeks. :)
For people already used to org-mode + curl (or any CLI tool), I highly recommend using those together when exploring an API (granted, this involves throwing simplicity out the window)
Not to discount tools such as postman / insomnia or other built-in editor tools like restclient-mode, they are all fantastic tools
Some quick reasons why I found this works best for me:
* Org-mode is already great as a dedicated note-taking tool
* This is immediately compatible with existing CLI examples or output from tools that offer 'export as cURL' -- this is especially useful if I want to reverse engineer an api request by browser is making
* Easy to export to an html/wiki document for immediate consumption by others with working CLI examples
* Composable with other CLI tools like jq and xmllint
Instead of org and curl, some might like to give restclient a call. You put a # comment, then a rest call and maybe some data. It's still organized like a notebook, though, so you can point to any call and punch Ctrl-return and the result pops up in another buffer. Simple and slick without all the Org markup.
As someone who has never used Org-mode, and only very briefly dabbled in Emacs during college, I actually think that's a pretty safe assumption around these parts. No?
Even if you are uncomfortable assuming that, search results for "org-mode"/"orgmode" are unambiguous and helpful for anyone out-of-the-loop and curious, so it doesn't seem exclusionary or like a secret in-joke reserved for a secret society of HN elite.
It's like ice-cream, some people like chocolate, others like vanilla...others (insert your flavor).
I use a lot of httpie [1] and jq [2] - sometimes a GUI is nice to show other humans who might... mmhh... not like the CLI that much.. things in a more "eye pleasing way".
In my experience, the converse is true. Finder/Explorer makes only already easy tasks like cd/mv/cp/rm easier, but terminal is much better for more complicated operations, such as mass renaming, data file preprocessing, etc.
I also like using mitmproxy combined with proxychains4 for monitoring outgoing requests of apps I'm building, especially when using a third-party library to use a service (like Azure services). It's also good for seeing what any application is doing.
I love httpie for smaller requests, but there's still situations where I have to reach for a GUI. Adding 4 headers and 9 fields in a JSON request body is not as fun in httpie if you find yourself having to change fields and run the request again
Sometimes it's more convenient to use command line, and sometimes (especially with more complicated queries that you want to modify and fiddle with a lot) a GUI is more convenient.
While I tend to agree with that, I would love to have a Postman/Insomia style client for SOAP. I still do some work that requires talking to (legacy-ish) enterprise applications that only do SOAP :-( On the CLI, that's just a bunch of unusable XML.
I have good experiences with the free version of SoapUI. It is branded as a test automation tool, but can also work well as a client. Just import your WSDL and it will generate requests for you.
I have been working on an alternative to Postman and Curl with a modern terminal interface. The idea isn't fully fleshed out yet, but I really like using it when I am designing an API. It forces me to think about discoverability and encourages me to provide links in the response rather than encoding the API route structure into a client.
Been using Insomnia for a few months now, some things I really like:
1. Env switching. I believe this is available on other clients, but it feels very intuitive in insomnia.
2. The ease of using results from other calls and making method chains. When testing something locally, I can make a POST call and then click on my GET call and have it implicitly GET the id that was just created.
3. Computed values -- putting in uuids or timestamps for each new call without having to change them. I looked at the api and the code to add your own seems pretty straightforward.
4. Input data types are toggleable, but the form stays the same. This bugged the shit out of me with Postman: I'd fill out a form with my content body only to find I had marked the wrong content type, switched it, and saw Postman present me with a blank form.
It's really nice tool indeed, I much prefer this to Paw and Postman strictly due to UX. Less tabs, less popups etc, easier to navigate. I don't mind Electron either.
I know it's shameless plug but I can't resist sharing my own tool that I created for monitoring REST apis, if anyone is interested: http://www.apilope.com
For what it's worth, I use Insomnia every day with some pretty large requests and I've never had an issue with it.
With this, VSCode, Slack & Boostnote - a good portion of my daily work is done in Electron apps and I can't say I'm itching to switch to native alternatives.
Definitely appreciate how people have issues with it, but it doesn't seem like it's going away and hopefully will only get better.
When it's used well (VS Code) it works like anything else, when it isn't (Atom) it doesn't.
It might use more memory, but as developers we usually have GBs of spare RAM, isn't it there to be used anyway?
A lot of apps on Linux are available because Electron makes porting easy.
I suppose Linux users are used to apps each having their own UI quirks to a certain extent, but as a Mac user, Electron apps stick out like a sore thumb and most certainly don't "work like anything else."
Taking your "used well" example of VS Code as an example, any Mac user trying to seriously use it for more than a minute will find plenty of problems. The scroll bars are thicker and more boxy and do not auto-hide; the cursor appearance is different (the line is too thick and fades in and out instead of just blinking); the page-up and page-down behavior is different (the cursor moves rather than just staying in place; infuriating!); what gets selected when you double- or triple-click on bits of code is different. Some people can get over this sort of stuff and use it anyway. I, personally, cannot.
Been using VS Code on a mac for over a year now and literally nothing you mentioned is true for me with the exception of the scroll bar being thicker than the OS default, but it does autohide.
It has been a couple months since the last time I tried it, so I gave it a download to see if my complaints have been fixed. It looks like the only one that has (or, more likely, I misremembered) is the fading cursor - but it's still too thick, it still moves when doing pgup/pgdn, selection on clicking still behaves differently, and the scroll bar is still most definitely visible. Also, there's that weird page-high gap when scrolling to the end of a file - I had forgotten about that one.
I know VS Code is highly customizable; is it possible you installed some customizations to make it behave more Mac-like?
I was on a Mac until a month ago and I never had any of the issues you're having.
Some of the behavior you mention is also by design.
P.S.: what's a good editor for the Mac in your opinion, then? Sublime Text is good and native, but the file explorer shows folders first instead of folder content mixed like everywhere else on macOS--and that's _actually_ infuriating.
> I was on a Mac until a month ago and I never had any of the issues you're having.
You mean these things weren't happening, or they were but they didn't bug you? :P
> what's a good editor for the Mac in your opinion, then?
I use Coda 2. It does too much with its built-in terminal and MySQL client and Git client and FTP client and manuals, but it's mostly possible to just use it as a code editor and ignore the rest. (The one thing that it doesn't have built in that I wish it did is a GDB debugger.) It was pretty crashy right after High Sierra was released, but the developers eventually ironed those out.
For the record, I upvoted you because I find that a useful warning. I am intrigued by this app, but Electron tempers my initial impression slightly. Putting it on the back-burner for now.
People may be taking your comment as general knee-jerk electron hate but it really is something to consider.
If you're sending requests that can return very long json responses, Insomnia can lock up and force you to restart it.
Paw is a pretty good native alternative but it's macOS only, doesn't have a free tier beyond a short trial period, and has some UI quirks that made me ultimately go back to Insomnia despite the electron borne downsides.
If Insomnia could offload the request response parsing/formatting to a WebAssembly module it would be perfect.
I'm seeing that a fair number of posts in this comment thread say "I've had Insomnia and/or Postman freeze/lock up/crash with large responses."
I can't recall ever having a problem with curl and a large response.
Yes, these others are probably doing something like parsing the response and making it pretty and that's where the problem is. But just sayin'. (Also, most of the time, curl's memory usage can be measured in kilobytes. Again, just sayin'.)
The warning is that the app will be unnaturally resource-intensive and have an odd UI compared to a "native" app.
I won't say I didn't intend to stir the shit a little with this comment and figured I'd rightly it would be downvoted or flagged into oblivion, but now it's my most upvoted comment in the last week or so. So people seem to appreciate it a lot more than anticipated. Maybe every Electron app that shows up on HN needs an "Electron warning!" subthread.
I won't say I didn't intend to stir the shit a little with this comment and figured I'd rightly it would be downvoted or flagged into oblivion, but now it's my most upvoted comment in the last week or so.
So what? Did it in any way foster interesting discussion? No, just the opposite. It's bad and you should feel bad.
I tried Insomnia a few days ago after Postman crashed over an exceptionally large response I was receiving. Insomnia was able to give me the full response after providing a warning about its size.
Postman has been around a while so I assume they have a richer feature set, but was glad to see Insomnia handle this.
vscode-restclient[1] is a fantastic piece of work. You create a .http file and write what looks like raw HTTP requests (syntax highlighting and autocomplete included). The biggest "feature" for me is that it's incredibly source control friendly. All of our services have documentation in the form of an HTTP "script" right alongside the code.
I switched to Insomnia after a few years of frustration with Postman crashing and its annoying tab behavior. The only thing I miss is a display for # of matches when searching!
I've been using it all the time for quite a while already. Generating different things like uuid's or dates in ISO format has been really useful. Same for environments. I also really like the UI.
Seems to me it's hard to overcome the advantage of being able to immediately work with and edit response data. What are the major advantages of these standalone clients?
Great! What I couldn't find is: is it possible to get output from one command and store it as variable for use in another command? My example is simple: I need to get a token once, and then provide it as a header to all subsequent requests. The bugger is unfortunately valid only for a limited amount of time (some 10 minutes), which makes exploration a bit tricky, and I don't particularly like running search and replace all the time...
I've been using insomnia daily for something like a year now, it's excellent. I would ask the developer to stop putting pop-up messages in it though. I use it because it's the cleanest REST client I've found, and it's extremely jarring to have the otherwise exceptional UX broken by a "latest release" popup.
There is also this one https://secapps.com/market/rest if you want even more UI goodness with support for variables and transformations. See the screenshots. Theme support is also going in soon. Disclosure: I am the founder of secapps.com.
The one thing all of these clients miss is a way to at the same time document your REST API. Else it feels like doing work twice. And I don't think exporting it to Swagger or something else is the same thing. I want to be able to edit my documentation live while testing it.
Not sure if Postman does this, but one thing I like about Insomnia is that it keeps a history of all the responses from the server, a feature I find very useful when documenting API request & responses.
Nothing wrong with Postman at all, but I just like Insomnia's cleaner and less cluttered UI. However, even as a regular user, sometimes I find the 'Send' button can be a lot more prominent than it is. The green '200 OK' response next to the Send button looks more like a button, and I keep inadvertently clicking on it to send my requests off!
And when starting out with a fresh workspace, the 'Create New' prompt looks like a button that you can click to create a new query, but it isn't - you still have to use the hotkey to do so. Small improvements in the UI like that will go a long way to making this my default 'go to' API testing tool.