Yatırım tavsiyesi değildir. Tüm rakamlar TEFAS'ın halka açık verisinden üretilmiştir; kararların sorumluluğu sana aittir.
FinolojifinolojiFonun ötesinde: tüm finans tek yerde.BIST · KRİPTO · DÖVİZ · ALTIN · TEMETTÜBIST 10010.842,63 +1,24%Finoloji'yi Aç →
geliştiriciler için

REST API
dokümanı

JSON yanıt, kararlı URL şeması, nazik rate limit başlıkları. AI özeti ve PNG görseller dahil — hepsi tek anahtarla. Kayıt olun, 2 dakikada uygulamanıza bağlayın.

Ücretsiz plan var · 15.000 istek/ay, kredi kartı gerekmiyor
Basit auth

X-API-Key başlığı. JWT/OAuth karmaşası yok.

Düşük gecikme

Türkiye edge sunucusu — p95 <50ms.

PNG görseller

Portföy + heatmap görselleri cache'lenmiş, anlık servise hazır.

AI özetler

DeepSeek tarafından üretilmiş Türkçe fon özetleri.

Fonoloji API fon verisine odaklanır — hisse piyasa verisi sunulmaz. Yurt içi (BIST) ve yurt dışı hisseler için canlı fiyat, günlük % değişim, önceki kapanış, hacim ve fiyat/mum grafiği alanları döndürülmez. Bu, kısmen Borsa İstanbul Veri Dağıtım Sözleşmesi'nin yeniden dağıtım (redistribution) kısıtından, kısmen de ürün odağından kaynaklanıyor. Fon portföyündeki hisse kalemlerinde kod, isim ve ağırlık görünür; piyasa fiyatı görünmez. Fon verileri (NAV dahil) etkilenmez.

Hızlı başlangıç

Ortam değişkenini ayarla ve çağır.

cURL
export KEY="fon_..."
curl -H "X-API-Key: $KEY" \
  "https://fonoloji.com/v1/funds/PHE"
Node (fetch)
const res = await fetch(
  "https://fonoloji.com/v1/funds/PHE",
  { headers: { "X-API-Key": process.env.FONOLOJI_KEY } }
);
const fund = await res.json();
Python
import os, requests
key = os.environ["FONOLOJI_KEY"]
r = requests.get(
  "https://fonoloji.com/v1/funds/PHE",
  headers={"X-API-Key": key},
)
print(r.json())

Örnek yanıtlar

Tüm endpoint'ler JSON döner. Tarihler ISO-8601, parasal değerler TL cinsinden.

GET /funds/PHE
{
  "fund": {
    "code": "PHE",
    "name": "PUSULA PORTFÖY HİSSE SENEDİ FONU (HİSSE SENEDİ YOĞUN FON)",
    "type": "YAT",
    "category": "Hisse Senedi Şemsiye Fonu",
    "management_company": "Pusula Portföy Yönetimi A.Ş.",
    "isin": "TRYPSLP00010",
    "risk_score": 6,
    "trading_status": "AKTİF",
    "trading_start": "09:00",
    "trading_end": "17:00",
    "buy_valor": 1,
    "sell_valor": 2,
    "current_price": 2.816142,
    "current_date": "2026-04-30",
    "return_1d": -0.000586,
    "return_1w": -0.00501,
    "return_1m": 0.091457,
    "return_3m": 0.512178,
    "return_6m": 1.230964,
    "return_1y": 1.670785,
    "return_ytd": 0.946855,
    "real_return_1y": 1.040792,
    "volatility_90": 0.174613,
    "sharpe_90": 7.9141,
    "sortino_90": 12.8878,
    "calmar_1y": 6.39,
    "beta_1y": 1.0017,
    "max_drawdown_1y": -0.172801,
    "ma_30": 2.672913,
    "ma_90": 2.15306,
    "ma_200": 1.67323,
    "aum": 36522590809.75,
    "investor_count": 90471,
    "first_seen": "2024-04-09",
    "last_seen": "2026-05-01",
    "kap_url": "https://www.kap.org.tr/tr/fon-bilgileri/genel/phe-..."
  },
  "portfolio": {
    "code": "PHE",
    "date": "2026-04-22",
    "stock": 79.18,
    "government_bond": 0,
    "treasury_bill": 0,
    "corporate_bond": 0,
    "eurobond": 0,
    "gold": 0,
    "cash": 0,
    "other": 20.82
  }
}
GET /funds/PHE/history?period=1y
{
  "code": "PHE",
  "period": "1y",
  "points": [
    {
      "date": "2025-05-02",
      "price": 1.036193,
      "total_value": 0,
      "investor_count": 632
    },
    {
      "date": "2025-05-05",
      "price": 1.047051,
      "total_value": 0,
      "investor_count": 619
    },
    ...
    {
      "date": "2026-04-29",
      "price": 2.817793,
      "total_value": 36522590809.75,
      "investor_count": 90471
    },
    {
      "date": "2026-04-30",
      "price": 2.816142,
      "total_value": null,
      "investor_count": null
    }
  ]
}
GET /funds/PHE/ai-summary
{
  "code": "PHE",
  "summary": "Pusula Portföy Hisse Senedi Fonu, son 1 yılda nominal %167.1, reel olarak ise %104.1 getiri sağladı. Portföyün %79'u hisse senedinden oluşuyor, bu da fonun hisse senedi yoğun kategorisiyle uyumlu. Sharpe oranı 7.91 ve volatilitesi %17.5 seviyesinde, bu da yüksek getiriyle birlikte görece makul bir risk profili olduğunu gösteriyor. Maksimum değer kaybı %17.3 olarak gerçekleşti. Fonun toplam yönetilen varlığı 36.52 milyon TL seviyesinde bulunuyor.",
  "cached": true,
  "model": "gpt-4.1-mini",
  "generated_at": 1777632746304
}
GET /funds/XYZ/holdings-image (cache miss)
// HTTP 503 — görsel henüz cache'te değil
{
  "error": "Görsel henüz hazırlanmadı",
  "message": "Bu fon için görsel cache boş. Birkaç dakika sonra tekrar deneyin veya tarayıcıdan https://fonoloji.com/fon/PHE adresini ziyaret ederek cache'i ısıtın.",
  "retryAfterSeconds": 60
}

