Es la interfaz de una aplicación para otras aplicaciones/programas (Aplication Programming Interface). Permite que otras aplicaciones puedan interaccionar con la tuya de forma fácil.
Ejemplo tonto, una web del tiempo:
- Interfaz gráfica para humanos: www.el-tiempo.net/provincias/01
- Interfaz para programas: www.el-tiempo.net/api/json/v2/provincias/01
Cuando compares, vas a ver que ambas tienen (o deben tener) la misma información, sólo que una te va a resultar más fácil de entender que la otra 😂 Ahora, imagina que quieres hacer un programa que consulte esa web. Por ejemplo, un bot de Telegram que te ponga todos los días la probabilidad de que llueva en tu ciudad (o que sólo te avise si hay más de un 70%), te aseguro que es mucho más fácil de manipular e interpretar la info que te brinda la API que la "normal".
En el mundillo IT las APIs están a la orden del día, se usan mucho. Igual que puedes obtener info del tiempo, puedes obtener información financiera, de Twitter etc. Por ejemplo, todos los bots de Twitter usan su API (igual que se pueden usar para obtener información, se pueden usar para meter contenido). Las hay gratis (la que he puesto arriba), las hay gratis pero tienes que registrarte (Twitter creo) y las hay de pago.
En cuanto al caso de Reddit no tengo mucha idea porque no lo uso, pero a fin de cuentas la gente usa la API de Reddit para hacer cosas que Reddit no ofrece. Esto me lo invento, pero se podría usar la API para hacer un bot que lea todos los comentarios y borre todos aquellos que tengan un link con SPAM. Si ahora al que ha hecho ese bot le van a cobrar por tenerlo en pie para beneficio del propio Reddit, te puedes imaginar lo que pasará.