Une API c'est une sorte d'interface pour faciliter la communication entre deux programmes.
Comme tu l'as dit, tu as des API en Java pour Android par exemple. Pour interagir avec la caméra d'un téléphone, tu as à disposition une API pour gérer la prise de photo/vidéo avec des méthodes très simple à mettre en place plutôt. Ainsi, tu peux prendre une photo avec une simple méthode comme takePicture (c'est juste pour l'exemple) plutôt que d'aller chercher trop loin. Ca permet à ton application d'interagir avec le système d'exploitation de façon très simple.
Une bonne analogie serait celle d'un restaurant. Tu as le client, le serveur et la cuisine(avec les cuisinier, etc.) Le client, tout ce qui l'intéresse c'est d'avoir son repas. Il lit la carte et trouve son menu, il passe la commande au serveur (API) qui va en cuisine et dire au cuisinier. Le cuisinier prépare le repas mais ni le client ni le serveur (serveur de restaurant, ne confond pas avec un serveur informatique, pareil pour le client) ne sont intéressés par la façon dont est préparé le repas. Une fois le repas prêt, le serveur l'amène au client. Le client a passé sa commande via le serveur(API), qui agit comme messager, qui a ensuite communiqué la commande au cuisinier(système), qui l'a exécutée, transmis la réponse au serveur(API) qui l'a retournée au client.
Après tu as différentes sortes d'API, celles qui agissent sur l'OS par exemple, avec certaines classes Java et les API Web.
Un exemple concret avec Paypal. Tu veux implémenter un mode de paiement sur ton application avec Paypal. L'utilisateur entre sa carte de crédit sur ton application et cliques sur "Payer". Ton application envoies une requête à l'API Paypal avec les informations de paiement (carte de crédit, vendeur, montant), l'API transmet le message au système de Paypal, le système traite la requête d'une façon ou d'une autre, ça ne t'intéresse pas, contacte l'API une fois le travail terminé et l'API retourne une réponse à ton application. Par exemple : Erreur, carte de crédit non valide ou Succès, le montant a été prélevé.
Ainsi, avec une simple requête, tu as mis en place le système de paiement plutôt que d'implémenter toi même un moyen de stocker les cartes, de les prélevées, etc.
J'espère avoir été clair, sinon tu peux regarder cette vidéo : https://www.youtube.com/watch?v=s7wmiS2mSXY (c'est de là que vient l'exemple du restaurant)
Donc ce qui t'intéresse c'est une API de type REST : regardes cette vidéo et si tu as des questions, hésite pas 
https://www.youtube.com/watch?v=7YcW25PHnAA