What Is the Value of Your RESTful API?
An important first step in planning how you're going to build your service is understanding the value of your RESTful API.
Join the DZone community and get the full member experience.Join For Free
In a world of microservices that are providing consumers with an array of RESTful APIs, it is important to understand the value of your RESTful API. In fact, a good first step is to understand the value before starting the planning process of building your service. This value can be determined in two different ways: monetary value and internet community value.
In October 2015, Bob Reselman (SmartBear Software) asserted the following formula to provide a monetary value for a given API:
((Number of Users/10,000) x (Dev Hours x Average Cost of Development))
Competitors + 1
In order to illustrate Reselman's idea, let's consider two examples.
1. One-of-a-Kind API
For the first example, let's say your RESTful API is one-of-a-kind (no competitors), with one million users utilizing the service. It took your team 50 hours to create the API with an average cost of $100 per hour.
The formula would resemble as follows:
((1,000,000/10,000) x (50 x $100))
------------------------------------- = $500,000
0 + 1
According to Reselman, the one-of-a-kind RESTful API has a value of $500,000.
2. API With Competition
In the second example, the RESTful API has several (five) competitors and only about 5,000 users. For the purposes of keeping things simple, let's assume the development effort is the same.
The formula would resemble as follows:
((5,000/10,000) x (50 x $100))
-------------------------------- = $416
5 + 1
Based on Reselman's formula, the second RESTful API yields a worth of only $416.
What Do the Numbers Mean?
Bob Reselman's calculation can be used as way to measure the value of one API against another. In planning phases of a project, the number of users and hours required can be estimated to determine if building a new API is a worthwhile effort. In the two examples, the first example (one of a kind API with heavy demand) would be an ideal project, while the second example might not be the best use of your organization's time.
Internet Community Value
Another way to look at the value of your RESTful API is to consider the value your API brings to the Internet community as a whole. In other words, this is the ask of how your RESTful API can make a difference, which often ties back to logic, data, or a combination of both that you can offer with your service.
In the second example, an API was evaluated that already had five other competitors at the time. If there were no other competitors meeting the need, the value would have increased over six times (from $416 to $2,500). In all likelihood, the number of users would have likely been higher, too, since the estimated number of users would have increased in a situation where the community had no other viable alternatives.
This would be similar to creation of a weather-based API, which would insert itself into an area that already has several quality players, documented a few years ago by Janet Wagner. When Janet's article was published in late 2014, there was a host of providers in the weather API space. Her article focused on the top 10. So, trying to enter this segment without something unique to offer would provide little (if any) value.
On the other hand, if your organization contains a great deal of proprietary data or a proven results-driven algorithm, then you are likely to follow what was defined in the first example shown above. Your organization is one of the few organizations (if not the only one) that can provide these results with a high degree of certainty. Additionally, your service is something your customers have expressed interest in utilizing, once available.
In this instance, the value of your API is far higher, since you are providing access to information that cannot be obtained elsewhere or with such a high degree of certainty. Of course, this does not mean that you have to give away your information for free, but that you are making the information available - where it makes sense to provide access.
Understanding the value of your API, even if through estimation, is a good exercise to perform before starting the development process. The Monetary Value and the Internet Community Value offer a couple of ways to consider in determining the value of your RESTful API. The key is to understand how you can make a difference with your API, doing so only when it makes business sense to do so.
Opinions expressed by DZone contributors are their own.
Java String Templates Today
Microservices: Quarkus vs Spring Boot
Turbocharge Ab Initio ETL Pipelines: Simple Tweaks for Maximum Performance Boost
Data Freshness: Definition, Alerts To Use, and Other Best Practices