Insomnia REST client alternatives

Recently Insomnia went from supporting storing data locally and using the application without an account into a cloud only1, requiring an account, migrating user’s local collections to cloud. If the user didn’t agree to syncing their collections to Kong’s cloud, their data would be inaccessible2.

1: Local scratch pad is supported, but with limited features, such as only one collection.
2: Requests were not deleted, but inaccessible to the user unless the downgraded to 2023.5.8, exported their collection, updating to v8 and importing


After this change, users were not understandably happy, but who is when you remove and limit the feature set with new requirements, disrupt their ability to work and possibly completely make the app unusable for some organisations due to cloud syncing requirements. Kong says that the data is end-to-end encrypted, but if your workplace hasn’t explicitly allowed the use of specific cloud services and has mandated local-only storing of data such as API keys, the app cannot be used.


Messages by Marco Palladino (@subnetmarco), the CTO of Kong, from the “enshittification / needing an account #6577” -discussion and elsewhere seem to indicate that Kong is heading the way Postman went, which is sad because the cloud-only stunt of Postman was one of the main reasons driving people from Postman towards Insomnia.

With Insomnia 8.0 we are doing two new things:

  1. After downloading the new binary (either manually or via the auto-update) we show an onboarding wizard that communicates that your data (collections, tests, etc) will be synchronized to the cloud after the user creates an account or signs in. There is an option to export the data, and the data is not actually synchronized until either an account is being created, or a login is being performed.
  2. We are also introducing a new Scratch Pad mode that is always local and never synchronized to the cloud, and doesn’t require an account with Insomnia.

The data can be optionally exported before continuing with the cloud synchronization. The data can also be exported after logging in. The data is fully end-to-end encrypted (E2EE) in the cloud for all users, nobody but you can access it, which is why we request a passphrase and why losing the passphrase will cause the data to be lost.
With Git sync the data never goes to the cloud but stays in the Git repository.
The challenge is that we cannot continue to offer a great product with all these capabilities while working on an abstraction layer that supports two different storage backends for all data in Insomnia, adds too much complexity to the whole product. Unlike Postman, the data is end to end encrypted, so there is data sharing concern with Insomnia.

For anybody where this is a problem: you can download an old version of Insomnia and also export the data from there. The data is not lost. (source)

"Innovating, looks like this" - Marco Palladino




Alternatives

Since the GQL introspection support in Insomnia is quite nice and I didn’t yet find another client with same feature and my work stuff is already in Insomnia, I made a fork of it before v8 release, updated Electron version to patch libwebp vulnerability and removed Sentry analytics tracking. For anything non-GraphQL I use vscode-restclient plugin. Bruno looks promising due to it’s developer experience first implementation (ie. saving everything to files to be Git friendly), but is still in the early stages of development.

Alternative applications:


vscode-restclient
Stores all the data in a plain text format, which is easy to edit, store & collaborate on. Multiple requests can be separated with ### and saved to the same file, global and file specific variables are supported etc.

Example of the HTTP request with restclient:

POST https://example.com/comments HTTP/1.1
content-type: application/json

{
    "name": "sample",
    "time": "Wed, 21 Oct 2015 18:27:50 GMT"
}

If you need a basic REST client that’ll do the sending requests part well without getting on the way and allows easy sharing via files stored in Git, give it a go.