Recently I was talking to an entrepreneur about APIs (ways for apps to communicate with other apps automatically) as he was looking for a way to connect his app, and corresponding customers, with a number of other apps. Only, he couldn’t find anything on the market. Successful startups like MuleSoft and Zapier have numerous integrations but require going through their respective apps to make the connectors work — you can’t readily whitelabel them or use their APIs to connect to other APIs.
Why hasn’t a universal API middleware emerged? Here are a few ideas:
- APIs constantly change. Facebook was notorious about constantly breaking their API, yet their motto at the time (“move fast and break things”) made their priority clear. As a vendor connecting to another vendor’s API, it takes on-going resources and money to keep APIs working, which is more expensive than it looks.
- APIs aren’t as strategic as expected for most cloud-based apps. While companies like Salesforce have amazing APIs, many cloud-based apps don’t prioritize their APIs and thus the API doesn’t have parity with the user interface and bugs don’t get fixed quickly.
- The long tail is really long. While there are 25-50 apps in the mainstream category (> $100MM ARR), there are hundreds and hundreds more in the near-mainstream category (> $25MM ARR), not counting the thousands more that have at least some scale (> $10M ARR). Outside of the mainstream apps, the next tier of apps, while having a large number of customers, doesn’t have enough overlapping customers with any other non-mainstream apps, making for a limiting number of useful integrations.
- APIs constantly have problems. Whether it’s an API going down, user authentication expiring, or invalid data with limited error codes, APIs constantly have challenges. This makes for a less-than-ideal end user experience and a challenge to support a large number of APIs at scale.
Bottom line: APIs are much more complicated than they seem and only a handful are needed to make most customers happy, so vendors just write their own hand-crafted integrations. It doesn’t fulfill the ideals of a universal API middleware platform but it’s good enough for most apps.
What else? What are some more thoughts on why a universal API middleware hasn’t emerged?