Görsel ve AI endpoint'leri

Portföy görselleri, ısı haritası PNG'leri ve AI fon özetleri hazır cache'ten servis edilir — API üzerinden sıfırdan üretim yapılmaz. Bir fonun cache'i hazırsa anlık (x-cache: HIT) yanıt alırsın; hazır değilse 503 Service Unavailable + Retry-After: 60 döner. Cache, fonun sayfası site üzerinden ziyaret edildiğinde otomatik ısınır.

Fon portföy görseli
https://fonoloji.com/v1/funds/PHE/holdings-image?variant=v6

Variants: v3 (poster), v4 (radial), v5 (sınıf), v6 (değişim defteri — önceki ay diff).

Fon ısı haritası
https://fonoloji.com/v1/funds/PHE/heatmap-image?period=daily

period=daily | monthly | quarterly. Günlük cache, gece yenilenir.

AI fon özeti
https://fonoloji.com/v1/funds/PHE/ai-summary

DB'den okur; yoksa 404. Türkçe 3-5 cümle özet.

görseli kaydet
curl -H "X-API-Key: $KEY" -o phe-portfoy.png \
  "https://fonoloji.com/v1/funds/PHE/holdings-image?variant=v6"

# Yanıt başlıkları:
# Content-Type: image/png
# X-Cache: HIT
# Cache-Control: public, max-age=3600, s-maxage=86400

Endpoint'ler

Base URL: https://fonoloji.com/v1 · Kimlik: X-API-Key başlığı veya ?api_key= query parametresi

Fonlar

Fon listesi / tarama — filtre, sıralama, sayfalama (q, category, type, sort, dir, limit) · status=new|archived

Tam URL
https://fonoloji.com/v1/funds
cURL
curl -H "X-API-Key: $KEY" \
  "https://fonoloji.com/v1/funds"

Fonun kimliği + güncel metrikleri (NAV, getiriler, risk, AUM, yatırımcı sayısı)

Tam URL
https://fonoloji.com/v1/funds/PHE
cURL
curl -H "X-API-Key: $KEY" \
  "https://fonoloji.com/v1/funds/PHE"

Zaman serileri — include=nav,drawdown,monthly,benchmark,allocation-history

Tam URL
https://fonoloji.com/v1/funds/PHE/timeseries
cURL
curl -H "X-API-Key: $KEY" \
  "https://fonoloji.com/v1/funds/PHE/timeseries"

Portföy — include=allocation,holdings,dates,fundamentals,analysts

Tam URL
https://fonoloji.com/v1/funds/PHE/portfolio
cURL
curl -H "X-API-Key: $KEY" \
  "https://fonoloji.com/v1/funds/PHE/portfolio"

