JavaScript Altın Fiyatı API Örneği
JavaScript ile altın fiyatı almak için ücretsiz API anahtarınızla tek bir fetch isteği yeterlidir: servis bütün sitelere açık olduğu için tarayıcıdan doğrudan çağrılabilir. Aşağıdaki örnekler kopyalanıp olduğu gibi çalıştırılabilir.
Tarayıcıda Fiyat Gösterme
Sayfanıza fiyatın yazılacağı öğeleri ve (isteğe bağlı) kaynak bağlantısını ekleyin:
<p>Gram altın: <span id="gram">…</span> ₺</p>
<p>Çeyrek altın: <span id="ceyrek">…</span> ₺</p>
<p>Dolar: <span id="dolar">…</span> ₺</p>
<p>Kaynak: <a href="https://hesaplialtin.com/">Hesaplı Altın</a></p>
Aşağıdaki betik fiyatları ilk açılışta ve sonra dakikada bir günceller. Değerler textContent ile yazılır; innerHTML kullanmayın. Örneklerdeki ANAHTARINIZ yerine ücretsiz API anahtarınızı yazın; anahtar X-API-Key başlığıyla ya da ?anahtar= parametresiyle gönderilir. Tarayıcıdaki anahtar ziyaretçilere görünür; sınır anahtar başına olduğundan çok ziyaretçili sitede fiyatı sunucunuzda çekin.
const ADRES = 'https://hesaplialtin.com/api/v1/public-prices';
const ANAHTAR = 'ANAHTARINIZ';
const ALANLAR = { gram: 'GRAM_ALTIN_TRY', ceyrek: 'CEYREK_YENI_TRY', dolar: 'USD_TRY' };
const bicim = (x) => x == null ? '—' : x.toLocaleString('tr-TR', { minimumFractionDigits: 2, maximumFractionDigits: 2 });
async function guncelle() {
try {
const r = await fetch(ADRES, { headers: { 'X-API-Key': ANAHTAR } });
if (!r.ok) return; // 503: veri hazır değil; 401/429: anahtar ya da sınır (yanıttaki aciklama alanı)
const d = await r.json();
for (const [id, kod] of Object.entries(ALANLAR)) {
document.getElementById(id).textContent = bicim(d.kalemler[kod]?.satis);
}
} catch (e) {
console.warn('Fiyat alınamadı', e);
}
}
guncelle();
setInterval(guncelle, 60_000);
Node.js ile
Node.js 18 ve üzeri fetch'i hazır içerir. Aşağıdaki kod bütün altın kalemlerini tablo olarak yazar (dosyayı .mjs uzantısıyla kaydedin, anahtarı HESAPLI_ALTIN_ANAHTAR ortam değişkenine koyun):
const r = await fetch('https://hesaplialtin.com/api/v1/public-prices', {
headers: { 'X-API-Key': process.env.HESAPLI_ALTIN_ANAHTAR },
});
if (!r.ok) throw new Error('HTTP ' + r.status);
const { updatedAt, piyasa, kalemler } = await r.json();
console.log('Güncelleme:', updatedAt, '· piyasa:', piyasa);
console.table(
Object.entries(kalemler)
.filter(([kod]) => kod.includes('ALTIN') || kod.startsWith('CEYREK'))
.map(([kod, k]) => ({ kod, ad: k.etiket, alis: k.alis, satis: k.satis, degisim24s: k.degisim24s }))
);
Sunucunuzdan çok sayıda ziyaretçiye fiyat gösteriyorsanız her ziyaret için API'ye gitmeyin: yanıtı bellekte 15–60 saniye tutup oradan verin. Fiyat değiştiği anda veri almak için canlı akış kılavuzuna, geçmiş seri için geçmiş fiyatlar kılavuzuna bakın.
Sık Yapılan Hatalar
- Alan adları küçük harfle ve Türkçe karakter olmadan yazılır:
satis,alis,degisim24s. degisim24snullolabilir; ekrana yazmadan önce kontrol edin.- Fiyatlar sayı olarak gelir;
toFixedyerinetoLocaleString('tr-TR')kullanırsanız binlik ayırıcı ve virgül Türkçe olur. - Kalem o an yanıtta yoksa
d.kalemler[kod]undefinedolur;?.ile erişin.
Kullanım Koşulu
API'yi kullanmak için ücretsiz bir API anahtarı gerekir; anahtar her istekte X-API-Key başlığıyla ya da ?anahtar= parametresiyle gönderilir. 13 Ekim 2026 tarihine kadar anahtarsız istekler de yanıtlanır (yanıtta ek uyari alanı ve Warning başlığı bulunur); bu tarihten sonra anahtarsız istek 401 alır. Sınırlar anahtar başınadır: dakikada 60 istek (anlık fiyat ve geçmiş seri toplamı) ve aynı anda en çok 5 canlı akış bağlantısı; aşılınca 429 döner. Anahtar tek bir site ya da uygulama içindir ve başkasıyla paylaşılmaz; koşullara uyulmadığında ya da kötüye kullanımda anahtar kapatılabilir. Kaynak bağlantısı şart değildir; veriyi gösterdiğiniz sayfada "Kaynak: Hesaplı Altın" bağlantısı (https://hesaplialtin.com/) verirseniz dakika sınırınız iki katına çıkar. Servisi 5 saniyeden sık sorgulamayın; yoğun kullanımda kendi sunucunuzda önbellek tutun. Fiyatlar Kapalıçarşı ve serbest piyasa fiyatlarından hesaplanır, bilgi amaçlıdır ve alım satım teklifi değildir. Veri olduğu gibi sunulur; doğruluk ve kesintisiz erişim garantisi verilmez, servis önceden haber verilmeden değiştirilebilir ya da durdurulabilir ve aşırı kullanımda erişim sınırlanabilir. Kod yazmadan fiyat göstermek isterseniz hazır fiyat kutusunu kullanabilirsiniz.
Diğer Kılavuzlar
Fiyatları nasıl hesaplıyoruz? · Sitene altın fiyatı ekle · Altın hesaplama kutusu · Kapalıçarşı altın fiyatları