API Nedir? Günlük Hayattan Örneklerle

Telefonundaki hava durumu uygulaması havayı kendisi ölçmüyor. Bir yerden soruyor. İşte o “sorma” işini mümkün kılan şeye API denir. Bu yazıda API’nin ne olduğunu bir restoran benzetmesiyle anlatıyor, sonunda Python’la 5 satırda gerçek bir API’ye soru soruyoruz.

API nedir?

API, İngilizce “Application Programming Interface” sözcüklerinin kısaltması. Türkçede “uygulama programlama arayüzü” denir. Basitçe: iki yazılımın birbiriyle konuşmasını sağlayan kurallar bütünü.

Bir yazılım diğerine “bana şu bilgiyi ver” ya da “şu işi yap” der. Diğer yazılım da ne cevap vereceğini ve hangi biçimde vereceğini önceden belirlemiştir. API, bu konuşmanın dilidir.

Bir restoranda oturduğunu düşün:

  • Sen yemek istiyorsun ama mutfağa girmiyorsun.
  • Mutfak yemeği hazırlıyor ama senin masana gelmiyor.
  • Garson aradaki bağlantı: siparişini alıyor, mutfağa iletiyor, yemeği sana getiriyor.
  • Menü ise neyi isteyebileceğini gösteriyor. Menüde olmayan bir şeyi söylersen garson “Bunu yapamıyoruz” der.

Yazılım dünyasında sen bir uygulamasın, mutfak başka bir şirketin sunucusu, garson API, menü de API’nin belgeleri. Mutfağın içinde ne olduğunu bilmen gerekmez; menüye bakıp doğru siparişi vermen yeter.

API’leri her gün kullanıyorsun

Farkında olmasan da günün birçok anında bir API çalışıyor:

  • Hava durumu: Telefonundaki uygulama, hava durumu verisi sunan bir servisin API’sine “şu şehirde hava kaç derece?” diye soruyor.
  • Google ile giriş yap: Bir sitede bu düğmeye bastığında site, kimliğini Google’ın API’si üzerinden doğruluyor. Site şifreni hiç görmüyor.
  • Online ödeme: Bir alışveriş sitesi kart bilgini kendisi işlemez; bir ödeme şirketinin API’sine gönderir.
  • Haritadaki konum: Bir kafenin sitesindeki küçük harita, bir harita servisinin API’sinden geliyor.
  • Yapay zekâ uygulamaları: Birçok uygulama, arka planda büyük bir dil modeline API üzerinden soru soruyor.

Bir API’ye nasıl soru sorulur?

Çoğu API web adresleri üzerinden çalışır. Bir adrese istek gönderirsin, cevap genellikle JSON adı verilen düzenli bir metin biçiminde gelir. JSON’u şimdilik “etiketli bilgiler listesi” gibi düşünebilirsin:

{"sehir": "İstanbul", "sicaklik": 18.3}

Örnek: Python’la hava durumunu sormak

Open-Meteo, hava durumu verisi sunan açık bir API. Kişisel ve ticari olmayan kullanım için ücretsiz ve anahtar istemiyor. Aşağıdaki kodu Google Colab’da çalıştırabilirsin:

import requests # internete istek göndermek için kullanılan kütüphane
# Siparişimiz: İstanbul'un koordinatları ve şu anki sıcaklık
adres = "https://api.open-meteo.com/v1/forecast"
parametreler = {"latitude": 41.01, "longitude": 28.98, "current": "temperature_2m"}
cevap = requests.get(adres, params=parametreler) # garsona siparişi verdik
veri = cevap.json() # gelen JSON'u Python sözlüğüne çevirdik
print("İstanbul'da şu an:", veri["current"]["temperature_2m"], "derece")

Çıktı şuna benzer (sıcaklık o anki havaya göre değişir):

İstanbul'da şu an: 18.3 derece

Satır satır ne oldu?

  1. requests kütüphanesini çağırdık. Colab’da hazır yüklü gelir.
  2. Menüye bakıp siparişi hazırladık: hangi adres, hangi konum, hangi bilgi.
  3. requests.get ile isteği gönderdik.
  4. Gelen cevabı .json() ile Python’ın anlayacağı bir sözlüğe çevirdik.
  5. İhtiyacımız olan tek değeri sözlükten çekip yazdırdık.

Koordinatları değiştirerek kendi şehrinin sıcaklığını öğrenebilirsin. Hava verisi Open-Meteo’dan geliyor ve CC BY 4.0 lisansıyla sunuluyor.

API anahtarı nedir?

Bazı API’ler seni tanımak ister. Bunun için sana özel, şifre gibi bir metin verir: API anahtarı. İki kuralı unutma:

  • API anahtarını kimseyle paylaşma, kodunu GitHub’a yüklerken içinde bırakma.
  • Ücretli API’lerde anahtarın sızarsa, başkasının kullandığı her istek senin faturana yazılabilir.

Özetle

API, yazılımların birbirine sipariş verdiği garsondur. Uygulamalar her şeyi kendisi yapmak yerine, işinin uzmanı olan başka servislerden API aracılığıyla yardım alır. Python’la birkaç satırda sen de bu siparişi verebilirsin.

Kaynak: Open-Meteo belgeleri ve kullanım şartları


Hatice Özbolat | Teknoloji ve AI Rehberi sitesinden daha fazla şey keşfedin

Son gönderilerin e-postanıza gönderilmesi için abone olun.

Comments

Bir yanıt yazın