Software Testing & QA Tools
Insomnia
Insomnia is a desktop application for sending API requests by hand and organizing them into reusable collections, similar in shape to Postman but built around an open-source core (Apache License 2.0) rather than a cloud-first product. Kong, the API gateway company, acquired Insomnia in 2019 and continues to develop it as part of its API platform, alongside a separate command-line tool (inso) for running the same requests and specs in CI. It supports plain REST calls as well as GraphQL, WebSocket, Server-Sent Events, and gRPC in the same client.
Why it matters
- It's a genuinely open-source option in a space Postman largely defines
- The core desktop app is Apache-2.0 licensed and developed on GitHub in the open, which matters to teams that want to audit, self-host, or avoid depending entirely on a vendor's cloud.
- One client covers more than plain REST
- GraphQL, WebSocket, Server-Sent Events, and gRPC are first-class request types in Insomnia, rather than being bolted on around a REST-first design.
- Local-only usage is a real, supported mode, not just an edge case
- Collections can stay entirely on disk without syncing to any account, which matters for teams that don't want request history or environment values leaving a laptop.
- The inso CLI mirrors what the app does, for CI
- The same requests and test suites built in the GUI can be run headlessly from the command line, so a pipeline can fail a build on the same checks a developer ran interactively.
Requests, collections, and environments
Like most GUI API clients, Insomnia organizes requests into collections and lets values such as a base URL or a token live in environment variables rather than being typed into every request. Where it differs from a REST-only tool is that the same collection can hold GraphQL queries, gRPC calls, and WebSocket connections side by side, each with its own request editor suited to that protocol rather than one generic HTTP form stretched to fit.
GET {{ base_url }}/users/{{ user_id }}
Authorization: Bearer {{ auth_token }}Design-first workflows: OpenAPI specs and Documents
Insomnia can start from an OpenAPI (Swagger) specification and generate requests from it, or work the other way and let a spec evolve alongside real requests, through its Documents feature. This matters for teams that treat the OpenAPI spec itself, not the client's saved requests, as the actual source of truth for what an API looks like — Postman supports a similar design-first flow, but Insomnia leans into it more directly as a core workflow.
Testing and the inso CLI
Insomnia supports unit-style test suites written against a request's response, run either inside the app or from the command line via inso, Insomnia's CLI. inso can run both request collections and unit test suites, and it can lint an OpenAPI spec against a set of rules, which makes it the rough equivalent of Newman for teams standardized on Insomnia rather than Postman.
inso lint spec my-openapi-spec.yaml
inso run test my-test-suite-idWhere it differs from Postman in practice
The core experience is similar enough that switching between them is mostly a matter of muscle memory: both organize requests into collections, support environment variables, and can chain requests using values from a previous response. The practical differences are about defaults and ownership — Insomnia's local-only mode is a first-class, unsynced way to work, its client is open source, and it's now maintained by Kong as part of a broader API platform rather than by an independent company the way Postman is.
Mistakes people make here
- Assuming 'open source' means every feature is free and unlimited
- The desktop app's core is open source, but Insomnia also sells paid cloud sync and team collaboration features, similar to Postman — open source covers the client, not necessarily every feature built around it.
- Not distinguishing a Faker template tag from a real, stable test value
- A field templated with a Faker tag generates a new random value on every send, which is useful for varying input data but breaks a test that expects deterministic, repeatable data unless that's actually the intent.
- Building request suites in the GUI and never running them through inso
- The same gap that affects Postman applies here: requests that only ever get run by clicking through the app manually provide no protection in CI unless they're also wired into inso as a pipeline step.
- Treating an OpenAPI spec generated from ad hoc requests as authoritative
- Insomnia can generate requests from a spec or help build one, but if the spec was reverse-engineered from whatever requests happened to be saved, it documents what someone happened to test, not necessarily the API's actual full contract.
Strengths and trade-offs
Where it is strong
- Apache-2.0 licensed core, developed in the open on GitHub, appeals to teams that want to audit or self-host rather than depend on a vendor's cloud by default.
- One client natively handles REST, GraphQL, WebSocket, Server-Sent Events, and gRPC, instead of being REST-first with everything else bolted on.
- Local-only usage is fully supported, not a crippled fallback mode, which matters for teams wary of syncing request data to a third party.
- The inso CLI covers both running tests/collections and linting OpenAPI specs, giving CI access to more than just request execution.
The trade-offs
- Smaller ecosystem and community than Postman's — fewer public collections, integrations, and third-party tutorials to lean on when something's unclear.
- Team collaboration and cloud sync are paid features here too, so 'open source' doesn't mean every workflow a team needs is free.
- Being maintained as part of Kong's broader API platform ties its roadmap to Kong's priorities rather than an independent company solely focused on the API client.
Who needs this
A reasonable default for teams that want an open-source, locally-controllable alternative to Postman, or that are already using Kong's API gateway and want one vendor across design, testing, and management. Teams already standardized on Postman across a large shared workspace have little reason to switch for these properties alone.
Questions about insomnia
- Is Insomnia actually free?
- The desktop app's core is open source (Apache License 2.0) and free to use locally. Cloud sync and team collaboration features, similar to Postman's, are paid — open source covers the client, not every feature built around it.
- Who owns Insomnia now?
- Kong, the API gateway company, acquired Insomnia in October 2019 and continues to develop it, now as part of its broader API platform alongside its gateway products.
- Can Insomnia call GraphQL and gRPC, not just REST?
- Yes — GraphQL, WebSocket, Server-Sent Events, and gRPC are supported as first-class request types in the same client, not limited to plain REST.
- What's the equivalent of Postman's Newman in Insomnia?
- inso, Insomnia's official command-line tool. It can run request collections and unit test suites, and lint OpenAPI specs, so the same checks built in the GUI can run in a CI pipeline.