One thing I haven't seen written about much is how these APIs turned into massive liabilities for privacy. If a Twitter API allows me to siphon tweets off of Twitter, you can never delete them. If a Facebook API allows (user-approved apps) to view the names of my friends and the pages they like, this data can be used to create targeted political ads for those users[1].
So a company considering creating a public-facing API must deal with the fact that:
1. This API could be helping my competitor
2. This API makes internal changes more difficult (typically there is a strong effort to maintain backwards compatibility).
3. If company XXX uses the API to extract data (that users have given them explicit access to), the ensuring scandal will not be called the "XXXX Data Scandal", but rather the "MYCOMPANY-XXX Data Scandal"[1].
[1] https://en.wikipedia.org/wiki/Facebook%E2%80%93Cambridge_Ana...