As Postman recently passed 17 million developers on the Postman API Platform and 50 million active Postman Collections—two milestones I would never have dreamed possible even a few years ago—I’m often asked how we got here. To answer that question, here’s the official (brief) history of Postman.
First there was a problem, and then there was an idea
In 2009, I was a coding intern at Yahoo Bangalore along with Postman future co-founder Ankit Sobti. Our job was to take APIs and convert them into a shareable format that developers could use in their projects. Along the way, we kept running into the same problems over and over. It was excessively challenging for us to learn how the APIs worked (i.e., to make a simple API call and verify the response). It was also painful for the development team to test and debug APIs. Whenever an API was updated, we’d have to start all over again. To make matters worse, our tooling at the time was difficult to work with and not optimized for our team’s workflow.
Later, I encountered the problem again at my first startup, TeliportMe, where I met Postman’s other future co-founder, Abhijit Kane. We were a small team building a complex API and needed to share information throughout the development cycle. The tooling for API management was still rudimentary, and in my mind, I could see what the solution to these challenges might look like, but I couldn’t find any solution like that anywhere.
Launching Postman v1 on Chrome
That’s when I had an idea to write an early version of Postman as a basic HTTP client for Chrome. It solved my own problem, and then some of my co-workers wanted to use it too. After some iterating, I put it up on the Chrome Web Store where it really started to take off. Google reached out to tell us how much they liked the Postman tool, and at one point soon thereafter, they even featured us on the home page of the Chrome store, which gave us fantastic visibility.
This 2012 reply into a Stack Overflow thread was basically the first public announcement of Postman
As a result, the feedback poured in from developers every week, including some high-profile evangelists (a few of our earliest supporters have since become engineers at Postman). We also started getting serious inquiries from investors. The rapid adoption of our new tool got me thinking about the size of this problem—everyone from small startups to big companies must certainly be facing these same challenges with their APIs. This, I figured, was basically a worldwide problem, not just limited to the Indian development community.
Soon, Postman had nearly half a million users—which seemed absolutely incredible at the time—and we had reached an inflection point. Clearly we had more than just a fun side project; this was a real business opportunity. Ankit, Abhijit, and I had kicked around the idea of starting a company, but all the snowballing interest in our Chrome app really accelerated things. In 2014, we quickly moved from an early stage to a Series A funded startup. Lots of technology products start in Silicon Valley, but Postman started in India, and it was particularly exciting for us to get global support right in the beginning.
Collaborating with our early customers
As the three of us got underway with taking this tool to the next level, we agreed on a central principle. Above all else, we would fully listen to our users and focus on gathering feedback. After all, we felt that we had some good ideas, but we recognized that we didn’t know everything. Our users could help us shape the product that they needed, and it was important that we bring openness and empathy to their unique problems and use cases.
We began tracking every piece of feedback from users all over the world. We were obsessive about product reviews and user requests, and we were having in-depth conversations with developers as often as possible. Some feedback was immensely useful to us, and other feedback was not useful at all; however, we carefully considered everything that came our way. As we continued to evolve the product, we fine-tuned our road map to make sure we were adding real value to developers’ day-to-day lives. We weren’t too concerned in the early days about things like business model and pricing; we wanted to be (and still are) very much a product-led company.
Loads of feedback is great, but we had to be smart about acting on it. Many startups encounter problems when they try to take on too much at once, focusing on the big picture rather than the next feature needed. We decided early on that we would tackle only one or two problems at a time, get as much input as possible, and really get the solution right before moving on to the next problem. After all, there were only three of us doing all the coding, so efficiency and focus were critical.
Making data-driven decisions every step of the way
At this point, we had a good product, and we had enthusiastic users. But we knew that these alone would not necessarily lead to success. Data was the critical, unblinking eye that could reveal how people were using Postman. What was working, and what wasn’t? What were the patterns that could show us where we needed to focus our attention?
We wanted to avoid the pitfall of many startups who ignore data until late in the game when it’s hard—expensive, time-consuming, and discouraging—to change the course of the product and business. Therefore, we made sure to invest in our own infrastructure early to help us leverage data in all our decisions. This included not only decisions during product development, but also decisions related to hiring, fundraising, and other areas.
Keeping it simple as we grew
When I was building Postman v1, I chose not to use fancy frameworks or a complex architecture. I wanted to use the bare minimum technology that I could completely understand and know that it would work before adding anything further. We continue to follow that same rule today and encourage our teams to only implement things in which they have full confidence. This measured approach helps us ship production-ready product releases quickly and continuously, rather than spending time on prototypes. We also avoid future problems and maximize our technology investments.
As our business grew, we moved away from Chrome and built a full-featured platform in PHP running on Linode servers. (Interestingly enough, one of the things that pushed us to move away from the web to an app at this time were the challenges of using cross-origin resource sharing [CORS]. In the early days of Postman, these challenges with CORS while working with APIs in the browser quickly pushed Postman from the web to the desktop, resulting in the Windows and Mac versions of the Postman app that many developers depend on today. But in 2020, we came full circle back to the web, and I’ll discuss that more below.)
Anyway, once the business started to scale even further, we took the next step and moved to AWS and hired a dedicated team to manage our infrastructure. We did this at a time when we knew we were ready to invest in a more powerful tech stack and take advantage of the robust capabilities of AWS.
Expanding our understanding of product-market fit
As part of our user-centric efforts, we were also looking for larger trends in our data to see what the true market fit and opportunities were for Postman. One thing we noticed was that a lot of non-developers were using our platform. That didn’t fit our original hypothesis at all, and we started looking more closely at other types of users. Although Postman is a developer-first product, it was useful to a much wider range of use cases, such as for sales, customer support, training, and other non-technical roles.
These insights have deepened our understanding of the potential for Postman to solve even more problems than we originally imagined and gives us a new lens to work with as we look toward the future. Although we’d started as a product exclusively for developers, we were now moving into more of a true business-to-business offering where we were solving organization-wide problems that also impact managers, senior leaders, and cross-functional teams. That’s when you know you have true product-market fit—when the market is pulling you in a particular direction. It has been so satisfying to see the product grow organically like that.
Growing the Postman community
I’ve always believed that communities don’t form around products, they form around unifying ideas, and the product should reflect those ideas. Over the past eight years, APIs have become essential to modern software development, and engineers are looking for tools like Postman that make it easier to work with APIs. Our community has grown organically for that reason, primarily on GitHub, StackOverflow, Twitter, and Reddit, and some of our biggest champions frequently share how Postman has transformed their API workflows. Ankit, Abhijit, and I have always been deeply involved with nurturing our community, not only answering questions and gathering feedback, but building long-term relationships with our users.
In fact, some of Postman’s most popular customer-focused activities began as offshoots of our community engagement. For the first couple of years, the three of us were handling product support ourselves. Later, we hired a dedicated support team that managed support through community channels. Postman’s first marketing team started by extending and scaling our community efforts, bringing the users together through meetups and events.
The most recent and powerful expression of this community focus came into general availability earlier this year: Postman public workspaces are the first massively multiplayer API experience, providing a shared global place for human knowledge about APIs that will ultimately help everyone in the community and beyond be more successful with APIs. Going forward, we will continue to look to our community as both a touchstone and north star that will guide Postman’s future.
It’s now 2021—nothing has changed, and everything has changed
The approaches and principles laid out above are not only how Postman was born. It’s how Postman has lived every day since the idea began. The product came into existence to solve a problem, and all we’ve done since that first day is find out from our users what other problems they need solved, and work hard to help solve them.
Here’s one example of this work: remember when I mentioned the CORS challenge above that made it impossible for us to deliver a full Postman experience on the web? Our engineering team worked on this challenge for several years and eventually created a breakthrough: the Postman agent. (You can read the full story of the Postman agent here.) Once we had cracked that problem, we were able to launch a brand-new web version of Postman into general availability in September 2020. This version of Postman gives our community improved performance and simplicity, and also makes it easier to onboard new users. We’re really proud of this achievement that perfectly illuminates the overall approach we’ve always taken to solving problems.
And the response from the global community of users, investors, and our fantastic and ever-growing family of employees (we call ourselves “Postmanauts”) to this approach has been astounding and humbling. In addition to the recent milestones noted above, in June 2020, Postman closed a round of Series C funding of $150 million.
This investment marked an important moment, and the gravity of it is not lost on us. We believe this latest round of funding is a validation of everything we’ve tried to do since day one. We see venture capital as an accelerator; it will allow us to do exactly what we were doing, but do it much faster.
Thinking back to the early days, Ankit, Abhijit, and I were ready to bootstrap the company ourselves, with a goal of simply being “ramen profitable.” And we were fine with that. We believed in the mission we had set forth, and we only wanted to work with partners who believed in the long-term vision of the company. Today we have found those partners in the teams who led our Series C round at Insight Partners, CRV, and Nexus Venture Partners. Working with them, along with our inspirational user community, and our magical team of Postmanauts, there are no limits.
The Postman logo today
These days, I often think of the flying space hero that we adopted as the Postman logo back in 2015, and how that character is more relevant now than ever. Onward, and upward, friends. There’s so much more to come.
Postman provides a wide range of functions and features to assist with API development, testing, and collaboration. Here are some commonly used functions in Postman:
Creating and Managing Requests: Postman allows you to create API requests by specifying the request method, URL, headers, parameters, and body. You can manage and organize requests within collections, including creating folders, adding descriptions, and reordering requests.
Request and Response Visualization: Postman provides a user-friendly interface to view and analyze request and response data. It supports syntax highlighting for various data formats such as JSON, XML, and HTML, making it easier to understand and validate the data.
Environment and Variables: Postman allows you to define variables and environments. Variables enable you to store and reuse dynamic values across requests, making them flexible and easy to maintain. Environments provide sets of variables specific to different environments (e.g., development, staging, production).
Pre-request Scripts: Postman enables you to execute scripts before sending API requests using pre-request scripts. These scripts can be used to dynamically generate values, manipulate data, or set variables based on specific conditions.
Collection Runner: The Collection Runner allows you to execute a series of requests in a collection. It enables you to perform data-driven testing by iterating over multiple sets of data or environments. You can configure iterations, delays, and data sources for more comprehensive testing.
Mock Servers: Postman allows you to create mock servers for simulating API responses without a live backend. Mock servers are useful during development, allowing frontend developers to work independently by providing simulated API responses.
Documentation Generation: Postman can automatically generate documentation for your APIs based on your requests and collections. It provides a simple way to share API specifications and details with stakeholders.
Collaboration and Teamwork: Postman offers collaboration features such as sharing collections, collaborating on requests, and commenting on specific requests or collections. It also supports version control integration to manage changes and updates effectively.
Integration and Automation: Postman integrates with various tools and services, including version control systems (e.g., Git), CI/CD platforms (e.g., Jenkins), and API management solutions. It provides options for integrating with these tools to automate API testing and deployment processes.