
API або Application Programming Interface зустрічається в додатках, сайтах і мемах програмістів.


Якщо ви теж не зрозуміли, про що ці меми, то давайте розбиратися, що таке API.
Що таке API (Application Programming Interface)
API — це Application Programming Interface, інтерфейс програмування застосунків.
Простими словами, API — це посередник між програмами, який задає правила «спілкування». Тому в його назві закладено поняття «інтерфейс» — межа між об’єктами. Одній програмі не важливо, як працює інша. Розробники просто користуються інтерфейсом: надсилають запит і отримують зворотну відповідь.
API зустрічається всюди — ви точно використовуєте його постійно, але не помічаєте цього. Наприклад, коли пересилаєте картинки з одного месенджера до іншого або швидко реєструєтесь на новому сайті через Facebook.
Віталій, розробник HOSTiQ.ua 💬
«Ми в HOSTiQ все робимо через API: створюємо хостинги в клієнтських облікових записах, видаляємо їх, реєструємо домени, отримуємо платежі. Без API нам не обійтися — це економить час і спрощує роботу.»

Чому розробники використовують API :
Приклад вище показує, навіщо потрібен API та які плюси дає його використання:
- Економія. Розробники, які використовують чужі API, заощаджують час та гроші, бо працюють з уже готовим кодом.
- Передбачуваність. Користувачі звикли до функцій API, тому їм не потрібно пояснювати в кожній новій програмі, як працює вже знайома кнопка.
- Прибуток. Розробники, які створюють API, можуть продавати їх, а не викладати у вільному доступі. Головне, щоб був попит.
Але є й недоліки API:
- Неактуальність. Коли основна програма змінюється, її API не завжди оновлюють вчасно, інколи ж взагалі не оновлюють. Також API можуть закрити і його функції відключаться у всіх програмах.
- Поверхневість. Коли розробник використовує чужий API, він знає, як працює API, але не знає, як працює вихідний код. Це може стати проблемою для нових співробітників усередині компанії. Наприклад, розробник написав API для компанії, а потім звільнився. Всі нові співробітники користуються API і не знають, як працює вихідна програма, тому її буде складно відремонтувати у разі поломки.
- Обмеженість. API виконує лише те, що дозволили його розробники. Якщо потрібно більше функціоналу, то його не вдасться впхнути в готовий API чужої програми.
Віталій, розробник HOSTiQ.ua 💬
«Коли працюєш з API, то можеш використовувати лише те, що описано у документації.
Іноді можна покопатися і знайти приховані можливості, але тоді незрозуміло, чи можна ними скористатися.
Ще не завжди в документації є приклади. Без прикладів буває неясно, як користуватися функцією, і тоді ти просто не можеш її застосовувати.

Як працює API простими словами (приклад для новачків)
Розберемо покроково, як працює API:
- Клієнт надсилає запит. Клієнт в цьому контексті — це браузер, мобільний додаток чи інша програма. Він формує запит у вигляді HTTP-звернення, наприклад, GET чи POST, про них детальніше поговоримо пізніше.
- Запит йде на сервер API. Сервер отримує запит і перевіряє його: чи правильний формат, чи є ключ доступу до API, чи не перевищено ліміт запитів.
- Сервер обробляє запит. Виконує потрібну дію: шукає дані у базі, робить розрахунок, викликає інший сервіс.
- Сервер повертає відповідь. Зазвичай у форматі JSON, іноді XML. Відповідь містить дані або повідомлення про помилку.
- Клієнт обробляє відповідь. Програма показує дані користувачу, наприклад, список фільмів чи прогноз погоди. Якщо виникла помилка — повідомляє про це.
Простими словами, API — це посередник між програмами, який задає правила «спілкування». Тому в його назві закладено поняття «інтерфейс» — межа між об’єктами. Одній програмі не важливо, як працює інша. Розробники просто користуються інтерфейсом: надсилають запит і отримують зворотну відповідь.


