API e o functionalitate oferita de un sistem. Cel mai banal exemplu: System.out.println(100)
apeleaza un API oferit de Java. Alte sisteme is mai complicate de atat si implica comunicare in retea.
Cand intri cu browserul pe https://devforum.ro browserul comunica cu serverul printr-un protocol anume (Hypertext Transfer Protocol - Wikipedia) iar serverul ii da niste informatie structurata intr-un anumit mod (HTML - Wikipedia) pentru a fi afisata pe ecran.
Informatia asta poti s-o ceri si dintr-o aplicatie scrisa de tine (web scraping) dar te incurca ca e gandita sa fie afisata pe ecran cu reguli de formatare si culori stralucitoare, pe cand tu vrei doar sa afli numele si pretul unui produs. Mai mult, daca faci asta automat dintr-un program scris de tine, se cam prind aia si-ti taie accesul sau te dau in judecata.
Asa ca, atunci cineva vrea ca informatia sa sa fie accesibila si din cod fara detalii inutile gen formatare in pagina, ofera informatia intr-un alt mod, mai prietenos pentru aplicatii de acesat. Unul din aceste moduri e JSON - Wikipedia, comunicat tot peste Hypertext Transfer Protocol - Wikipedia.