Analizler — include=summary,percentile,advanced,estimate,estimate-accuracy,gold,heatmap,disclosures

Tam URL
https://fonoloji.com/v1/funds/PHE/analysis
cURL
curl -H "X-API-Key: $KEY" \
  "https://fonoloji.com/v1/funds/PHE/analysis"

3, 4 ve 5 numaralı uçlar ?include= ile blok seçtirir — örn. /funds/PHE/timeseries?include=nav,drawdown. Birden fazla blok tek istekte gelir ve tek fon kaydı kotası düşer.

Eski tekil fon uçları çalışmaya devam ediyor. /history, /holdings, /ai-summary gibi eski uçlar belgelerden kaldırıldı ama mevcut entegrasyonlar için süresiz açık kalıyor — daha önce duyurulan 15 Ağustos 2026 kapanışı iptal edildi. Yeni geliştirmelerde yine de yukarıdaki 5'li uçları öneriyoruz: aynı veriyi tek istekte, tek fon-kaydı kotasıyla verir.

Toplu indirme

Fon-metrik tablosu CSV (saatte 5 istek)

Tam URL
https://fonoloji.com/v1/funds.csv
cURL
curl -H "X-API-Key: $KEY" \
  "https://fonoloji.com/v1/funds.csv"

Sadece TEFAS kodları (saatte 5 istek)

Tam URL
https://fonoloji.com/v1/funds/codes
cURL
curl -H "X-API-Key: $KEY" \
  "https://fonoloji.com/v1/funds/codes"

Görseller

Portföy dağılım görseli (PNG)

Tam URL
https://fonoloji.com/v1/funds/PHE/holdings-image
cURL
curl -H "X-API-Key: $KEY" \
  "https://fonoloji.com/v1/funds/PHE/holdings-image"

PNG döner. Cache'te yoksa 503 + Retry-After; ısınması için /fon/<kod> sayfası bir kez ziyaret edilmeli.

Performans haritası görseli (PNG)

Tam URL
https://fonoloji.com/v1/funds/PHE/heatmap-image
cURL
curl -H "X-API-Key: $KEY" \
  "https://fonoloji.com/v1/funds/PHE/heatmap-image"

PNG döner. Cache'te yoksa 503 + Retry-After; ısınması için /fon/<kod> sayfası bir kez ziyaret edilmeli.

İstatistik & İçgörü

Günün fon piyasası özeti (kazandıranlar, kaybettirenler, agregat)

Tam URL
https://fonoloji.com/v1/summary/today
cURL
curl -H "X-API-Key: $KEY" \
  "https://fonoloji.com/v1/summary/today"

Kategori istatistikleri (1Y ortalama getiri sıralı)

Tam URL
https://fonoloji.com/v1/categories
cURL
curl -H "X-API-Key: $KEY" \
  "https://fonoloji.com/v1/categories"

Kategori detayı + içindeki fonlar

Tam URL
https://fonoloji.com/v1/categories/X
cURL
curl -H "X-API-Key: $KEY" \
  "https://fonoloji.com/v1/categories/X"

Portföy yönetim şirketleri performans tablosu

Tam URL
https://fonoloji.com/v1/management-companies
cURL
curl -H "X-API-Key: $KEY" \
  "https://fonoloji.com/v1/management-companies"

Tek şirketin tüm fonları + performansı

Tam URL
https://fonoloji.com/v1/management-companies/X
cURL
curl -H "X-API-Key: $KEY" \
  "https://fonoloji.com/v1/management-companies/X"

Fon arama (kod veya ad)

Tam URL
https://fonoloji.com/v1/search
cURL
curl -H "X-API-Key: $KEY" \
  "https://fonoloji.com/v1/search"

En çok kazandıran/kaybettiren fonlar (period=1d|1w|1m|3m|1y|ytd)

Tam URL
https://fonoloji.com/v1/insights/movers
cURL
curl -H "X-API-Key: $KEY" \
  "https://fonoloji.com/v1/insights/movers"

Para akışı liderleri (giriş/çıkış)

Tam URL
https://fonoloji.com/v1/insights/flow
cURL
curl -H "X-API-Key: $KEY" \
  "https://fonoloji.com/v1/insights/flow"

Piyasa & Ekonomi

Fon piyasası en çok kazandıran/kaybettiren (1d/1w/1m)