Що таке доступ до API
API доступ — це дозвіл користуватися сервісом у своєму коді. Ви надсилаєте запит, а сервер повертає дані, які можна показати на сайті чи в застосунку. Щоб отримати цей дозвіл, сервіс може вимагати ключ або інший спосіб авторизації.
Наприклад, у Google Maps API доступ за ключем дозволяє брати інформацію про маршрути й місця та використовувати її на власному сайті чи в застосунку.
Розглянемо використання API на прикладі. Розробник зробив сайт із онлайн-конвертером валют. Він хоче, щоб конвертером користувалися не лише на вихідному сайті, а й у банківських програмах.
Як це зробити:
- Розробник конвертера створює API та викладає його на своєму сайті. Описує в документації, як працює API та які в нього є функції.
- Розробники банківських програм беруть API конвертера та додають його до свого коду, якщо хочуть дати своїм користувачам функції цього конвертера.
- Користувач програми вводить суму, яку хоче «обміняти», та вибирає валюти.
- Програма надсилає на сервер конвертера спеціальний запит із сумою, яку потрібно перевести у вибрану валюту.
- Конвертер переводить суму та відправляє відповідь з результатом у потрібній валюті.
- Програма отримує відповідь та показує її користувачу.
У результаті всі задоволені: користувач переклав цифри в іншу валюту в додатку, конвертером користуються не лише на сайті, а банківські програми не писали конвертер з нуля, але покращили свій продукт.
Віталій, розробник HOSTiQ.ua 💬
«API спрощує та прискорює роботу, а іноді взагалі виглядає як магія. Наприклад, як із перекладами статей у блозі:
– ми: переклади цей текст.
– Google Translate через дві секунди: переклав, щось ще?
А ми гадки не маємо, скільки всього стоїть за тим, щоб цей переклад зробити. Нам це й не потрібно.

При купівлі на рік — знижка 20%
Приклади API в повсякденному житті
Розбавимо технічну частину тим, що подивимося, як виглядає API для кінцевих користувачів.
API: приклади, з якими ми стикаємося щодня 👇
1. Прогноз погоди
Ми можемо перевірити прогноз погоди на комп’ютері, у телефоні та розумному годиннику. Ці пристрої нічого не знають про погоду, але вони використовують API. Навіть усюдисущий Google не збирає дані про погоду, а користується відповідями API сайтів про прогнози погоди.

2. Швидка реєстрація
На багатьох сайтах можна зареєструватися через обліковий запис Facebook або Google ― швидка реєстрація теж працює через API. Замість входу до вашого акаунту Facebook, програма швидкої реєстрації перевіряє API, чи ви увійшли до облікового запису. Якщо ви не увійшли до акаунту, програма попросить вас підтвердити вхід.

3. Оплата Apple Pay
Більшість інтернет-магазинів пропонують сплатити за товар Apple Pay або іншими способами оплати. Коли покупець натискає кнопку «Сплатити через Apple Pay», програма відправляє запит до API Apple Pay, вказуючи суму замовлення. Потім спливаюче вікно просить покупця підтвердити покупку. Якщо все йде за планом, API відправляє підтвердження платежу до програми.


4. Туроператори
API чудово підходять для туристичних послуг, тому що допомагають програмам обмінюватися запитами на бронювання та інформацією про вільні номери. Без API туроператору довелося б особисто звертатися до кожного готелю та авіакомпанії, щоб дізнатися про вільні місця.

5. YouTube не в YouTube
Коли ви дивитеся відео з YouTube не на сайті YouTube, ви не замислюєтеся, як це працює. Це також API, яким безкоштовно ділиться YouTube. Якби його не було, то у статті про котиків довелося б ставити посилання на відео про котиків. А з API можна дивитись тут і зараз, не відриваючись від статті.

Які бувають види API : публічні, приватні, партнерські
Тепер знову повернемося до технічного боку API та розберемося, якими вони бувають. За типом доступу API поділяють на:
- Публічні API. Розробники створили API для своєї програми та дають користуватися ним усьому світу. Такі API часто продають, щоб отримати додатковий дохід. Наприклад, так робить Google з API Google Maps.
- Приватні чи внутрішні API. Розробники приховують ці API від всього світу. Наприклад, приватні API використовують компанії, щоб зв’язати свої програми.
- Партнерські API. Спеціальні API, які розробники компаній пишуть для партнерів та діляться лише з ними. Наприклад, API для зв’язку бази даних компанії та сторонньої CRM-системи чи email-сервісу.
Кожен тип API має своє призначення: публічні відкривають доступ для всіх охочих, приватні забезпечують внутрішню інтеграцію в межах компанії, а партнерські створюють місток між бізнесами.
Основні типи архітектури API: RPC, SOAP, REST, GraphQL і gRPC
Але ви могли чути про інші типи API з незрозумілими приставками: RPC, SOAP та REST. Далі намагатимемося пояснити, що це за приставки та в чому між ними різниця. Може бути складно в усьому розібратися, проте потім вийде підібрати потрібні технології для свого API.
П’ємо чай, відпочиваємо, дивимося відеоролик, і читаємо далі.
API обмінюються даними та функціями, для цього потрібні чіткі протоколи та архітектури ― правила, за якими працюватиме API. Архітектуру API можна порівняти з правилами гри в «дурня». Хтось грає з джокерами, хтось у перекладного, а хтось у звичайного із 36 карт. Сенс гри не змінюється, але структура відрізняється.
Існує кілька основних архітектурних стилів API. Історично найпоширенішими були RPC, SOAP та REST. Сьогодні до них додаються сучасні підходи, такі як GraphQL і gRPC.
👉 RPC — це спосіб викликати функції на віддаленому сервері. Клієнт надсилає параметри, сервер виконує дію й повертає результат. На відміну від інших API, які здебільшого працюють із даними та ресурсами, RPC зосереджений на виклику процесів. Для обміну повідомленнями найчастіше використовують JSON-RPC або XML-RPC.

