I created Postwoman π½ - An online, open source API request builder
Liyas Thomas
Updated on
γ»3 min read
Postwoman π½ - API request builder
Feel free to contribute on GitHub π
In case you missed! Story this far: I joined Zartek, which is a start-up based in Kochi, Kerala where I work as a full-stack developer.
Story behind Postwoman: The very first task I was assigned is an API integration of an old project. That's when I came across Postman API testing. Postman has separate builds targeted to each operating systems made with Electron. I use a low-end PC and can't possibly afford to run another Electron app. From that moment onwards, I wanted to make an API testing platform which is:
- Open Sourced π
- Runs online
- Have multi-platform support
- Have multi-device support
- Accessible from anywhere
That's how Postwoman was born (this is not at all an alternative to Postman - yet, it does the job very beautifully and minimally. It needs more features and love which I hope we all can give by contributions on GitHub).
When I did a background check on API request builders, Postman offered various Plans & Pricing, there were lot of other API request builders based on CURL etc. But none of them seems simple, minimal and efficient.
That's why I created my own API request builder with pure JavaScript (Later I used Vue.js and apparently migrated to Nuxt.js) + HTML + CSS π
Did I mention this service is all free of charge and 100% open source? Yes, It's free and always will be.
The Postwoman API request builder helps you create your requests faster, saving you precious time on your development.
Features π₯
- Send requests to verify your API is ready for launch
- GET, HEAD, POST, PUT, DELETE, OPTIONS, PATCH (more coming soon)
- Authentication support
- Parameters support
- Request body support
- View Response
- Progressive Web App support
- UPDATE: Added History support
- UPDATE: Migrated to Vue Nuxt
- UPDATE: Added web socket support
- UPDATE: Added raw input field for PUT and POST methods
- UPDATE: Added response status color
- UPDATE: Added theme customization with settings storage
- UPDATE: Added option to copy response to clipboard
- UPDATE: Added option to view/copy HTML preview of responses
- (more coming soon)
Features planned for near future for which I need your help:
- Autocomplete
- ~Code highlight in response body~ UPDATE: Added code highlight on response body
- More methods
- ~History~ UPDATE: Added History support
- HTTP support (currently I don't have money to buy a domain so I hosted on GitHub Pages which is served only on HTTPS - this makes impossible to make non-HTTPS requests from HTTPS hosting πΏ)
π Bonus: Postwoman is in dark mode π
Demo π
Feel free to contribute on GitHub π
liyasthomas
/
postwoman
π½ API request builder - Helps you create your requests faster, saving you precious time on your development https://postwoman.io
When I wrote this, only God and I understood what I was doing. Now, only God knows
Postwoman.io
API request builder - Helps you create your requests faster, saving you precious time on your development - Subscribe for updates
Built with β€οΈ by
liyasthomas and
contributors
Start here: Story behind Postwoman
Donate here: PayPal, Open Collective, Patreon
Features β¨
- Faster, lighter, cleaner, minimal & responsive
Methods:
-
GET- Retrieve information about the REST API resource -
HEAD- Asks for a response identical to that of a GET request, but without the response body. -
POST- Create a REST API resource -
PUT- Update a REST API resource -
DELETE- Delete a REST APIβ¦
If you want a heads up on my next projects, or just want to chat about the web, make sure to follow me @liyasthomas π. If any of my projects helped you please consider making a small donation on PayPal to help me pay my server bills and rent. Alternatively you can Buy Me a Coffee.
UPDATE: Thanks for all of your support and love. My fellow kind hearted dev friends registered and hosted Postwoman directly from GitHub pages to these domain:
- postwoman.io





385
47


Trending on
Javascript Framework Comparison: Vue, React and Angular
Completed Hacktoberfest 2019 πβ¨π¦
The definitive guide to the JavaScript generators
How to useEffect vs componentDid/Will-unmount
Working with environments in Postman
Lesson 1: Welcome to the wonderful world of coding!
Domain-Driven Design Use Case: Improving A Life Insurance Selling Platform
12 Angular 6 Libraries You Should Use
Did you know Postman has raised 58 million in venture funding? That shocked me when I found out. I always assumed it was more indy.
Perhaps this project is something you could turn into a business?
Anyway, I just sent you a Paypal donation. Keep up the great work!
Really? Someone should show these VCs
curlorwgetorab- it'll blow their minds...First things first: A huge thanks for dev.to You guys are the best π
A huge thanks for the donation. This means so much to me. You'll shine β¨
I took your advice to my heart, will work on it.
My DMs are open and I'm happy to provide more help along the way.
Love the name!
Why should boys have all the fun! π
Never thought of gender when I said postman. Also didn't know postman could only be used by males. (sarcasm aside) I think a unique name would make the service stand out more instead of making a statement.
I don't want to gender-ify this service. I believe a name doesn't have that much influence on determining its scope or sucess. If you would like to suggest an alternative name, go on. I'm all hears.
I would be mildly annoyed if someone complain about postMAN, is the same with postWOMAN so keep the name, keep the good work; and if someone complains, who cares, in the web always someone is offended by something. After years in classrooms with almost 1% females still makes me happy to be able to talk nerdy and to a girl at the same time. (without sighs and eye rolls that is)
This is gold β¨
Let's not make it into a gender thing ... The only reason I would probably have gone with a different name is to avoid potential legal issues. It's directly derived from the same name as the product you took the original idea from. They might not be happy as commercial product with - I say in their eyes - a clone with a similar name trying to take away their business... That Alone is way more risky than the potential gender discussion the name might be calling for
That will be a more serious issue than I thought. Help me, I want help: I don't want to intrigue into anything from Postman, let them do their work and let the open source world make Postwoman better
I look forward to lawyers trying to claim copyright over making an HTTP request in the browser...
Rename to Postie? Or even Getperson... π
Let's see what future brings
I love the name Postwoman, it's awesome and really caught my attention.
That's exactly what I had in mind. Let it help you on your development period.
Me as an occasional user it's guaranteed i'll remember Postwoman. I don't like Postman because is using the gpu of my mac. But i'm wondering what are the limits, i know Postman is not web based because of some limitations.
Same here brother!
I think the names are not antagonist each other, and as I understood wasn't a "political statement" I believe was more a "cachi" name, at the end, I think in the real word postman and now postwoman will complement each other in the dev world, as should be with everything
I love positive people like you.
But you've just did...
Entire companies have been born for sole purpose of inventing product branding, which includes creating an appealing name.
For many people "postwoman" is just a swing in likes of "take that, MEN" which i find, how millenials are caling it, problematic.
P.s. I believe "man" in "postman" stands for "person", not as "male"
Thanks for sharing your thoughts on this.
This is pretty cool. I like the name a lot. I'm going to be diving more into the source code, and hopefully, I'll find some time to contribute.
Also, do you only intend to keep this super minimal or looking to add some few "minimal" bells and whistles in the future?
I'm always open to suggestions. Everyone's opinion counts. Feel free to contribute and share your thoughts on improving Postwoman.
You only changed half the name. What about the first part? We don't only use it for POST. We also use it for GET and PUT (and more). Getwoman sounds too out of place. So I would suggest Putwoman. That gets you out of trouble with the the Postman people.
Renaming the platform is currently scheduled for future. After stable release. Anyway suggestions are welcomed.
i sure will, maybe you should submit this app to Product hunt to get more eyes on it.
Actually, I made a post on Product Hunt. Share some love π₯β¨
Lol I did too. Should I take mine down?
I hope you gave proper credit for me, and didn't changed any contents.
I love this! Here's a quick thought, I didn't research this but what are implications of having server side to proxy a http request? Like a free tier on zeit.co where a requests can be handled by a lambda function and results are sent back to the client side. Full disclaimer, I googled once and got this idea so it's not something I'm proud of.
Umm yeah, a proxy system is something this site might need at some point. As the client side CORS policies kinda break the app (just try sending a request to google.com).
There is an active discussion going on here.
I am really loving contributing to this project.
Will surely consider your advice. Stay tuned for future updates π±βπ»
While I applaud the effort, this can't be more than just a toy until it drops browser sandbox like Postman or Insomnia did. You can't deal with CORS, browser hides cookies from you, applies HSTS and other cross-origin restrictions. Good luck!
Thanks for your concern, consider making a contribution or suggestions to make Postwoman better β€οΈ
So build a client that doesn't rely on Electron.
That's was my primary aim, but as you've noticed project Postwoman had gained momentum in GitHub and we rewrote a-z into Vue Nuxt which made it faster, lighter and efficient than any other projects in its category.
Oru kind supporters brought domains postwoman.net and postwoman.io which are currently serving GitHub pages directly and will be published to the world for free on Postwoman v1.0 stable release. We need support from guys like you for the next big thing to happen. Postwoman will be a fully transparent open source project, free of cost for all.
I get the name but be the bigger person, this should be post person π
In comparison to postman, I think the idea is to be the smaller one π
No clue if that was intentional, but it definitely works lol
Minimalism and keeping things simple has been one of my prior concern.
That should be the SOAP version, why should rest APIs get all the love
SOAP == π€’
ππ
I confess I have not really looked into SOAP at all... I must stink.
Postman and Postwoman after living in for quite a while, had a big fight, and returned to their parent's house. Thus, the Boomerang was created. chrome.google.com/.../eipdnjedkpcn......
This is awesome. Lately I went searching for a Postman alternative and didn't found anything, this was exactly what I was looking for:
Congratulations on this project, it's very helpful! +10 for the name :D
Glad you liked it. Share it with your friends, star the project on GitHub thats how we spread love.
I was about to share it on my university open source group fanpage, I already starred it :D
That's great news! I'm a π¦ happie unicorn!
Cool stuff! For me personally, I find the history gets a bit in the way at the moment.
A history tab, or even just placing it below the current request/response I think would help. Tabs to sort it by request type and sorting options could be cool, too.
I would be happy to contribute some dev work if I can help! :)
Love your suggestions. Contribute to make it better.
Fixed History section interfering ease of use. Moved history section below response section.
Because Postman runs slowly on my laptop so I decided to test your Postwoman, and it's so light and cool.
Thank you. I hope it becomes better.
I'd like to contribute it, but I didn't contribute yet on any open source projects.
Everybody was once a beginner.
Fork it, make your contributions/fix current issues, make a pull request. Thats it.
There's always a first β¨
Thanks.
Have you seen insomnia.rest?
Yes. I did a background check on prevailing such implementations. Insomnia is packed with similar features of Postman, but I want Postwoman to be minimal and beautiful.
Star and contribute to the project on GitHub π
UPDATE: Added History support with session storage π
UPDATE: Added URL validation π
Huge thanks to all the contributors π€
i will be glad to help in any way possible
@liyasthomas I know I'm getting to this a bit late but I have to commend you, this is awesome work and I love the name. I'm not a lawyer but I don't think you need to be too worried about any potential legal issues if this is a FOSS project and the name falls under "satire" :D
Anyway, I love that you're using Nuxt.js...curious whether you have a back-end at all, and whether I can DM you? You of all people seem to know how to implement the Authorization grant token (oauth flow using Nuxt for social login) and I'd love to pick your brain on this.
I would love have a conversation with you. You can DM me here or I'm available on Twitter @liyasthomas.
Glad you liked the project. Thanks for your suggestions on legal issues. Later, I came to know that there are thousands of projects which even sounds similar and does pretty much the same thing.
Currently, we don't have a backend at all. I made it fully transparent, we don't even do analytics, logging or accept any user/client informations. I believe in "free for all" philosophy. Currently we're focusing on its growth. Adding essential features such as workspace sharing, auth, collections etc and encouraging people to use it. Making it popular or should I say, letting people know that there exists a service that has everything for API testing and its free and open source.
I believe your contributions to the project on GitHub will be an asset for us. Please consider contributing and share the love with a text, tweet or talk. Looking forward for your response.
Thanks @liyasthomas . I just starred the project on Github...amazing that you're focused on it's growth above all else. I will definitely be using postwoman and report any issues / improvements I find.
Right now I'm focused on a problem dealing with Auth in Nuxt (Social oAuth using the Authorization Grant token, to be specific). Is this something you would know about and can help point me in the right direction on? My DMs on DEV are also open if that's easier...do you want to follow me back / send a message so we can connect and talk further?
Hi, looks like a neat project! Nice job so far :)
Could you please help me understand how this is different from Postman? It appears to be functionally the same, with future features that will make it even more like Postman. My intention is not to be critical, I am just leery of investing (whether it be time or money) into something for which there already exists a viable product. That said, Facebook was not shy of MySpace! Curious to hear your thoughts/vision.
Postman, insomnia etc stand solid in API testing market. Let them be. But the very idea behind Postwoman was to have an alternative open source platform where developers like me could share thoughts on improving the platform as well as collaborate with people with same interest. I believe every technology should be available for free of use whether its for a single dev or for an enterprise level team. Postwoman will be free and always transparent.
Open source is definitely a good thing! ππ» There are so many FOSS tools out there that we take for granted.
I am cautious about the name though. Gender equality is more important than ever in tech, and change is finally starting to happen. As others have mentioned on this thread, though, this seems more like a terse gender equality statement than an open source alternative. Perhaps the name will help it spread, but it also may get you into legal troubles, so I would encourage you to look into that (especially if this takes off).
Anyway, great stuff, nice to see an alternative option out there.
Glad you liked it. I need support from all to help me build a better, open, and transparent platform.
How about adding an import feature for existing requests on other clients? So that i can save my time from typing - a fellow kerala dev.
I'm a native Keralite. Thanks for your suggestion. Will look into it π
Ya . Nammal malayalikalitha sthalindo?
Pinalaa..!
Awesome stuff! Love it.
One tiny nit pick (of course).. the teeny tiny little arrows for the Parameters and Authentication headers box are so small that I didn't see them and thought the feature was disabled or a work in progress.
Otherwise, many claps πππ
Will surely update the UI to fix your issue. Follow the project and share you most valuable suggestions n GitHub.
I don't the name is an issue and it would be silly if postman sued over it. This term is an actual term used to refer to someone delivering the post.
web.archive.org/web/20111219060424...
Lol π€£
Thanks for the quick look up π
I can register a domain and donate that. I use a lot of VMs for development, so I don't like to use Electron apps too much. Haven't used it yet, but I do have hosting I don't really use for anything.
I would love to consider this offer πππ
Anyway, I love GitHub and believe a good open source project doesn't require a domain. People will love the service just the way it is. Right now, I'm really curious about Postwoman because of your support and love. Currently I need some time to figure out how much Postwoman can help my fellow devs. I would love to have a talk with you. I'm available on Twitter @liyasthomas.
I love open source. For more than 4 years I've been working on open source, while living off savings. I'm on PayPal now as my savings are slowly running out & I need your help to continue my efforts π
I don't have Twitter anymore, but I went ahead and sent something via PayPal. My DMs here should be open, though.
Making a donation means a lot to me. Its because of guys like you, the world gets more smiles β¨π
For occasional use, a small chrome extension" Tabbed Postman - REST Client" works too:
chrome.google.com/webstore/detail/...
If you like to use the command line for quick testing, take a look of httpie.org
you should have called it Getwoman :D
Wow!! I never knew I needed this! I'll surely contribute to make this more awesome!
Let the earth have more people like you π
@Liyas your comments made me picture you as Lina Ginetti from Brooklyn 99 :)
I don't know who that is. And I never watched that show. Anyway I'll take it as a compliment.
I can help test this new tool. The name intrigued me. I use Postman all the time but there are a few things which I do not like about it and they can become features for postwoman.
Glad you liked it π. Suggest you opinions and contribute on GitHub to make it better.
Hey, I'm at work right now so I can't look into this extensively, but would you be open to a desktop app version by using this recent project? I wanted to make an article about this so it could be fun.
blog.atulr.com/nodegui-intro/
I'm not fluent in Vue.js but willing to help and Node.js is probably helpful to the CORS issue. π
That would be awesome. CORS and HTTP request handling are our prime concern. Keep up the good work.
Haven't looked at it yet, but in my experience curl is better than dealing with postman. Frickin snap installs, massive project. GUI is acceptable but not worth the costs. Almost always have some wonky behavior happen and need to revert to using the soap UI project that my teammates setup forever ago.
This project at least sounds lightweight(which API rest calls/builders should be), plus dark theme is always welcomed. Great idea, definitely need to check this out.
Glad you liked it π
Help me make it better by contributing to the project on GitHub
Nice naming. We need balance of this world.
Very nice! Do you deal with CORS, if so how?
There is an issue opened about CORS here...
Feel free to pitch in!!!
CORS is our primary concern right now. Will inform you on any update. Stay tuned. Leave a star on GitHub to share some love π
Sure, will keep an eye. You'll probably need some sort of reverse proxying which is ... fun
Great idea, nicely executed, great name. Thank you for making the open source community that little bit better.
Glad you like it π
Contributions are welcomed in code, feature suggestions, error reports and donations.
Let's together make open source community a little better.
Are only JSON responses displayed? I was testing an API that returns plaintext responses and I can't see the response.
Can you please explain how to reproduce the issue? Or kindly report the issue on GitHub repo
Try using Postwoman to send a request to aadibajpai.pythonanywhere.com at the endpoint /master_unsupported. The response should be a plaintext list of songs but there's no response even though aadibajpai.pythonanywhere.com/mast... gives the response.
Issue has been identified. Will work on it ASAP.
I really like the color scheme :)
Glad you liked it π. Contribute on GitHub to make it better.
Add light theme and <dark-mode-toggle> to switch between them. Based on the prefers-color-scheme feature.
This will only work for browsers that support ES Module imports and custom elements. Otherwise no toggle will display.
There are some areas that could be improved in light mode
I was thinking about adding this feature, but i thought of a more native one without using any custom components. I want it to be supported on evry device, ever browser. Anyway I'll look Into it. Thanks for the contributions. Keep the good work.
What is this sorcery? :) This is pure awesome.
Keep up the good work!
I see my fellow π¦ unicorn devs are happy, which makes me happie.