Tam URL
https://fonoloji.com/v1/market/movers
cURL
curl -H "X-API-Key: $KEY" \
  "https://fonoloji.com/v1/market/movers"

Canlı endeks ve kurlar (BIST 100, USD/TRY, EUR/TRY, gümüş)

Tam URL
https://fonoloji.com/v1/market/live
cURL
curl -H "X-API-Key: $KEY" \
  "https://fonoloji.com/v1/market/live"

AI günlük piyasa özeti (DB cache, readonly)

Tam URL
https://fonoloji.com/v1/market/digest
cURL
curl -H "X-API-Key: $KEY" \
  "https://fonoloji.com/v1/market/digest"

DB'den okur — taze üretim yapmaz. Yoksa 404.

Anlık altın fiyatları (gram, çeyrek, ons, …)

Tam URL
https://fonoloji.com/v1/gold/live
cURL
curl -H "X-API-Key: $KEY" \
  "https://fonoloji.com/v1/gold/live"

TÜİK enflasyon (TÜFE) zaman serisi

Tam URL
https://fonoloji.com/v1/economy/cpi
cURL
curl -H "X-API-Key: $KEY" \
  "https://fonoloji.com/v1/economy/cpi"

Son KAP bildirimleri (kategori filtreli)

Tam URL
https://fonoloji.com/v1/disclosures/recent
cURL
curl -H "X-API-Key: $KEY" \
  "https://fonoloji.com/v1/disclosures/recent"

Araçlar

Çoklu fon portföyü için risk/getiri/dağılım analizi

Tam URL
https://fonoloji.com/v1/tools/portfolio-xray
cURL
curl -H "X-API-Key: $KEY" \
  "https://fonoloji.com/v1/tools/portfolio-xray"

İki fon arasındaki portföy çakışması (a=AAA&b=BBB)

Tam URL
https://fonoloji.com/v1/tools/fund-overlap
cURL
curl -H "X-API-Key: $KEY" \
  "https://fonoloji.com/v1/tools/fund-overlap"

Anahtarının kota durumu: limitler, bugünkü/aylık kullanım, kalan, sıfırlama zamanları. Bu uç kotadan düşmez.

Tam URL
https://fonoloji.com/v1/quota
cURL
curl -H "X-API-Key: $KEY" \
  "https://fonoloji.com/v1/quota"

Kota nasıl hesaplanır

Kota birimi dönen fon kaydıdır, istek sayısı değil. Tek fon döndüren uçlar (fon detayı, NAV geçmişi, portföy dağılımı) 1 kota; liste ucu ise döndürdüğü kayıt kadar düşer.

İstekKota maliyeti
/v1/funds/AFA1
/v1/funds/AFA/history1 — tek fon, kaç NAV noktası döndüğü fark etmez
/v1/funds?limit=100100
/v1/funds?limit=500500

Kalan kotan istediğin kayıt sayısından azsa istek reddedilmez — yalnız kotanın yettiği kadar kayıt döner ve _meta.capped alanı true olur. Her yanıtta x-ratelimit-cost başlığı o isteğin gerçek maliyetini bildirir. Daha yüksek limite ihtiyacın olursa talepte bulunabilirsin.

Rate limit başlıkları

Her yanıtta döneriz:

x-ratelimit-limitDakika başına izin verilen istek sayısı (plana göre)
x-ratelimit-remainingBu pencerede kalan istek
x-ratelimit-resetPencerenin sıfırlanmasına kalan saniye
x-ratelimit-costBu isteğin kota maliyeti — dönen fon kaydı sayısı
x-ratelimit-limit-monthlyAylık toplam kota (fon kaydı)
x-ratelimit-remaining-monthlyBu ay kalan kayıt
x-ratelimit-limit-dailyGünlük toplam kota (fon kaydı)
retry-after429/503 durumunda bekleme süresi (saniye)
x-cacheGörsel/AI: HIT (cache'ten) veya MISS (taze üretildi, cache'lendi)

Hata kodları

KodAnlamı
200Başarılı
400Eksik veya geçersiz parametre
401API anahtarı eksik veya geçersiz
403Hesap pasife alınmış (iletişime geçin)
404Fon/kategori/AI özet bulunamadı
429Dakika/günlük/aylık kota aşımı (kota birimi = fon kaydı) — retry-after'a bakın
503Görsel cache henüz boş — Retry-After saniye sonra tekrar deneyin (cache site ziyaretinde otomatik ısınır)
5xxSunucu hatası — otomatik raporlanır, 5sn sonra tekrar deneyin