JSON підтримує обмін лише текстом, в той час як XML обробляє текст, зображення, графіки та діаграми. Таким чином, XML пропонує більше можливостей обробки документів, ніж JSON.
Формат RPC не завжди підходить для приватних API компаній, адже він має обмежену підтримку типів даних. Проте RPC добре працює як внутрішній механізм у складених API.

🖇 Складені API — це інтерфейси, які об’єднують кілька різних запитів в один виклик і повертають агреговану відповідь. Наприклад, замість трьох окремих запитів до сервісу користувачів, замовлень і доставки можна зробити один складений запит і отримати всі дані разом.
У таких випадках RPC-запити можуть виконуватися асинхронно — не очікуючи на відповідь від сервера. Це особливо корисно для швидких паралельних обчислень та задач, де важлива продуктивність.
👉 Формат SOAP використовує лише мову кодування XML. Робота з API з цією архітектурою найскладніша: SOAP — дуже структурований та строго контрольований формат.
SOAP використовують, коли компанії потрібна підвищена безпека та чітко визначені правила для обміну даними. Розробники часто вибирають SOAP для внутрішніх або партнерських API.
Віталій, розробник HOSTiQ.ua 💬
«З SOAP я працював лише один раз. Як тут написано, «розробники здригаються, коли потрібно працювати з SOAP». Так було і в мене. Поки я робив задачу з SOAP API, у мене весь час було відчуття, що я повинен пам’ятати занадто багато або що я щось десь упустив.»

👉 REST вважається більш простою альтернативою SOAP. Кожна одиниця інформації для цього виду API ― унікальна URL-адреса, яку можна запросити.
REST використовують для швидкого обміну простими параметрами, у тому числі тими, з яких складаються бази даних. Тому REST API добре підходить для взаємодії великих баз даних. Ці характеристики роблять REST популярним для публічних API, наприклад для мобільних додатків.
👉 GraphQL — це сучасна альтернатива REST, яка дозволяє клієнту самостійно визначати, які саме дані потрібні. Замість десятків ендпоінтів — конкретних URL, за якими можна звернутися до API, є одна точка доступу. У GraphQL запит описується як структура даних, і сервер повертає рівно ті поля, які були запитані. Такий підхід робить GraphQL особливо ефективним для мобільних застосунків та вебсайтів, де важливо отримувати лише потрібну інформацію без зайвих даних.
👉 gRPC ― це реалізація RPC від Google, яка використовує протокол HTTP/2 та формат Protobuf для передачі даних. На відміну від класичного RPC, gRPC підтримує потокову передачу даних, двостороннє спілкування та високу швидкість. gRPC часто застосовують у мікросервісній архітектурі, де важлива продуктивність і низька затримка.
Недолік ― складніша інтеграція з браузером, тому gRPC більше підходить для бекенд-сервісів, ніж для фронтенду.
Для наочності, ось різниця між архітектурними стилями API у таблиці:
| Архітектура | Формат даних | Простота використання | Швидкість | Типові кейси |
| RPC | JSON, XML | Досить проста, але обмежена підтримка типів даних | Висока при паралельних викликах | Внутрішні виклики процесів, швидкі обчислення |
| SOAP | XML | Складна, суворо структурована | Повільніша через надмірну формалізацію | Висока безпека, корпоративні інтеграції, партнерські API |
| REST | JSON, XML | Проста й гнучка | Середня, залежить від кількості запитів | Публічні API, мобільні додатки, робота з великими БД |
| GraphQL | JSON | Гнучка, але потребує схеми | Висока, бо менше запитів | Фронтенд-додатки, мобільні клієнти, складні дані з різних джерел |
| gRPC | Protobuf | Складніший у налаштуванні | Дуже висока, оптимізована для низької затримки | Мікросервіси, бекенд-сервіси, потокова передача даних |
Тож RPC, SOAP та REST — класичні стилі API, які заклали основу для взаємодії клієнта й сервера. Однак із появою мобільних додатків, мікросервісної архітектури та потребою в швидкому обміні з’явилися сучасніші підходи — GraphQL та gRPC, які вирішують проблеми REST та RPC, роблячи API більш гнучкими та продуктивними.
Якщо ви хочете робити свої API для інших — подбайте про стабільний хостинг. Бо навряд чи хтось захоче використовувати API-інструменти, які час від часу недоступні.
На нашому хостингу ми гарантуємо рівень аптайму у 99,9%, тож вам не доведеться хвилюватися через падіння сервісів.
В комплекті до хостингу ви отримуєте зручну панель керування, швидкі SSD-диски та розумну цілодобову службу підтримки 💪 А ще його можна тестувати безплатно протягом 30 днів.
Якщо ж ви не розробник, а користувач API, ми теж будемо раді піклуватися про ваш сайт 😉
Як використовувати API і отримати доступ до нього
Якщо ви хочете скористатися стороннім API, зазвичай потрібно:
- Зареєструватися на сайті провайдера API та отримати ключ.
- Надіслати запит на ендпоінт.
- Обробити відповідь у коді.
- Дотримуватися правил і лімітів.
Розберемо кожен крок детальніше.
Реєстрація та отримання ключа доступу
Щоб використовувати більшість API, потрібно зареєструватися на сайті постачальника конкретного API. Після реєстрації ви отримуєте API key — унікальний код, який додається до кожного вашого запиту. За API key сервер відстежує, хто робить запити, і контролює ліміти використання.

