Bu üç API, yan proje listelerinde sürekli karşınıza çıkar ve haklı bir sebebi vardır: ücretsizdirler, anlaşılır veri sunarlar ve üzerlerine güzel görünen bir arayüz kurmak kolaydır.
Ancak "öğrenmek için harika" ile "ürün kurulabilir" arasında bir fark vardır. Bu yazı her birinin gerçekte ne verdiğini, nerede yetersiz kaldığını ve Türkiye'den geliştirenler için hangi ek sınırların devreye girdiğini anlatıyor.
Hızlı karşılaştırma
| API | Kapsam | Kimlik doğrulama | Türkçe içerik | Görsel |
|---|---|---|---|---|
| MusicBrainz | Sanatçı, albüm, parça künyesi | Anahtar yok, user agent zorunlu | Kısmen | Kapak görseli ayrı serviste |
| TheMealDB | Yemek tarifleri | Geliştirme anahtarı | Çok sınırlı | Var |
| TheCocktailDB | Kokteyl tarifleri | Geliştirme anahtarı | Yok | Var |
MusicBrainz — müziğin açık künye veritabanı
MusicBrainz, müzik künyesi için açık ve topluluk tarafından yönetilen bir veritabanıdır. Sanatçılar, albümler, parçalar, yayın tarihleri, plak şirketleri ve bunlar arasındaki ilişkileri içerir.
Öne çıkan yanı veri modelinin ciddiyetidir. Bir "sanatçı" ile bir "yayın" ve bir "kayıt" ayrı kavramlardır; aynı şarkının farklı albümlerdeki farklı yayınları ayrı ayrı modellenir. Müzik verisiyle gerçekten çalışacaksanız bu ayrımlar önemlidir ve başka yerde bu netlikte bulamazsınız.
Kritik bir sınırı vardır ve baştan bilinmelidir: MusicBrainz ses dosyası vermez. Bir künye veritabanıdır. Şarkı çalmak, önizleme sunmak veya akış yapmak istiyorsanız bunun için ayrı ve lisanslı bir kaynağa ihtiyacınız var. MusicBrainz o kaynakla eşleştirmek için mükemmel bir kimlik altyapısı sunar, içeriğin kendisini değil.
Kapak görselleri de ayrı bir serviste (Cover Art Archive) durur ve MusicBrainz kimlikleri üzerinden erişilir. Albüm kapağı göstermek istiyorsanız bu ikinci adımı planlayın.
Kullanım kurallarına saygı göstermek burada özellikle önemlidir. Anahtar istemezler ama isteklerinizde uygulamanızı ve iletişim bilgisini içeren bir user agent göndermenizi beklerler ve oran sınırı uygularlar. Kendini tanıtmayan yoğun trafik engellenir. Bu, gönüllü emekle ayakta duran bir projeye karşı yükümlülüğünüzdür.
Türk müziği kapsamı topluluk katkısına bağlıdır. Tanınmış sanatçılar ve albümler genellikle kayıtlıdır; yerel, bağımsız veya eski yayınlarda boşluklar bulabilirsiniz. Eksik kayıtları eklemek mümkündür ve uzun vadede kendi uygulamanızın veri kalitesini de artırır.
TheMealDB — tarif verisinin giriş kapısı
TheMealDB, yemek tarifleri sunar: malzemeler, ölçüler, hazırlık adımları, kategori, kaynak mutfak ve görsel.
Yapısı öğrenmek için idealdir. Rastgele tarif, kategoriye göre listeleme, malzemeye göre arama gibi uç noktalar hazırdır; bir "bugün ne pişirsem" uygulamasını bir öğleden sonrada kurabilirsiniz.
Veri yapısında bilinmesi gereken bir tuhaflık vardır: malzemeler ve ölçüler dizi olarak değil, numaralandırılmış ayrı alanlar olarak gelir. Yani strIngredient1, strIngredient2 şeklinde devam eder ve kullanılmayanlar boş kalır. İlk kez karşılaşan geliştiriciler bunu diziye çevirmeyi unutup arayüzde boş satırlar gösterir. Ayrıştırma sırasında boş alanları eleyin.
Türkiye açısından en önemli nokta kapsamdır. Veritabanında sınırlı sayıda Türk yemeği bulunur ve bu, Türk mutfağının genişliğini yansıtmaz. Türkiye odaklı bir yemek uygulaması kuruyorsanız bu API'yi ana kaynak yapmayın. İki makul kullanım vardır: dünya mutfaklarını gösteren bir keşif özelliği için tamamlayıcı kaynak olarak, ya da kendi tarif veritabanınızı kurarken veri modeli örneği olarak.
Ölçü birimleri de yerelleştirilmemiştir. Kupalar, ons ve pound gibi birimler geçebilir. Türkçe arayüzde bunları metrik sisteme çevirmek gerekir ve bu dönüşüm tahmin ettiğinizden fazla özel durum içerir — "1 cup un" ile "1 cup süt" farklı gramajlara karşılık gelir.
TheCocktailDB — aynı yapı, farklı içerik
TheCocktailDB, TheMealDB ile aynı ekip tarafından yürütülür ve neredeyse aynı yapıyı kullanır. Kokteyl tarifleri, malzemeler, bardak tipi ve hazırlık talimatları sunar.
Aynı yapıyı paylaşmaları pratik bir avantajdır: birini entegre ettiyseniz diğeri neredeyse hiç ek iş çıkarmaz. Numaralandırılmış malzeme alanları dahil aynı tuhaflıklar burada da geçerlidir.
Alkollü ve alkolsüz filtresi mevcuttur ve bu, Türkiye'deki bir uygulama için doğrudan işe yarar. Alkolsüz içecek odaklı bir ürün kuruyorsanız bu filtreyi varsayılan yapabilirsiniz. Uygulamanız alkollü içerik gösterecekse, yayımladığınız platformların içerik kuralları ve yaş sınırı politikalarını da hesaba katın.
Ücretsiz katman ve geliştirme anahtarı
TheMealDB ve TheCocktailDB'nin ortak bir modeli vardır: dokümantasyonda paylaşılan bir test anahtarı ile hemen denemeye başlayabilirsiniz, ancak bu anahtar geliştirme amaçlıdır.
Bu ayrımı ciddiye alın. Test anahtarıyla üretime çıkmak, hem sınırlı özelliklere takılmanıza hem de servisin politika değişikliğinde uygulamanızın durmasına yol açar. Ürününüz gerçek kullanıcıya çıkacaksa destekçi planına geçmek hem doğru hem de projeye katkı vermenin yolu.
MusicBrainz'de anahtar kavramı yoktur ama oran sınırı vardır ve saniye bazındadır. Toplu veri çekmeniz gerekiyorsa, API'yi döngüde çağırmak yerine yayımladıkları veri dökümlerini indirmek hem sizin için hızlı hem de servis için doğru davranıştır.
Bu API'lerle gerçekten ne kurulabilir?
Dürüst cevap şudur: bu üçü, üzerine gelir modeli kurulacak veri kaynakları değildir. Kapsamları sınırlı, güncelleme temposu düşük ve içerik hakları karmaşıktır.
Buna karşılık üç şey için gerçekten değerlidirler.
Öğrenmek için. Bir arayüz kütüphanesi denemek, arama ve filtreleme kurmak, cache mantığı yazmak için ideal veri setleridir. Karmaşık kimlik doğrulama olmadan gerçek veriyle çalışırsınız.
Portföy projesi için. İşveren veya müşteriye gösterilecek bir çalışma yaparken, tanıdık ve görsel olarak zengin veri işinizi kolaylaştırır.
Tamamlayıcı özellik için. Ana ürününüz başka bir şeyse ve küçük bir keşif özelliği eklemek istiyorsanız — örneğin bir sosyal uygulamada "günün tarifi" — bu API'ler tam ölçüsündedir.
Benzer ölçekteki diğer eğlenceli kaynaklar için yan projeler için eğlenceli API'ler yazısına bakabilirsiniz.
Lisans ve içerik hakları
Ücretsiz erişim ile serbest kullanım aynı şey değildir ve bu kategoride ayrım özellikle bulanıktır.
MusicBrainz verisi açık lisanslarla sunulur, ancak veri kümesinin farklı bölümleri farklı lisanslara tabi olabilir. Ticari bir üründe kullanacaksanız hangi bölümü kullandığınızı ve o bölümün lisansını netleştirin.
TheMealDB ve TheCocktailDB'de tarif metinleri ve görseller çeşitli kaynaklardan derlenmiştir. Bir API'nin size erişim vermesi, içeriğin telif haklarını size devrettiği anlamına gelmez. Görselleri kendi sunucunuza kopyalayıp yeniden yayımlamak, API'den göstermekten farklı bir risk taşır.
Her üç serviste de kaynak belirtmek hem koşulların gereği hem de doğru davranıştır.
Bu yazıdaki kapsam ve koşul bilgileri yayın tarihindeki resmi dokümantasyona dayanır. Topluluk kaynaklı servislerde koşullar değişebildiği için, ticari kullanımdan önce güncel sayfaları kontrol edin.
İlgili API Deposu kayıtları
Kaynaklar
Sık Sorulan Sorular
›Bu API'ler anahtar gerektiriyor mu?
MusicBrainz anahtar istemez ancak isteklerinizde kendinizi tanıtan bir user agent göndermenizi ve oran sınırına uymanızı bekler. TheMealDB ve TheCocktailDB'nin test amaçlı bir geliştirme anahtarı vardır; üretim kullanımı için destekçi anahtarı beklenir.
›Türk yemekleri TheMealDB'de var mı?
Sınırlı sayıda Türk yemeği bulunur ve kapsam Türk mutfağının genişliğini yansıtmaz. Türkiye odaklı bir yemek uygulaması kuruyorsanız bu API'yi ana veri kaynağı olarak değil, tamamlayıcı veya ilham kaynağı olarak düşünmelisiniz.
›MusicBrainz'de Türk müziği kapsamı nasıl?
MusicBrainz topluluk katkısıyla büyür, bu yüzden kapsam popülerliğe göre değişir. Tanınmış Türk sanatçılar ve albümler genellikle kayıtlıdır; niş veya yerel yayınlarda eksikler bulunabilir. Eksik bulduğunuz kayıtları siz de ekleyebilirsiniz.
›Şarkı dosyası veya önizleme sesi alabilir miyim?
Hayır. MusicBrainz bir künye veritabanıdır; ses dosyası veya akış sunmaz. Sanatçı, albüm ve parça bilgisi verir. Ses için ayrı bir lisanslı kaynak gerekir.
›Bu API'leri ticari projede kullanabilir miyim?
Koşullar farklıdır. MusicBrainz verisi açık lisanslarla sunulur ancak lisans türü veri kümesine göre değişir. TheMealDB ve TheCocktailDB ticari kullanımı destekçi planına bağlar. Her birinin güncel koşullarını yayımlamadan önce okuyun.