
AJAX ile sayfa yenilenmeden istek yapabildiğimizi öğrendik. Peki bu istekleri nereye yapıyoruz? Cevap: API'lere.
API terimi her yerde karşınıza çıkacak. İş ilanlarında, teknik dokümanlarda, geliştirici sohbetlerinde... Bu makalede API'nin ne olduğunu, nasıl çalıştığını ve neden bu kadar önemli olduğunu öğreneceksiniz.
API Ne Demek?
API, "Application Programming Interface" ifadesinin kısaltmasıdır. Türkçesiyle "Uygulama Programlama Arayüzü".
Tanım biraz soyut kaldı, değil mi? Bir benzetmeyle açıklayalım.
Garson Benzetmesi
Bir restorana gittiğinizi düşünün:
- Siz müşterisiniz (uygulama/kullanıcı)
- Mutfak yemeklerin hazırlandığı yerdir (sunucu/veritabanı)
- Garson siparişinizi alan ve yemeğinizi getiren kişidir (API)
Siz doğrudan mutfağa girip yemek yapamazsınız. Bunun yerine:
- Garsona ne istediğinizi söylersiniz
- Garson siparişi mutfağa iletir
- Mutfak yemeği hazırlar
- Garson yemeği size getirir
API de tam olarak bu işi yapar. Sizin (uygulamanızın) doğrudan veritabanına erişmenize izin vermez. Bunun yerine belirli kurallar çerçevesinde veri alıp vermenizi sağlar.
Web API'leri
Genel olarak API terimi çok geniş bir anlam taşır. Ancak web geliştiricileri "API" dediğinde genellikle Web API'lerini kasteder.
Web API'leri HTTP protokolü üzerinden çalışır. Yani:
- Belirli bir URL'e istek gönderirsiniz
- Karşılığında veri alırsınız (genellikle JSON formatında)
Örnek: Döviz Kuru API'si
Diyelim ki bir uygulama yapıyorsunuz ve güncel dolar kurunu göstermek istiyorsunuz. İki seçeneğiniz var:
Seçenek 1: Manuel Güncelleme Her gün kendiniz bakıp kodu güncellersiniz. Pratik değil, hatta imkansız.
Seçenek 2: API Kullanmak Bir döviz API'sine istek atarsınız, güncel kuru alırsınız. Otomatik, anlık, güvenilir.
İstek: https://api.doviz.com/kurlar/usd
Yanıt: { "birim": "USD", "alis": 32.45, "satis": 32.55 }İşte bu kadar basit. Bir URL'e istek yaptınız, veri aldınız.
Endpoint Kavramı
Endpoint, bir API'nin belirli bir işlevi yerine getiren URL'sidir. Her endpoint farklı bir veri veya işlem sunar.
Örnek: Kitap API'si
Bir kitap veritabanı API'si düşünelim:
| Endpoint | Ne Döndürür |
|---|---|
/kitaplar | Tüm kitapların listesi |
/kitaplar/42 | 42 numaralı kitabın detayları |
/yazarlar | Tüm yazarların listesi |
/yazarlar/7/kitaplari | 7 numaralı yazarın kitapları |
/kategoriler/roman | Roman kategorisindeki kitaplar |
Her endpoint bir kapı gibi. Hangi kapıyı çalarsanız, o kapının arkasındaki veriyi alırsınız.
API'ler Ne İşe Yarar?
1. Veri Almak (En Yaygın Kullanım)
Çoğu API, veri sağlamak için kullanılır:
- Hava durumu API'si: Şehir ver, hava durumu al
- Film API'si: Film adı ver, film bilgilerini al
- Harita API'si: Koordinat ver, adres al
- Haber API'si: Kategori ver, haberleri al
2. İşlem Yaptırmak
Bazı API'ler sadece veri vermez, sizin adınıza işlem de yapar:
- SMS API'si: Telefon numarası ve mesaj ver, SMS göndersin
- E-posta API'si: Alıcı ve içerik ver, mail atsın
- Ödeme API'si: Kart bilgileri ver, ödeme alsın
- Sosyal Medya API'si: İçerik ver, paylaşım yapsın
3. Kimlik Doğrulama
"Google ile Giriş Yap" veya "Facebook ile Devam Et" butonlarını görmüşsünüzdür. Bunlar da API üzerinden çalışır:
- Kullanıcı butona tıklar
- Google/Facebook API'sine istek gider
- Kullanıcı onay verir
- API, kullanıcı bilgilerini döndürür
- Siz bu bilgilerle kullanıcıyı sisteminize kaydedersiniz
Popüler API Örnekleri
Ücretsiz ve Eğlenceli API'ler
| API | Açıklama | Örnek Kullanım |
|---|---|---|
| JSONPlaceholder | Sahte veri | Test ve öğrenme |
| OpenWeatherMap | Hava durumu | Hava durumu uygulaması |
| OMDB | Film veritabanı | Film arama sitesi |
| NewsAPI | Haberler | Haber agregasyonu |
| PokéAPI | Pokemon verileri | Pokemon ansiklopedisi |
| REST Countries | Ülke bilgileri | Ülke bilgi kartları |
Büyük Şirketlerin API'leri
| Şirket | API'nin Yaptığı |
|---|---|
| Google Maps | Harita, konum, rota hesaplama |
| Twitter/X | Tweet okuma, yazma, arama |
| Spotify | Şarkı bilgileri, çalma listeleri |
| GitHub | Repo bilgileri, commit geçmişi |
| YouTube | Video bilgileri, arama |
| Stripe | Ödeme işlemleri |
API Dokümantasyonu
Her API'nin bir dokümantasyonu vardır. Bu dokümantasyon size şunları söyler:
- Hangi endpoint'ler mevcut?
- Her endpoint'e nasıl istek yapılır?
- Hangi parametreler gerekli?
- Yanıt formatı nasıl?
- Hata durumlarında ne döner?
Örnek Dokümantasyon
Endpoint: GET /api/urunler
Açıklama: Tüm ürünleri listeler
Parametreler:
- kategori (opsiyonel): Filtreleme için kategori adı
- limit (opsiyonel): Maksimum sonuç sayısı (varsayılan: 20)
- siralama (opsiyonel): "fiyat_artan" veya "fiyat_azalan"
Örnek İstek:
GET /api/urunler?kategori=elektronik&limit=10
Örnek Yanıt:
{
"toplam": 156,
"sayfa": 1,
"urunler": [
{ "id": 1, "ad": "Laptop", "fiyat": 15000 },
{ "id": 2, "ad": "Telefon", "fiyat": 8000 }
]
}API kullanmadan önce mutlaka dokümantasyonu okuyun. Her API farklıdır, varsayımda bulunmayın.
API Anahtarı (API Key)
Çoğu API, sizi tanımak için bir API anahtarı ister. Bu anahtarı kullanmanızın birkaç nedeni var:
- Kimlik belirleme: Kim istek yapıyor?
- Kullanım takibi: Ne kadar istek yaptınız?
- Kota uygulama: Ücretsiz planda günde 100 istek gibi
- Güvenlik: Kötüye kullanımı önleme
API Anahtarı Nasıl Kullanılır?
Genellikle üç yöntemden biri kullanılır:
1. URL'de Query String olarak:
https://api.ornek.com/veriler?api_key=abc123xyz2. Header olarak:
Authorization: Bearer abc123xyz3. İstek gövdesinde:
{
"api_key": "abc123xyz",
"veri": "..."
}Hangi yöntemin kullanılacağı dokümantasyonda belirtilir.
Ücretli vs Ücretsiz API'ler
Ücretsiz API'ler
- Genellikle sınırlı kullanım hakkı (günde 100 istek gibi)
- Temel özellikler
- Hobi projeleri için ideal
Ücretli API'ler
- Sınırsız veya yüksek limitli kullanım
- Gelişmiş özellikler
- Daha hızlı yanıt süreleri
- Teknik destek
- Ticari projeler için gerekli
Freemium Model
Çoğu API "freemium" model kullanır:
- Ücretsiz katman: Sınırlı ama başlangıç için yeterli
- Ücretli katmanlar: Artan limitler ve özellikler
API ile Web Sitesi Farkı
Aynı URL'e istek yaptığınızda farklı sonuçlar alabilirsiniz:
Web Sitesi Yanıtı (İnsanlar İçin)
https://haberler.com/gundemSonuç: HTML, CSS, JavaScript içeren tam sayfa. Renkler, düzen, menüler, reklamlar...
API Yanıtı (Kodlar İçin)
https://api.haberler.com/gundemSonuç: Sadece haber verileri içeren JSON. Başlıklar, özetler, tarihler...
Anahtar fark:
- Web sitesi insanların görmesi için tasarlanmış
- API uygulamaların kullanması için tasarlanmış
Özet
| Kavram | Açıklama |
|---|---|
| API | Uygulamaların birbiriyle iletişim kurmasını sağlayan arayüz |
| Web API | HTTP üzerinden çalışan API |
| Endpoint | API'nin belirli bir işlevi yerine getiren URL'si |
| API Key | Kimlik doğrulama için kullanılan özel anahtar |
| Dokümantasyon | API'nin nasıl kullanılacağını anlatan kılavuz |
Sırada Ne Var?
API'lerin ne olduğunu ve ne işe yaradığını öğrendik. Peki bu API'ler bize veriyi hangi formatta gönderiyor?
Bir sonraki makalede JSON formatını derinlemesine inceleyeceğiz.


