API (Application Programming Interface, po polsku interfejs programowania aplikacji) to zestaw reguł, dzięki którym jeden program prosi drugi o dane albo działanie - bez wiedzy, jak tamten jest zbudowany w środku. Jedna aplikacja pyta, druga odpowiada. To wszystko.
Spotykasz API codziennie, tylko go nie widzisz. Płacisz BLIKIEM w sklepie internetowym - sklep odpytuje API banku. Sprawdzasz trasę w aplikacji z przewozami - ona pyta API map. Chatbot na stronie firmy odpowiada sensownie, bo pod spodem woła API modelu językowego. Konkret: API to warstwa, przez którą oprogramowanie rozmawia z innym oprogramowaniem, zamiast robić wszystko samo od zera.
Co oznacza skrót API
API to skrót od angielskiego Application Programming Interface. Po polsku - interfejs programowania aplikacji. Słowo "interfejs" jest tu kluczowe: to punkt styku, umówiony sposób, w jaki dwa systemy się dogadują. Interfejs użytkownika (guziki, formularze) jest dla człowieka. Interfejs programistyczny (API) jest dla drugiego programu.
Jedna uwaga na start, bo Google miesza wyniki: skrót "API" ma też znaczenia spoza IT. W motoryzacji API to American Petroleum Institute i klasyfikacja jakości oleju silnikowego (oznaczenia typu SN, SP). W farmacji API to Active Pharmaceutical Ingredient, czyli substancja czynna leku. Ten tekst dotyczy wyłącznie API programistycznego - tego z aplikacji i serwerów.
Jak działa API - żądanie i odpowiedź
Cały mechanizm sprowadza się do dwóch ruchów: klient wysyła żądanie (request), serwer odsyła odpowiedź (response). Klientem bywa aplikacja mobilna, strona internetowa albo inny serwer. Serwerem - maszyna, która trzyma dane albo logikę i udostępnia je przez API.
Klasyczna analogia to restauracja. Ty przy stoliku jesteś aplikacją. Kuchnia to serwer z danymi. Kelner to API. Nie wchodzisz do kuchni i nie gotujesz sam - mówisz kelnerowi, czego chcesz, a on przynosi gotowy talerz. Nie musisz wiedzieć, jak kuchnia działa w środku. Musisz tylko wiedzieć, co jest w menu i jak zamówić. Menu to dokumentacja API, a zamówienie to żądanie.
W praktyce jedno żądanie do API składa się z kilku elementów:
- adres endpointu - dokąd pukamy, np.
https://api.sklep.pl/produkty - metoda - co chcemy zrobić: pobrać dane (GET), wysłać nowe (POST), zmienić (PUT), usunąć (DELETE)
- nagłówki - m.in. klucz API i informacja, że oczekujemy odpowiedzi w formacie JSON
- treść żądania - dane, które wysyłamy (przy POST/PUT), zwykle jako JSON
Serwer to przyjmuje, robi swoje i odsyła odpowiedź: dane plus kod statusu HTTP. Kod 200 znaczy "wszystko OK", 404 - "nie ma takiego zasobu", a gdy coś padnie po stronie serwera, dostaniesz błąd 500 to konkretny adres URL, który obsługuje jedną rzecz. W dobrze zaprojektowanym API endpointy czyta się jak spis treści:
GET /produkty- lista produktówGET /produkty/42- jeden produkt o ID 42POST /zamowienia- złożenie nowego zamówieniaGET /kurs-walut?waluta=EUR- kurs euro
Endpoint to zawsze normalny adres w sieci, więc rządzi nim ta sama infrastruktura, co całą stroną. Domena z takiego adresu, na przykład api.sklep.pl, musi rozwiązać się na adres serwera - tym zajmuje się system DNS, które terminuje SSL, rozkłada ruch i chroni serwer aplikacji. Dla Ciebie jako użytkownika API to jest niewidoczne - pukasz pod jeden adres i tyle.
REST API - najpopularniejszy standard
Kiedy ktoś mówi "API webowe", w 9 na 10 przypadków ma na myśli REST API. REST to nie technologia, tylko styl projektowania - zbiór zasad, jak układać endpointy i używać metod HTTP. Reguły REST są proste i dlatego wygrały:
- każdy zasób (produkt, użytkownik, zamówienie) ma swój adres URL
- operację określa metoda HTTP: GET pobiera, POST tworzy, PUT/PATCH zmienia, DELETE usuwa
- serwer nie pamięta stanu między żądaniami - każde żądanie niesie komplet informacji
- odpowiedzi wracają najczęściej jako JSON - lekki, czytelny format oparty na parach klucz-wartość
REST nie jest jedyną opcją. Starszy SOAP wymienia dane w ciężkim XML i wciąż siedzi w bankowości oraz systemach korporacyjnych. Nowszy GraphQL pozwala klientowi w jednym żądaniu poprosić dokładnie o te pola, których potrzebuje. Trade-off: REST jest najprostszy do zrozumienia i debugowania, SOAP daje sztywny kontrakt, GraphQL - elastyczność kosztem większej złożoności po stronie serwera. Dla zdecydowanej większości integracji zaczynasz od REST i dobrze na tym wychodzisz.
Klucz API - jak się uwierzytelnić
Większość poważnych API nie jest otwarta dla każdego. Żeby z niej skorzystać, potrzebujesz klucza API (API key) - unikalnego ciągu znaków, który identyfikuje Twoją aplikację i mówi serwerowi "to ja, mam prawo tu pukać". Klucz dostajesz zwykle po założeniu konta w panelu dostawcy: w ustawieniach szukasz sekcji API albo "Developers" i generujesz token.
Klucz dokleja się do żądania w nagłówku, na przykład Authorization: Bearer twoj_klucz. Serwer sprawdza go przy każdym wywołaniu i albo wpuszcza, albo zwraca kod 401 (brak autoryzacji).
Pro tip admina: klucz API to hasło do Twoich danych - traktuj go tak samo. Trzy zasady, które oszczędzą Ci nieprzespanej nocy:
- nigdy nie wklejaj klucza do kodu frontendu ani do publicznego repozytorium na GitHubie - boty skanują je w minuty
- trzymaj klucze w zmiennych środowiskowych albo menedżerze sekretów, nie w pliku wrzucanym do gita
- ustaw limity i uprawnienia klucza tak wąsko, jak się da - jeśli aplikacja tylko czyta dane, klucz nie powinien mieć prawa zapisu
Gdy klucz wycieknie, natychmiast go unieważnij w panelu i wygeneruj nowy. Większość dostawców pozwala mieć kilka kluczy naraz, więc rotacja nie musi oznaczać przestoju.
Po co API - realne zastosowania
API istnieje po to, żeby nie wynajdować koła na nowo. Zamiast budować własny system płatności, mapę czy model AI, podłączasz się do cudzego przez API. Kilka przykładów, które widać w polskim internecie:
- płatności - sklep spina się z API operatora (BLIK, Google Pay, Stripe), żeby przyjąć przelew bez dotykania danych karty
- bankowość - API banku (na przykład API mBanku w ramach otwartej bankowości PSD2) pozwala aplikacjom księgowym pobierać historię transakcji za zgodą klienta
- e-commerce - API Allegro daje sprzedawcom automatyczne wystawianie ofert i synchronizację stanów magazynowych
- państwo - API KSeF obsługuje wysyłkę i odbiór faktur ustrukturyzowanych, a dane.gov.pl udostępnia dane publiczne
- sztuczna inteligencja - aplikacja woła API modelu (OpenAI, dostawcy chmurowi), żeby wpleść generowanie tekstu bez trzymania własnego modelu
Wspólny mianownik: API pozwala jednej firmie korzystać z funkcji drugiej, płynnie i automatycznie, bez zgadywania, jak tamten system działa w środku. To jest cały sens integracji.
Jak przetestować API bez pisania aplikacji
Nie musisz być programistą, żeby zobaczyć API w akcji. Najszybciej sprawdzisz je z terminala poleceniem curl - jednym wierszem wyślesz żądanie GET i zobaczysz surową odpowiedź JSON. Jeśli wahasz się między narzędziami wiersza poleceń, rozpisałem różnice w tekście wget vs curl i substancję czynną leku w farmacji.
Czym różni się API od REST API?
API to ogólne pojęcie - dowolny interfejs między programami. REST API to konkretny, najpopularniejszy styl budowania API webowych: zasoby mają adresy URL, operacje określają metody HTTP (GET, POST, PUT, DELETE), a dane wracają zwykle jako JSON. Każde REST API jest API, ale nie każde API działa w stylu REST - alternatywy to SOAP i GraphQL.
Skąd wziąć klucz API?
Klucz API generujesz w panelu dostawcy usługi. Zwykle zakładasz konto, wchodzisz w ustawienia do sekcji API albo "Developers" i klikasz utworzenie nowego klucza. Dostajesz ciąg znaków, który dokleja się do nagłówka żądania. Trzymaj go w tajemnicy - to hasło do Twoich danych.
Czy ChatGPT jest API?
Sam ChatGPT jako czat w przeglądarce to aplikacja dla ludzi. OpenAI udostępnia jednak osobno API, przez które programiści wpinają możliwości modelu do własnych aplikacji. Innymi słowy: interfejs czatu jest dla użytkownika, a API tego samego modelu jest dla programu, który chce generować tekst automatycznie.
Czy korzystanie z API jest bezpieczne?
Tak, o ile trzymasz się higieny. API ujawnia tylko te dane, które dostawca świadomie udostępnił - nie daje wglądu w cały system. Ryzyko bierze się głównie z wycieku klucza API i braku szyfrowania. Używaj wyłącznie połączeń HTTPS, nie umieszczaj klucza w kodzie frontendu i unieważniaj go natychmiast po wycieku.
Do czego API służy w codziennych aplikacjach?
API łączy usługi bez przepisywania ich od zera. Dzięki niemu sklep przyjmuje płatność przez API banku, aplikacja pokazuje trasę z API map, program księgowy pobiera faktury z API KSeF, a chatbot odpowiada przez API modelu AI. Za każdym razem jedna aplikacja korzysta z funkcji drugiej przez umówiony interfejs.