Geliştirici Araçları
453 Bin Yıldızlı Tek Dosya: public-apis ile Ücretsiz API Bulmak
GitHub’ın en çok yıldızlanan repolarından biri aslında tek bir README. 51 kategoride ~1.625 ücretsiz API, Auth/HTTPS/CORS kolonlarıyla nasıl doğru okunur ve projede nasıl kullanılır?
Bir projeye başlarken en çok vakit kaybettiren şeylerden biri veri bulmak. Hava durumu göstermek, döviz kuru çekmek, bir film veritabanına bağlanmak, test için sahte kullanıcı üretmek… Hepsi için birinin çoktan bir servis yazmış olma olasılığı çok yüksek.
public-apis tam olarak bunun listesi. GitHub’da 453 binden fazla yıldızla platformun en çok yıldızlanan projelerinden biri — ve ilginç olan şu: içinde çalıştırdığın bir uygulama yok. Repo, esasen özenle bakımı yapılan tek bir README dosyası.
Repo tam olarak ne?
Kendi tanımıyla “ücretsiz API’lerin kolektif listesi”. Mart 2016’da açılmış ve o günden beri topluluk tarafından güncelleniyor. MIT lisanslı, yani listeyi kendi projene kopyalamak, türetmek veya işlemek konusunda bir engel yok.
| Özellik | Değer |
|---|---|
| Yıldız | ~453.500 |
| Fork | ~50.000 |
| Açılış tarihi | Mart 2016 |
| Lisans | MIT |
| Varsayılan dal | master |
| Kategori sayısı | 51 |
| Listelenen API sayısı | ~1.625 |
Rakamlar Temmuz 2026 itibarıyla. Yıldız sayısı repo hakkında bir şey söylüyor ama asıl mesele yapı: liste rastgele bir link yığını değil, taranabilir bir tablo.
Liste nasıl organize edilmiş?
README’nin başında bir “Index” bölümü var; buradan doğrudan kategoriye atlıyorsun. Kategoriler alfabetik ve oldukça geniş bir alanı kapsıyor:
- Veri ve içerik: Animals, Anime, Books, Dictionaries, News, Open Data, Photography, Video, Music
- Finans: Finance, Cryptocurrency, Currency Exchange, Blockchain, Shopping
- Altyapı ve geliştirme: Development, Programming, Continuous Integration, Cloud Storage & File Sharing, Test Data, Data Validation
- Konum ve ulaşım: Geocoding, Transportation, Vehicle, Weather, Environment
- Kurumsal ve kamu: Business, Government, Patent, Jobs, Calendar, Documents & Productivity
- Güvenlik ve kimlik: Authentication & Authorization, Anti-Malware, Security
- Diğer: Machine Learning, Text Analysis, Health, Science & Math, Sports & Fitness, Social, Games & Comics, Food & Drink, Events, Email, Phone, Personality, Tracking, URL Shorteners, Art & Design, Entertainment, Open Source Projects
Asıl değer: dört kolon
Her kategori bir Markdown tablosu ve her satırda şu kolonlar var: API adı (linkli), açıklama, Auth, HTTPS, CORS. Listeyi diğer “awesome” listelerinden ayıran şey bu üç teknik kolon.
| Kolon | Ne anlama geliyor | Neden önemli |
|---|---|---|
| Auth | apiKey, OAuth, X-Mashape-Key veya boş (kimlik doğrulama yok) | Boşsa anahtar almadan hemen denersin; OAuth ise ciddi bir entegrasyon işi demektir |
| HTTPS | Yes / No | No ise tarayıcıdan çağıramazsın; modern tarayıcılar karışık içeriği engeller |
| CORS | Yes / No / Unknown | No ise frontend’den doğrudan çağıramazsın, arada bir sunucu katmanı gerekir |
Projede nasıl kullanılır?
- 1İhtiyacın olan veriyi bir kategoriye çevir; “kullanıcı avatarı üretmem lazım” gibi bir ihtiyaç genelde Test Data veya Photography altındadır.
- 2Index’ten kategoriye atla ve tabloyu CORS kolonuna göre tara.
- 3Aday API’nin kendi dokümantasyonunu aç; listedeki bilgi özet, güncel limitler her zaman kaynakta.
- 4Ücretsiz katmanın kotasını kontrol et — “free” listede olması sınırsız demek değil.
- 5Anahtar gerekiyorsa ortam değişkeni olarak sakla, repoya commit etme.
- 6Prototipi kur, sonra üretime almadan önce servisin uptime ve kullanım şartlarını bir kez daha oku.
Listeye katkı vermek
Repo topluluk odaklı çalışıyor: CONTRIBUTING.md içindeki formatı takip ederek yeni bir API ekleyip pull request açıyorsun. Repoda ayrıca bir scripts/ klasörü ve GitHub Actions yapılandırması var; format ve bağlantı kontrolleri otomatik yürüyor.
Neden bu repo bu kadar işe yarıyor?
Çünkü tek bir kararı iyi vermiş: yapıyı sabit tutmak. Kategori, açıklama ve üç teknik kolon dışında hiçbir şey eklemiyor. Bu yüzden hem insan gözüyle taranabiliyor hem de makineyle işlenebiliyor — üstüne kendi arama arayüzünü, CLI aracını veya ajanına verebileceğin bir veri kaynağını kurabilirsin.
Ben bu listeyi genelde iki yerde kullanıyorum: hızlı prototiplerde veri kaynağı bulmak için ve bir ajana “şu kategorideki API’leri karşılaştır, CORS destekleyenleri getir” gibi bir görev verirken başlangıç noktası olarak.