Why do platforms keep changing or shutting off their APIs?
An API (application programming interface) lets external software interact with a platform programmatically. Platforms have progressively restricted, priced or closed theirs, and the reasons are commercial more than technical.
Why they opened them originally. In their growth phase, platforms wanted an ecosystem. Third-party apps, tools and integrations made the platform more useful, drove adoption, and cost nothing to build. Open APIs were a growth strategy.
Why they close or restrict them:
Advertising revenue. Third-party clients frequently strip ads, algorithmic feeds and promoted content. A user reading through an external client generates far less revenue than one in the official app. This is the dominant reason, and it explains why third-party clients are usually the first thing cut.
Control of the experience. Platforms want to determine what users see, which is impossible through a client they do not control.
Data value. Bulk access to platform data became extremely valuable as training material for machine learning models, and platforms moved to charge for what they had given away.
Cost. API traffic consumes infrastructure without generating revenue directly.
Privacy and abuse. Genuine concerns, accelerated by the Cambridge Analytica scandal, which prompted Facebook to sharply restrict data access. Scraping, spam and harassment tooling also exploit open APIs.
Competitive risk, where a third party might build a rival product.
The consequences. Reddit's 2023 pricing change and Twitter's API restructuring both eliminated long-standing third-party clients and, notably, accessibility tools that visually impaired users depended on — a widely criticised outcome. Academic researchers also lost access, which has meaningfully reduced independent study of platform behaviour.
The broader lesson for anyone building on someone else's API: the access can be withdrawn or repriced at any time, and businesses built on it have been ended overnight. Treat platform APIs as a dependency you do not control.