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
Yeni · MCP bağlantısı

Fonları artık yapay zekâna sor

TEFAS fonları, KAP bildirimleri ve canlı fiyatlar Claude ve ChatGPT’nin içinde. Ücretsiz üyelikte dahil.

ClaudeChatGPT+ MCP destekleyen her uygulama
Nasıl bağlanır?
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"

Claude & ChatGPT bağlantısı (MCP)

Fonoloji bir MCP sunucusu olarak da çalışır: fon, hisse ve KAP verilerini doğrudan yapay zekâ sohbetinde kullanabilirsin. Bağlayıcı adresi:

https://fonoloji.com/mcp

Claude'da Ayarlar → Connectors → Add custom connector, ChatGPT'de Settings → Connectors → Add MCP server ile ekle; Fonoloji hesabınla giriş yapıp hangi izinleri vereceğini seç. Portföy erişimi varsayılan olarak kapalıdır.

⚠ MCP kotası bu API kotasından tamamen ayrıdır; biri diğerini tüketmez. MCP tarafında birim araç çağrısıdır ve ayrıca günde incelenebilecek farklı fon/hisse sayısı sınırlıdır — aynı fona tekrar bakmak sayaç işletmez. Bağlantılarını ve kullanımını panelden görebilirsin.

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.

Veri dönmeyen istek kotadan düşmez. Fon bulunamadıysa, istediğin blok üretilemediyse ya da yanıt sıfır kayıtla döndüyse (ör. o fonun yayınlanabilir portföy dağılım raporu yoksa) günlük/aylık sayacın iade edilir ve yanıtta x-quota-refunded: 1 başlığı bulunur. Dakikalık istek limiti (rpm) iade edilmez.

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-quota-refunded1 ise bu istek hiç veri döndürmedi ve kotadan düşmedi
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