Hey!
I’m currently hitting the limits with Postman’s free tier and need your recommendations for alternatives. My company isn’t planning to upgrade to the paid version, so I’m specifically looking for:
Must-have features:
- Unlimited API requests
- Collection runner or similar batch testing capability
- Data import from spreadsheets for test automation
- The collection runner feature is crucial for my workflow: I heavily rely on being able to import Excel data to generate and map multiple API calls without manual setup.
Has anyone switched from Postman to something else that offers these capabilities? What’s your experience been like?
Thanks in advance for any suggestions! 🙏
Apidog is the best in terms of UI. I use it regularly and love it.
It’s branded as Bruno the dog, because the dog is the enemy of the postman.
Ha ha!
Wow… I feel dumb. I’ve used Bruno for over a year now and never noticed.
I am disappointed about their recent switch to a subscription model though. They quietly removed the single-time purchase “Golden Edition” and introduced multiple subscriptions. Not a good start, let’s see if the enshittification continues like with all API testing tools.
That’s hilarious. I remember Bruno being sold as the better tool because it had no subscription, and they switched to being evil in less than a year.
I wonder why is this kind of product so liable to enshittification. It’s just a simple Electron GUI to edit and submit requests to a REST API. Much more complex software has worked fine for years as FOSS.
Same - As an Insomnia refugee, I thought “Oh no, not this again” and felt foolish for evangelising it.
wait, really?? bruno is chill and i bought the lifetime. it really was billed as an alternative to that model
I thought we didn’t talk about Bruno.
Yes, Bruno is great! The only downside is that everytime I start it, I have that damn Disney song stuck in my head 😆
Curl. Everything you described is not hard to do via scripts. I use it every day for all of my API testing needs. You’re also not limited to the features Postman provides.
This is like telling someone who needs a new table saw that they can use a handsaw.
Like sure it works great, but it’s going to be a long process getting things done compared to something like postman.
If a person needs to process an entire kitchen worth of lumber, then yes, tablesaw. If, however, a person needs to build one simple box and also learn how the wood fits together and practice their skills, then handsaw.
It does not take long to use curl, not sure what you’re talking about. There’s not particularly special about what Postman does.
deleted by creator
Like what?
I make backends, very complex, yet curl does it all, headers, files, any data, whatever.
Need to test an API? Swagger will help everyone.
You need reproducible tests? Write feature tests.
Need to do many requests to achieve a business goal? Put it into a script. Shell is sufficient for basic needs, use anything that can be interpreted for anything more complex. Though at that point you should have an app to handle distributed states, which is never a fun time.
deleted by creator
You want to tell me that Postman/whatever is a replacement for feature tests or Swagger?
Oh hell naw
xh
is a nice modern alternative.What’s not modern about curl?
It’s almost 30 years old. Not to knock cURL, it’s a staple for sure.
HTTPie and
xh
claim to have a more intuitive UX. If the functionality is comparable, I choose tools written in memory-safe languages by default.If being over 30 is “not modern”, OK, sure, but that’s a bit subjective.
The fuctionality is hardly comparable, cURL supports many protocols. As for memory safety it’s trendy and modern but it hardly makes sense to rewrite such a project in a memory-safe language. It’s been tried though (for some components) and the project lead’s open to that.
https://daniel.haxx.se/docs/curl-vs-httpie.html
Httpie and xh only have a small subset of curl’s functionality, and IMO the claims of more intuitive UX is dubious at best. More magical and limiting is what I would say. Httpie in particular is slow as hell, too.
Daniel has a more thorough comparison of features across different alternatives here: https://curl.se/docs/comparison-table.html
How would you test a GraphQL API with curl?
EDIT: Nevermind I just looked it up and I’ll just stick with postman for now.
The same way you test any other API. Not really different. I tend to keep my request bodies in separate files organized in folders to keep things tidy.
If you use VSCode, Rest client is so much better than Postman. Requests are simple text files that area easy to edit, version and share with others
Also my go-to, I prefer everything in version control instead of someone else’s cloud.
IIRC, Pycharm can also inject the same .rest files.
Wow… it’s pretty awesome! Thanks.
I use this as well. In fact, I have an instance of VSCode running only for access to the extension library - I do most of my editing in Android Studio, but manage Git interactions and things like Rest Client in VSCode.
android studio is built on intellij, and as a result can do the exact same things intellij does, which includes the .http files (which I think are the same as .rest files). So you can get the exact same features in android studio as you do in vscode. I think.
I’ve been working on my own version of Rest API test client, it relies on self executing TOML files, that can be save into a git repository, it currently has unlimited API requests, will be under a 0BSD license.
It currently does not do batch script or data import from spreadsheet or csv, but I can work that feature in, that should be easy to do in Python.
It currently supports arguments and pipelining http responses into a http request. I suppose I could use the pipelining system to do the data import!
It relies on adapters, those will take care of authentication like oAuth and provide the header to merge into the request.
It will be broken down into edition to keep it easy to maintain, current working on JSON edition, but will do XML edition sometime in the future. I really want to stay close to the Unix philosophy!
I did it out of frustration of Postman and other Electron based counterparts. But also I’m doing it because it fun 😁
All I want is to make API requests with whatever headers but no fucking Electron so the app loads before the heat death of the universe… Please, please
curl?
I’m genuinely wondering, if this is a situation where the open-source community just uses curl and that’s why there’s only corporate gunk for those who want more features. For example, curl obviously won’t support Excel import, but folks in the open-source community are also very unlikely to want that…
You can easily write a script to make curl requests from a CSV.
I’m genuinely wondering, if this is a situation where the open-source community just uses curl and that’s why there’s only corporate gunk for those who want more features.
Yeah. Pretty much. As one of the folks who could code a new solution in
go
in a weekend, I have not - becausecurl
plus some trivial one-liners in Bash, Python or PowerShell is already a 90% solution to what I need.Depending on exactly what you mean by importing from excel, there are libraries for Perl/Python/your scripting language of choice that will simplify that so it becomes a matter of a fairly small amount of code to build a test harness that does exactly what you want.
Well, OP mentioned an Excel import, so I’m not 100% sure what that means either. 🙃
But yeah, that’s part of why I’m wondering. I hardly know anything about Postman, so I’m probably underestimating how complex this would be, but it still feels like at least the core feature-set could easily be covered by an open-source tool, if anyone in the open-source community had that itch to scratch.
Maybe it’s also just solving a problem that only companies have? The webpage mentions some things about centrally managing API definitions. Do not ask me why the API definitions are not in a repo. But I guess, if you join a company that works like that, you’re not going lean up against that…
It’s been a while but insomnia used to be my go to
It got enshittified. I went to use it one day and it wouldn’t work without creating an account.
Aw man that really sucks. I moved to it back in the day after Postman got enshittified. The cycle continues I suppose
Ah shit. Time to make something from scratch then.
Check out Insomnium
I use insomnia but many of the updates to it disrupt my workflow. I should probably find something else.
I use an organized git repo full of curl shell scripts 🤷
I can use insomnium for almost everything, but it’s not as complete as postman. randomly I’ll run into some problem that makes me go back.
for instance, there’s no way to just enter binary data on a readable format to send over websocket. with postman there’s an obvious dropdown to send hex encoded data as a binary message.
https://httpie.io/ check this one, they have both command line and also desktop application, but not sure if it covers all your requirements.
Have you tried Hoppscotch yet?
This is my official recommendation. It aims to be a drop-in replacement of Postman. They don’t have pre/post-execution scripts at the collection level (only at the request level) and there are a few other features missing but they are making pretty good progress.
I say official because I was on my company’s committee to switch to a new API tool. Though I personally felt that we should have just paid for Postman. But our business risk team didn’t like the terms that Postman had.
Yeah we moved from Postman to Hoppscotch and I think it’s pretty decent.
Hopscotch is the one I’ve been recommending, but it has a “use us before we also enshitify” vibe, so I’m going to check out Insomnium, the open fork of Insomnia.
Every app in this space tends to get enshittified, so I just use shell scripts to do API calls nowadays. I used Insomnia and Postman in the past.
I’m a fan of HTTPie
I like super simple things that I can use from a single window of my editor or IDE. Most frequently I use vscodium, I use this https://marketplace.visualstudio.com/items?itemName=unjinjang.rest-api-client
Thunder client for VS Code.