altinapi için resmi PHP SDK
Gerçek zamanlı altın fiyatları, döviz kurları, gümüş, platin, paladyum ve sarrafiye verisi — REST API ve WebSocket ile.
altinapi, Harem Altın ile aynı veri sağlayıcısından beslenir. Bu sayede uygulamanızda gösterdiğiniz fiyatlar, Harem Altın'da görünen fiyatlarla %100 örtüşür.
⚖️ Yasal not: altinapi bağımsız bir servistir. Harem Altın ile ortaklığı, iştiraki veya organik bir bağı yoktur. "Harem Altın" tescilli bir markadır; burada yalnızca veri kaynağının aynılığını belirtmek amacıyla karşılaştırma yapılmaktadır.
| altinapi | Diğer altın fiyat API'leri | |
|---|---|---|
| Veri kaynağı | Harem Altın ile aynı feed | Genelde LBMA / international ons |
| Sarrafiye desteği | ✅ Çeyrek, yarım, tam, ata, gremese | ❌ Yok |
| 22/14 ayar | ✅ Var | ❌ Yok |
| Gram altın (5/10/20/50/100 gr) | ✅ Var | ❌ Yok |
| Türk lirası pariteleri | ✅ 15+ döviz | |
| Gecikme | <1 saniye | 5-60 saniye (REST polling) |
| WebSocket | ✅ Socket.io | |
| Fiyatlandırma | $0 - $99/ay | $50 - $500/ay |
- 🥇 250+ sembol — Altın (gram & ons), gümüş, platin, paladyum, sarrafiye, döviz, parite
- ⚡ <1 saniye gecikme — Socket.io WebSocket ile anlık güncellemeler
- 🐘 PHP 8.0+ — Modern PHP, strict types, readonly properties
- 🌐 REST + WebSocket — Tek pakette
- 🪶 Guzzle + ElephantIO — İki kanıtlanmış bağımlılık
- ✅ PSR-4 — Composer ile bir komutta kurulum
composer require altinapi/altinapi<?php
require 'vendor/autoload.php';
use Altinapi\AltinapiClient;
$client = new AltinapiClient(['apiKey' => 'hapi_API_KEYINIZ']);
// Tüm fiyatlar (Harem Altın ile aynı veri)
$tumu = $client->getAllPrices();
echo "Toplam sembol: " . count($tumu['data']) . "\n";
// Kategori bazlı — sadece döviz
$doviz = $client->getPricesByCategory('DOVIZ');
foreach ($doviz['data'] as $f) {
echo "{$f['symbol']}: {$f['bid']} / {$f['ask']}\n";
}
// Tek sembol — gram altın
$altin = $client->getPrice('ALTIN');
echo "Altın: {$altin['bid']} – {$altin['ask']} TL/gram\n";
// Sarrafiye — çeyrek altın
$ceyrek = $client->getPrice('CEYREK_YENI');
echo "Çeyrek altın: {$ceyrek['bid']} – {$ceyrek['ask']} TL\n";<?php
require 'vendor/autoload.php';
use Altinapi\AltinapiClient;
$client = new AltinapiClient(['apiKey' => 'hapi_API_KEYINIZ']);
$client->on('connect', function () {
echo "✅ Bağlandı\n";
});
$client->on('prices:snapshot', function (array $fiyatlar) {
echo "İlk snapshot: " . count($fiyatlar) . " sembol\n";
});
$client->on('prices:update', function (array $guncellemeler) {
foreach ($guncellemeler as $f) {
// Harem Altın değişir değişmez sen de bilirsin
echo "{$f['symbol']}: {$f['bid']} / {$f['ask']}\n";
}
});
$client->on('data:stale', fn() => print("⚠️ Kaynak bağlantısı koptu\n"));
$client->on('data:live', fn() => print("✅ Kaynak bağlantısı geri geldi\n"));
$client->connect();
$client->subscribe(['USDTRY', 'ALTIN', 'CEYREK_YENI']);
$client->listen(60); // 60 saniye dinle
$client->disconnect();Not: PHP'de native event loop olmadığı için WebSocket dinleme
listen($saniye)ile bloklayıcı çalışır. Uzun süreli bir worker process için Supervisor, systemd veya benzeri bir process manager kullanın.
| Kategori | Açıklama | Örnekler |
|---|---|---|
DOVIZ |
Döviz kurları | USDTRY, EURTRY, GBPTRY, CHFTRY |
MADEN |
Değerli metaller | ALTIN, XAUUSD, GUMUSD, PLATIN, PALADYUM |
GRAM ALTIN |
Ağırlığa göre altın | 5 GR GRAM ALTIN, 10 GR GRAM ALTIN, ... |
SARRAFIYE |
Türk sarrafiye altınları | CEYREK_YENI, YARIM_YENI, TEK_YENI, ATA_YENI, AYAR22 |
PARITE |
Uluslararası pariteler | EURUSD, GBPUSD, USDJPY |
altinapi şu senaryolarda kullanılır:
- Laravel / Symfony backend'leri — Anlık altın ve döviz fiyatlarını veritabanına cache'leyip API endpoint'ten sunmak
- Kuyumcu yazılımları — Stok yönetiminde gerçek zamanlı altın fiyatı kullanmak
- WordPress eklentileri — Haber, finans, kuyumcu sitelerine canlı fiyat widget'ı
- Mağaza panelleri — Magento, OpenCart altın takı fiyat güncellemeleri
- Cron raporları — Günlük altın fiyat raporu / e-posta bülteni
- WhatsApp / Telegram botları — Twilio + altinapi ile fiyat bildirimi
- API gateway / mikroservis — Symfony Messenger ile event-driven fiyat akışı
| Parametre | Tip | Varsayılan | Zorunlu |
|---|---|---|---|
apiKey |
string | — | ✅ |
baseUrl |
string | https://altinapi.com/api/v1 |
|
socketUrl |
string | https://altinapi.com |
|
timeout |
float (sn) | 10.0 |
| Metot | Dönüş | Açıklama |
|---|---|---|
getAllPrices() |
array |
Tüm sembolleri getirir |
getPricesByCategory(string $c) |
array |
Kategori bazlı filtre |
getPrice(string $symbol) |
array |
Tek sembol fiyatı |
| Metot | Açıklama |
|---|---|
connect() |
Socket.io bağlantısı açar |
disconnect() |
Bağlantıyı kapatır |
subscribe(array $symbols) |
Belirli sembollere abone olur |
unsubscribe(array $symbols) |
Aboneliği iptal eder |
on(string $event, callable $h) |
Handler bağlar |
off(string $event, ?callable $h) |
Handler kaldırır |
listen(float $seconds) |
Bloklayıcı dinleme |
isConnected(): bool |
Bağlantı durumu |
| Event | Veri | Ne zaman |
|---|---|---|
connect |
— | Bağlantı kuruldu |
disconnect |
— | Bağlantı kapandı |
prices:snapshot |
array (Price list) |
Bağlantı anında — tüm güncel fiyatlar |
prices:update |
array (Price list) |
Fiyat değişiminde |
data:stale |
— | Kaynak bağlantısı koptu |
data:live |
— | Kaynak yeniden bağlandı |
connect_error |
\Throwable |
Bağlantı hatası |
use Altinapi\AltinapiClient;
use Altinapi\AltinapiError;
$client = new AltinapiClient(['apiKey' => 'hapi_xxx']);
try {
$client->getPrice('GECERSIZ');
} catch (AltinapiError $err) {
echo "[{$err->statusCode}] {$err->getMessage()}\n";
}| Kod | Anlamı |
|---|---|
401 |
API key eksik veya geçersiz |
403 |
Abonelik aktif değil |
404 |
Sembol veya kategori bulunamadı |
429 |
Rate limit aşıldı |
503 |
Kaynak bağlantısı kesildi (eski veri) |
| Plan | REST | WebSocket bağlantı |
|---|---|---|
| Ücretsiz Deneme | 30 / ay | — |
| Starter | 30 / dakika | — |
| Pro | 60 / dakika | 3 |
| Enterprise | Özel | 10 |
Çalıştırılabilir örnekler /examples klasöründe:
rest.php— REST API kullanımıwebsocket.php— gerçek zamanlı akış
ALTINAPI_KEY=hapi_xxx php examples/rest.php
ALTINAPI_KEY=hapi_xxx php examples/websocket.phpcomposer install
composer testHayır. altinapi bağımsız bir servistir. Harem Altın ile ortaklığı, iştiraki veya organik bir bağı yoktur. Fiyatlar birebir örtüşür çünkü aynı veri sağlayıcısından beslenir.
altinapi, "Harem Altın API'si" arayan geliştiriciler için bağımsız bir alternatif olarak konumlandırılır. Harem Altın'ın kendisi geliştiricilere açık resmi bir API sunmadığı için, aynı fiyat verisine ihtiyaç duyan uygulamalar altinapi'yi kullanır.
Doğrudan composer require altinapi/altinapi sonrası app/Services/AltinapiService.php içinde sarmalayabilir, AppServiceProvider üzerinden singleton olarak bind edebilirsiniz.
Fiyat değişikliklerinin sunucumuza ulaşması ile size iletilmesi arasındaki gecikme 1 saniyenin altındadır.
Şu an feed'imizde TCMB resmi kurları yer almıyor. İhtiyacınıza göre custom plan talep edebilirsiniz: support@altinapi.com
altinapi paketi şu aramalar için tasarlanmıştır:
altın fiyat API · altın fiyatları API · gram altın API · çeyrek altın API · sarrafiye API · döviz kuru API · döviz fiyat API · USDTRY API · EURTRY API · gerçek zamanlı altın fiyat · canlı altın fiyat API · Türkiye altın API · ons altın API · gümüş fiyat API · platin fiyat API · paladyum fiyat API · kuyumcu yazılımı API · altın takip uygulaması · Harem Altın benzeri API · Harem Altın alternatif API · Harem API · Türkiye finans API · PHP altın API · PHP gold API · Turkish gold price API · websocket altın akışı · Laravel altın API · Symfony altın API
Issue ve pull request'leriniz için: github.com/altinapi/altinapi-php
MIT © altinapi
- 🌐 Web sitesi: altinapi.com
- 📖 API Dokümantasyonu: altinapi.com/docs
- 🔑 Dashboard: altinapi.com/dashboard
- 📊 Durum: altinapi.com/status
- 💬 Destek: support@altinapi.com
Yasal Bildirim: altinapi bağımsız bir hizmettir. "Harem Altın" tescilli bir markadır ve bu pakette yalnızca veri kaynağının aynılığını belirtmek amacıyla — karşılaştırma ve bilgilendirme amaçlı (nominative fair use) — kullanılmıştır. Marka sahibi ile herhangi bir ortaklık, iştirak veya destekleme ilişkisi yoktur.