Gram altın fiyatı API ile nasıl çekilir?
GET https://api.hasfiyat.com/api/prices?source=harem&symbols=GRAM isteğini Authorization: Bearer başlığıyla gönderirsiniz. Yanıttaki data[].buy ve data[].sell alanları gram altının alış/satış fiyatını verir. Anlık güncelleme için WebSocket akışına (gold_prices olayı) bağlanırsınız.Hangi sembol gram altını verir?
İstekte symbols parametresine ihtiyacınız olan sembolleri virgülle verirsiniz. En sık kullanılan altın sembolleri:
| Sembol | Açıklama |
|---|---|
GRAM | Gram altın (24 ayar) |
HAS | Has altın |
CEYREK | Çeyrek altın |
YARIM / TAM | Yarım / Tam altın |
ONS | Ons altın (USD) |
USD / EUR | Döviz kurları |
source ile kaynak seçersiniz: harem, harem-canli, hakan, mayda, myakche, metal, nadir, anlik, saglamoglu, agora, fikri (11 kaynak; otomatik yük devretme).
Kod örnekleri
curl
curl 'https://api.hasfiyat.com/api/prices?source=harem&symbols=GRAM' \
-H 'Authorization: Bearer API_ANAHTARINIZ'
JavaScript (Node.js / fetch)
const res = await fetch(
'https://api.hasfiyat.com/api/prices?source=harem&symbols=GRAM',
{ headers: { Authorization: 'Bearer ' + process.env.HASFIYAT_API_KEY } }
);
const { data } = await res.json();
const gram = data.find(d => d.title.includes('GRAM'));
console.log('Gram altın satış:', gram.sell);
Python
import os, requests
r = requests.get(
"https://api.hasfiyat.com/api/prices",
params={"source": "harem", "symbols": "GRAM"},
headers={"Authorization": "Bearer " + os.environ["HASFIYAT_API_KEY"]},
)
gram = next(d for d in r.json()["data"] if "GRAM" in d["title"])
print("Gram altın satış:", gram["sell"])
PHP
$ch = curl_init('https://api.hasfiyat.com/api/prices?source=harem&symbols=GRAM');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('HASFIYAT_API_KEY')],
]);
$data = json_decode(curl_exec($ch), true)['data'];
echo $data[0]['sell'];
Anlık akış: WebSocket
Her saniye istek atmak yerine WebSocket akışına bağlanıp fiyat değiştiğinde anlık güncelleme alabilirsiniz:
import { io } from "socket.io-client";
const socket = io("wss://api.hasfiyat.com/stream", {
extraHeaders: { Authorization: "Bearer API_ANAHTARINIZ" }
});
socket.on("gold_prices", (payload) => {
// milisaniye gecikmeli canlı fiyatlar
console.log(payload);
});
TR sayı formatını parse etme
Fiyatlar Türk biçiminde döner (6.470,10 = 6470.10). Hesap yapmadan önce binlik ayıracını kaldırıp ondalık virgülü noktaya çevirin:
const toNumber = (s) => parseFloat(s.replace(/\./g, '').replace(',', '.'));
toNumber('6.470,10'); // 6470.1
Sıkça Sorulan Sorular
Gram altın fiyatını ücretsiz API ile çekebilir miyim?
Evet. Hasfiyat AltınAPI'nin ücretsiz başlangıç planıyla gram altın fiyatını /api/prices uç noktasından çekebilirsiniz.
Gram altın fiyatı ne sıklıkla güncellenir?
REST uç noktası her istekte güncel fiyatı döner; WebSocket akışı ise fiyat değiştikçe milisaniye gecikmeyle anlık güncelleme gönderir.
Hangi programlama dilleriyle gram altın çekebilirim?
curl ile her dilde; ayrıca Node.js, Python, PHP ve Go için resmi SDK'lar mevcuttur.
Kaynaklar
- Hasfiyat AltınAPI Dokümantasyonu
- Resmi SDK'lar — Node.js, Python, PHP, Go (GitHub)
- OpenAPI 3.1 Tanımı (openapi.json)
- AltınAPI — Gerçek zamanlı REST + WebSocket akışı
API Dokümanlarını Aç