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ıkadres = "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 verdikveri = cevap.json() # gelen JSON'u Python sözlüğüne çevirdikprint("İ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?
requestskütüphanesini çağırdık. Colab’da hazır yüklü gelir.- Menüye bakıp siparişi hazırladık: hangi adres, hangi konum, hangi bilgi.
requests.getile isteği gönderdik.- Gelen cevabı
.json()ile Python’ın anlayacağı bir sözlüğe çevirdik. - İ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ı

Bir yanıt yazın