How do your users interact with your web app? Do you have users who are requesting new features? Are there more good feature requests than you have developer hours to build? Often, a small addition to your app can open the door to let users build features they want (within limits) without using more of your own developers’ time, and you can still keep control over how data can be accessed or changed. That small addition is called an application programming interface, or API. APIs are used across the web, but if you aren’t a developer, you may not have heard of them. They can be easily built on top of Django projects, though, and can provide great value to your own developers as well as to your users.
What Is An API?
At its core, an API is essentially an interface which allows two pieces of software to talk to each other. This usually refers to a request that reaches across the web to a third-party service, although it can also be used to allow two of your own apps to talk to each other.
Why Would I Want One?
As a user, there are many reasons you might want access to an app’s data. How often do you think “this would be great if they added just one other feature!”
We’d all like to think our apps address all our users’ needs, but there will always be a subset who have a corner-case use that they’d like to implement. If only a few dozen people would use that feature, but you have a lengthy backlog of other features that a more significant number of users would use, then you’re likely to prioritize the features that will help the most people.
With an API, that small subset can write (or hire someone to write) an add-on which gives them their niche feature. Multiply that by the dozens of small niche subsets of users who have different wishlists and you might have a bunch of users who would benefit from just one new feature: an API.
Is It Worth The Cost?
As with many software products, the value proposition depends on the amount of time that will be invested in building the feature, but an API doesn’t have to take much investment! As previously mentioned, an API can be easily layered on top of an existing Django project, so if you have Django apps, you may be closer than you think.
One of the greatest values an API can provide is that users may attach themselves to your product, making it an integral part of their operations. If they only use the features that laid out on your website, then another company can come along and build a competing service that handles all of those functions plus some, or for a lower cost. On the other hand, if they use just 70% of the features you advertise but have integrated your service into their operations by using your API, then they would have to re-write those integrations to move to another service. Suddenly, that API is a really strong reason to stick with your service rather than hop to the newest player in the field.
If you don't have an in-house development team to help with an API, the work can be contracted out to a web development company like Caktus. Contact us to start developing an API for your Django project.