Blurred CSS syntax colored in primarily blue and purple

Postman API Client Open Source Alternatives

  • Adam Douglas

I’ve been using Postman client for many years and in all honesty without much thought. It was just what was used when I started to use it and was the best option I knew of at that time to test application programming interfaces (APIs). In recent years I’ve begun to notice Postman changing in ways I do not enjoy and if I think about it Postman does not fit my values. It is an application that is not open source but rather proprietary software and platform. I cannot deny that Postman is a good application, but that doesn’t make up for the fact that it is focused on proprietary methods and not open source. So I’ve decided to venture out in look for an alternative application solution which meetings the following list of criteria.

  • Free/Libre open source
  • Runs locally
  • Graphical user interface
  • Doesn’t require the Internet (an account)
  • Supports REST and GraphQL APIs

What is an API Client?

An application that allows a software developer to test, explore and debug application programming interfaces (APIs) using a variety of request methods (e.g. REST, SOAP, GraphQL, etc.) to interact with another software program or service. It simplifies the interaction between another program or service without having to reinvent the wheel every time. In return this can speed up the development process and allow for the developer to focus on their primary goals.

Hoppscotch

This client takes a different approach entirely by being a web based development suite with support for REST, GraphQL and realtime protocols. The open source application can be used for free using Hoppscotch Cloud or self-hosted solution. Features entail API testing, environments, workspaces, interceptor, scripts, collections, authorization, and more. In addition to the web application, Hoppscotch CLI is in development for use in the terminal or continuous integration/continuous delivery (CI/CD) pipelines. Enterprise support is coming with Hoppscotch Enterprise. Overall Hoppscotch is a well-rounded solution for most API needs, and I’m happy to see this one filling the open source void in the market.

Screenshot of the Hoppscotch client showing the results of fetched JSON weather data.

HTTPie

For those that love the terminal HTTPie is for you. However, those not wanting to use the terminal there is now a desktop and web based clients available. HTTPie is a powerful API client with output that has syntax highlighting, with beautified JSON output. On top of all that is has support for forms, file uploads, HTTP/HTTPS with optional authentication, custom headers, persistent sessions, Wget like downloads, plugins and much more. It’s nice to see as well that one can organize work within spaces, collections and tabs. All this can run on Linux, macOS, Windows, and FreeBSD. If that is not enough the application can be installed using a Snap or AppImage. Shockingly this client is quite mature being in development since 2012. The only questionable thing I’ve found is the software license seems to be missing along with source code for the desktop edition of the client. Outside that, this is quite an impressive piece of software.

Screenshot of the HTTPie desktop client showing the results of fetched JSON weather data.

  • Project: GitHub
  • Website: HTTPie
  • License: BSD 3-Clause (CLI) / Unknown (desktop)
  • Tested version: 3.2.1 (CLI) / 2023.2.4 (desktop)

Thunder Client

Thunder Client is an extension for use with VSCodium or Microsoft Visual Studio Code. Supports REST API, collections, environment variables, offline/local storage, testing, query parameters, and HTTP headers with optional authentication. API endpoints can be organized into groups called collections. Though this extension is free, there are pay plans available.

Saying all this though it’s not ideal to me, and it doesn’t seem to be truly available as open source. I suppose if I had to use this it would work for the time being, but I feel I would just sooner use Postman instead even though it doesn’t fit my criteria.

Screenshot of the Thunder Client showing the results of fetched JSON weather data.

Advanced REST Client

Advanced REST Client (ARC) is an Electron based application supporting REST API, header attributes, HTTP authentication, actions and projects. Overall the application just feels very clunky and a limited feature set. It does the job, but doesn’t make the experience enjoyable.

Screenshot of the Advanced REST Client showing the results of fetched JSON weather data.

Insomnia

I was suggested to check out another API client called Insomnia by @ellotheth. The Insomnia API client is Electron based and indeed open source with support of using REST, SOAP, GraphQL and GRPC requests. As well the interface appears to encourage design using OpenAPI which seems like a good thing to me, but this is not required. Work is organized by project and collections (groups). There is also the option if one chooses to do so, using Insomnia’s platform. I’m quite impressed. This fits all the criteria I was looking for and more.

Screenshot of the Insomnia showing the results of fetched JSON weather data.

This is post 11 of 100, and is round 2 of the 100 Days To Offload challenge.

References
Changelog
    • Add Advanced REST Client GitHub link
    • Add Insomnia API client
    • Correct grammar for clarity
    • Add parentheses around GitHub links
    • add tag development
    • remove tags developer, web
    • change topic
    • Change 100DaysToOffload message
    • Update article