API

Zestaw reguł i metod, dzięki którym jeden program może korzystać z funkcji lub danych innego programu. To umowny interfejs komunikacji między systemami.

API (Application Programming Interface) to zestaw reguł, metod i formatów danych, dzięki którym jeden program może korzystać z funkcji lub danych innego programu, nie wiedząc, jak ten drugi działa w środku. To umowny interfejs komunikacji: jedna strona udostępnia gotowe operacje, druga je wywołuje według ustalonego kontraktu. Pomyśl o API jak o kelnerze — nie musisz wchodzić do kuchni i wiedzieć, jak działa piekarnik, podajesz zamówienie z menu i dostajesz wynik.

Kluczowy jest tu właśnie ten kontrakt: API definiuje, co możesz wywołać (endpointy, funkcje), jakie dane musisz wysłać i co dostaniesz w odpowiedzi. Dzięki temu twórca usługi może przebudować całe wnętrze aplikacji, a Ty — o ile kontrakt się nie zmieni — niczego nie zauważysz. To pozwala łączyć systemy pisane w różnych językach i utrzymywane przez różne zespoły.

Jak to działa w praktyce

Najpopularniejszy dziś typ to REST API, które komunikuje się przez HTTP. Wysyłasz request na konkretny adres (endpoint), używając metody jak GET (pobierz dane), POST (utwórz), PUT (zaktualizuj) czy DELETE (usuń). W odpowiedzi najczęściej dostajesz dane w formacie JSON oraz kod statusu HTTP — np. 200 (OK), 404 (nie znaleziono) albo 401 (brak autoryzacji).

Konkret: chcesz pobrać dane publicznego repozytorium z GitHuba. Wpisujesz w terminalu:

curl https://api.github.com/repos/torvalds/linux

W odpowiedzi GitHub odsyła JSON z liczbą gwiazdek, opisem, językiem i resztą metadanych. Nie dotykasz ich bazy danych — korzystasz z udostępnionego API. Do prywatnych zasobów dołączasz zwykle nagłówek z tokenem, np. Authorization: Bearer TWOJ_TOKEN.

Częste błędy i mity

  • API to nie to samo co serwer ani baza danych. To warstwa kontraktu między nimi a światem zewnętrznym.
  • Klucze API nie są hasłem do wrzucenia na GitHuba. Wyciekły token to klasyk — trzymaj go w zmiennych środowiskowych, nie w kodzie.
  • Rate limiting istnieje. Większość API ogranicza liczbę zapytań na minutę. Dostaniesz 429 Too Many Requests i musisz odczekać.
  • Nie każde API jest publiczne — bywają wewnętrzne (private) i partnerskie.

Warto też ogarnąć pojęcia powiązane: endpoint, JSON, HTTP, REST, GraphQL (alternatywa dla REST), SDK, webhook, token i OAuth. Dobra dokumentacja API to Twój najlepszy przyjaciel — zanim zaczniesz strzelać requestami w ciemno, przeczytaj, co dany endpoint naprawdę przyjmuje.