Формування запиту
API працює через стандартні HTTP-методи:
- GET — отримати дані, наприклад, список користувачів.
- POST — створити новий запис, наприклад, додати користувача.
- PUT — повністю оновити існуючі дані.
- PATCH — частково оновити існуючі дані.
- DELETE — видалити дані.
Запит надсилається на ендпоінт — це URL, за яким можна звернутися до API. Наприклад: https://api.example.com/users
Дізнатися, які методи підтримує API та як ними користуватися, можна в документації до конкретного API.
Приклад запита в JavaScript:

Тут ми робимо запит на сервер, де лежать дані про фільми, в query ми вкажемо назву фільму, і отримаємо відповідь з інформацією про нього.
Відповідь від сервера
Зазвичай сервер видає дані у форматі JSON, його легко читати й обробляти у коді. Іноді використовується XML, але сьогодні він менш популярний.
Приклад відповіді JSON з інформацією про фільм:


Що ще треба знати при роботі з API
Під час роботи з API варто пам’ятати про кілька важливих аспектів. По-перше, більшість сервісів мають ліміти й тарифи: наприклад, може бути дозволено лише 1000 запитів на день. Часто існують безплатні версії з базовим функціоналом і платні тарифи з розширеними можливостями. Якщо перевищити ліміт, сервер зазвичай повертає помилку 429 Too Many Requests.
По-друге, обовʼязково вивчайте документацію конкретного API. Це головний помічник розробника, адже без неї API практично неможливо використовувати. В документації описані ендпоінти, параметри та приклади запитів. Хороша документація також містить приклади коду для різних мов програмування — наприклад, JavaScript, Python чи Java.
Ще один важливий момент — безпека. Зберігайте API key у безпечному місці й ніколи не викладайте у відкритий код, наприклад на GitHub.
І нарешті, тестування. Перед інтеграцією запитів у код перевірте їх у спеціальних інструментах на кшталт Postman чи Insomnia. Так ви переконаєтеся, що запити працюють правильно, а всі відповіді сервера мають коректні статус-коди — наприклад, 200 OK, 404 Not Found чи 500 Internal Server Error.
Також щоб краще зрозуміти, як працюють API, спробуйте потренуватися на кількох відкритих сервісах. Вони дозволяють робити прості запити та отримувати дані у форматі JSON:
🎬 OMDb API — база даних про фільми та серіали.
🐱 Cat Facts API — випадкові факти про котів.
🎮 PokéAPI — дані про покемонів.
Сподіваємося, що нам вдалося ввести вас у складний світ API: тепер ви знаєте, що таке API у програмуванні та які бувають API. А ще з цього моменту ви помітите, як насправді багато API навколо вас 🙂
Якщо у вас залишилися питання про те, як працювати з API, пишіть їх у коментарях!
Корисні статті, які варто прочитати 👇