Vektör Araması
Genel Bilgiler
Description
Vector Search servisi; haberler, aracı kurum tavsiyeleri ve model portföyler üzerinde anlamsal (semantik) arama yapar. Gönderilen query metni vektöre çevrilir ve anlamca en yakın kayıtlar döner. Sonuçlar ek parametrelerle (tarih, sembol, kaynak, etiket vb.) filtrelenebilir.
Tüm endpoint'ler aşağıdaki ortak kurallara tabidir:
| Kural | Açıklama |
|---|---|
| HTTP Metodu | Tüm istekler POST metodu ve Content-Type: application/json ile gönderilir. Diğer metotlar 405 Method Not Allowed döner. |
| Yetkilendirme | Authorization: jwt <token> header'ı zorunludur. Bearer şeması desteklenmez. |
| Body Boyutu | Request body en fazla 2000 byte olabilir. Türkçe karakterler UTF-8'de 2 byte sayılır. |
| query | Tüm endpoint'lerde zorunludur. Boş veya sadece boşluktan oluşan metin kabul edilmez. |
| Tarih Filtresi | startDate ve endDate (YYYY-MM-DD) birlikte verilmelidir ve startDate <= endDate olmalıdır. İki tarih de aralığa dahildir. |
| days | Son N günü filtreler. 1–365 arası tam sayı olmalıdır. startDate / endDate ile birlikte kullanılamaz. |
| Sıralama | Sonuçlar önce anlamsal benzerliğe göre seçilir, ardından sort parametresine göre tarihe göre sıralanır. Varsayılan: desc (en yeni en üstte). |
| Benzerlik Eşiği | Sorguyla yeterince ilgili kayıt yoksa boş dizi ([]) döner. Çok genel sorgular (ör. "hisse") sonuç döndürmeyebilir; daha açıklayıcı sorgular kullanılması önerilir. |
| Bilinmeyen Parametreler | Endpoint'e ait olmayan parametreler yok sayılır. |
Request Header
| Header | Value | Required |
|---|---|---|
| Authorization | jwt eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9... | true |
Haber Özet Arama
Description
Haber başlığı ve özet metinleri üzerinde anlamsal arama yapar. Haberin tam metni content alanında döner. Kaynak, kategori ve etiket değerleri için Haber Meta servisine bakınız.
Endpoint
HTTP POST
Endpoint https://apitest.matriksdata.com/dumrul/v1/vector-search/news-summary-search
Request Body Parameters
| Parameter | Type | Required | Example | Description |
|---|---|---|---|---|
| query | string | true | altın fiyatlarında son durum | Arama metni. Boş olamaz. |
| count | integer | false | 10 | Dönecek sonuç sayısı. Default: 20, Min: 1, Max: 50 |
| sort | string | false | desc | Tarihe göre sıralama yönü: asc veya desc. Default: desc |
| symbol | string | false | THYAO | İlişkili sembole göre filtreler. |
| startDate | string | false | 2026-01-01 | Başlangıç tarihi (YYYY-MM-DD). endDate ile birlikte verilmelidir. |
| endDate | string | false | 2026-01-31 | Bitiş tarihi (YYYY-MM-DD). startDate ile birlikte verilmelidir. |
| days | integer | false | 7 | Son N gündeki haberler. 1–365 arası. Tarih parametreleriyle birlikte kullanılamaz. |
| impact | string | false | short-term | Beklenen etki süresi: short-term, mid-term, long-term |
| importance | integer | false | 3 | Önem derecesi: 1 (düşük), 2 (orta), 3 (yüksek) |
| sentiment | string | false | pozitif | Duygu analizi: pozitif, negatif, nötr |
| source | string | false | KAP | Haber kaynağı: KAP, AA, TUIK, TCMB, MATRIKS, DUNYA, ANKA, MNI, IHA, INT, DIGER |
| tag | string | false | Dividends | Haber etiketi: NewBusiness, Circuit, Dividends, StockTrading, ShareBuyBack, FinancialReports, Earnings, CapitalIncrease, TaxTables, BalanceSheet, FUND, CryptoCurrency |
Response Description
| Field | Type | Description |
|---|---|---|
| newsId | integer | Haber ID'si |
| headline | string | Haber başlığı |
| timestamp | integer | Haber zamanı (Unix epoch, milisaniye) |
| symbol | array | İlişkili sembol kodları. İlişkili sembol yoksa alan dönmez. |
| category | string | Haber kategorisi kodu (ör. EKONOMI, SIRKET, YORUM, DIS_EKONOMI) |
| source | string | Haber kaynağı |
| tag | array | Haber etiketleri. Etiket yoksa alan dönmez. |
| sentiment | string | Yapay zeka duygu analizi: pozitif, negatif, nötr |
| importance | integer | Yapay zeka önem derecesi: 1 (düşük), 2 (orta), 3 (yüksek) |
| impact | string | Yapay zeka etki tahmini: short-term, mid-term, long-term |
| content | string | Haberin tam metni. İçeriği olmayan haberlerde boş string döner. |
Sample Request-Response
Request Body:
{
"query": "enflasyon ve faiz kararı açıklamaları",
"count": 2,
"sort": "desc",
"source": "AA",
"sentiment": "nötr",
"days": 90
}
Response:
[
{
"headline": "Küresel piyasalar dünya genelinde açıklanacak enflasyon verilerine odaklandı -AA",
"timestamp": 1791620084421,
"category": "EKONOMI",
"source": "AA",
"sentiment": "nötr",
"importance": 2,
"impact": "short-term",
"newsId": 6809615,
"content": "\nKüresel piyasalar dünya genelinde açıklanacak enflasyon verilerine odaklandı\n\n- Orta Doğu'da çatışmaların bölge geneline yayılarak enerji arzını tehdit edici boyuta ulaşması varlık fiyatlarının yönü üzerinde etkili olur..."
},
{
"headline": "ECB tutanaklarında \"enerji fiyatlarındaki oynaklık ve enflasyon risklerine karşı ihtiyat\" vurgusu yapıldı",
"timestamp": 1791468407969,
"category": "DIS_EKONOMI",
"source": "AA",
"sentiment": "nötr",
"importance": 2,
"impact": "short-term",
"newsId": 6805137,
"content": "\n Avrupa Merkez Bankasının (ECB) para politikası toplantı tutanakları, yönetim konseyinin Avro Bölgesi'ndeki enflasyon risklerine karşı \"aşırı ihtiyatlı\" duruşunu koruduğunu gösterdi..."
}
]
Haber Detaylı Arama
Description
Haberlerin tam metni ve ekleri (PDF vb.) üzerinden oluşturulan detaylı vektörlerde anlamsal arama yapar. Başlıkta geçmeyen ancak haber içeriğinde veya eklerinde yer alan bilgilere ulaşmak için kullanılır.
Endpoint
HTTP POST
Endpoint https://apitest.matriksdata.com/dumrul/v1/vector-search/news-detailed-search
Request Body Parameters
| Parameter | Type | Required | Example | Description |
|---|---|---|---|---|
| query | string | true | THYAO çeyrek kârı ve temettü | Arama metni. Boş olamaz. |
| count | integer | false | 15 | Dönecek sonuç sayısı. Default: 20, Min: 1, Max: 50 |
| sort | string | false | desc | Tarihe göre sıralama yönü: asc veya desc. Default: desc |
| symbol | string | false | THYAO | İlişkili sembole göre filtreler. |
| startDate | string | false | 2026-02-01 | Başlangıç tarihi (YYYY-MM-DD). endDate ile birlikte verilmelidir. |
| endDate | string | false | 2026-02-28 | Bitiş tarihi (YYYY-MM-DD). startDate ile birlikte verilmelidir. |
| days | integer | false | 14 | Son N gündeki haberler. 1–365 arası. Tarih parametreleriyle birlikte kullanılamaz. |
| impact | string | false | long-term | Beklenen etki süresi: short-term, mid-term, long-term |
| importance | integer | false | 2 | Önem derecesi: 1 (düşük), 2 (orta), 3 (yüksek) |
| sentiment | string | false | pozitif | Duygu analizi: pozitif, negatif, nötr |
| source | string | false | KAP | Haber kaynağı. Değerler için Haber Özet Arama'ya bakınız. |
| tag | string | false | Dividends | Haber etiketi. Değerler için Haber Özet Arama'ya bakınız. |
Response Description
| Field | Type | Description |
|---|---|---|
| newsId | integer | Haber ID'si |
| headline | string | Haber başlığı |
| timestamp | integer | Haber zamanı (Unix epoch, milisaniye) |
| symbol | array | İlişkili sembol kodları. İlişkili sembol yoksa alan dönmez. |
| category | string | Haber kategorisi kodu |
| source | string | Haber kaynağı |
| tag | array | Haber etiketleri. Etiket yoksa alan dönmez. |
| sentiment | string | Yapay zeka duygu analizi. Analizi tamamlanmamış haberlerde dönmez. |
| importance | integer | Yapay zeka önem derecesi. Analizi tamamlanmamış haberlerde dönmez. |
| impact | string | Yapay zeka etki tahmini. Analizi tamamlanmamış haberlerde dönmez. |
| content | string | Haberin tam metni (KAP haberlerinde orijinal link ve ek dosya linkleri dahil). İçeriği olmayan haberlerde boş string döner. |
Sample Request-Response
Request Body:
{
"query": "Türk Hava Yolları temettü dağıtım kararı",
"symbol": "THYAO",
"source": "KAP",
"count": 1
}
Response:
[
{
"newsId": 6643983,
"headline": "KAP: THYAO [ ] TÜRK HAVA YOLLARI A.O. Özel Durum Açıklaması (Genel)",
"timestamp": 1785906080891,
"symbol": [
"THYAO"
],
"category": "SIRKET",
"source": "KAP",
"content": "\n\n\n## Orjinal Link:\n[https://www.kap.org.tr/Bildirim/1643242](https://www.kap.org.tr/Bildirim/1643242)\n\n\n## Dosyalar:\n[https://kapatt.matriksdata.com/4028328d9f52dddd019fcdd07ee34335](https://kapatt.matriksdata.com/4028328d9f52dddd019fcdd07ee34335)..."
}
]
Aracı Kurum Tavsiye Arama
Description
Aracı kurumların hisse tavsiyeleri ve hedef fiyat raporlarında anlamsal arama yapar. Kurum adı, sembol ve hedef fiyat aralığına göre filtrelenebilir.
Endpoint
HTTP POST
Endpoint https://apitest.matriksdata.com/dumrul/v1/vector-search/broker-offer-search
Request Body Parameters
| Parameter | Type | Required | Example | Description |
|---|---|---|---|---|
| query | string | true | hedef fiyat yükseltme raporu | Arama metni. Boş olamaz. |
| count | integer | false | 20 | Dönecek sonuç sayısı. Default: 20, Min: 1, Max: 100 |
| sort | string | false | desc | Tavsiye tarihine (offerDate) göre sıralama yönü: asc veya desc. Default: desc |
| symbol | string | false | GARAN | Tavsiye verilen hisse sembolü. |
| startDate | string | false | 2026-01-01 | Başlangıç tarihi (YYYY-MM-DD). endDate ile birlikte verilmelidir. |
| endDate | string | false | 2026-02-15 | Bitiş tarihi (YYYY-MM-DD). startDate ile birlikte verilmelidir. |
| days | integer | false | 60 | Son N gündeki tavsiyeler. 1–365 arası. Tarih parametreleriyle birlikte kullanılamaz. |
| broker | string | false | Garanti | Aracı kurum adı. Büyük/küçük harf duyarsız "içerir" araması yapılır (ör. Garanti → Garanti BBVA Yatırım). * ve ? joker karakterleri desteklenmez. |
| startTargetPrice | number | false | 120.0 | Minimum hedef fiyat. Tek başına kullanılabilir. 0 veya pozitif olmalıdır. |
| endTargetPrice | number | false | 180.5 | Maksimum hedef fiyat. Tek başına kullanılabilir. İkisi birlikte verilirse startTargetPrice <= endTargetPrice olmalıdır. |
Response Description
| Field | Type | Description |
|---|---|---|
| broker | string | Aracı kurum adı |
| offer | string | Tavsiye: AL, TUT, SAT, NÖTR, Endeks Üstü Getiri, Endekse Paralel Getiri, Endeks Altı Getiri |
| offerDate | string | Tavsiye tarihi (ISO 8601, UTC). Ör: 2026-05-11T09:31:06.397Z |
| symbol | string | Tavsiye verilen hisse sembolü |
| targetPrice | number | Hedef fiyat |
| url | string | Rapor dosyasının linki. Raporu olmayan tavsiyelerde null döner. |
Sample Request-Response
Request Body:
{
"query": "Garanti BBVA hisse tavsiyesi ve hedef fiyat",
"broker": "Garanti",
"startTargetPrice": 30,
"endTargetPrice": 200,
"count": 2
}
Response:
[
{
"broker": "Garanti BBVA Yatırım",
"offer": "Endeks Altı Getiri",
"offerDate": "2026-05-11T09:31:06.397Z",
"symbol": "HALKB",
"targetPrice": 32.5,
"url": "https://www.matriks.web.tr/mobilecms/admin/uploads/attachment/177910-6.pdf"
},
{
"broker": "Garanti BBVA Yatırım",
"offer": "Endeks Üstü Getiri",
"offerDate": "2026-05-07T10:47:40.697Z",
"symbol": "VAKBN",
"targetPrice": 45.5,
"url": "https://www.matriks.web.tr/mobilecms/admin/uploads/attachment/177656-06.pdf"
}
]
Model Portföy Arama
Description
Aracı kurumların yayınladığı model portföylerde ve portföy içindeki hisse kalemlerinde anlamsal arama yapar. symbol filtresi verildiğinde, kalemleri arasında o hisseyi içeren portföyler döner.
Endpoint
HTTP POST
Endpoint https://apitest.matriksdata.com/dumrul/v1/vector-search/model-portfolio-search
Request Body Parameters
| Parameter | Type | Required | Example | Description |
|---|---|---|---|---|
| query | string | true | en çok önerilen sanayi hisseleri | Arama metni. Boş olamaz. |
| count | integer | false | 10 | Dönecek sonuç sayısı. Default: 20, Min: 1, Max: 100 |
| sort | string | false | desc | Portföy tarihine (date) göre sıralama yönü: asc veya desc. Default: desc |
| symbol | string | false | TUPRS | Portföy kalemlerinde (items.symbol) aranan hisse. Bu hisseyi içeren portföyler döner. |
| startDate | string | false | 2025-09-01 | Başlangıç tarihi (YYYY-MM-DD). endDate ile birlikte verilmelidir. |
| endDate | string | false | 2025-12-31 | Bitiş tarihi (YYYY-MM-DD). startDate ile birlikte verilmelidir. |
| days | integer | false | 90 | Son N gündeki portföyler. 1–365 arası. Tarih parametreleriyle birlikte kullanılamaz. |
| agent | string | false | TAC | Portföyü yayınlayan kurum / ajan kodu. |
Response Description
| Field | Type | Description |
|---|---|---|
| agent | string | Portföyü yayınlayan kurum / ajan kodu |
| date | string | Portföy tarihi (YYYY-MM-DD) |
| urls | array | Portföy rapor dosyalarının linkleri |
| items | array | Portföydeki hisse kalemleri |
| items.symbol | string | Hisse sembolü |
| items.date | string | Kalem tarihi (YYYY-MM-DD) |
| items.target_price | number | Hedef fiyat |
| items.weight | number | Portföy içindeki ağırlık (yüzde) |
| items.urls | array | Hisseye ait rapor linkleri. Rapor yoksa boş dizi döner. |
| items.offer_date | string | Hedef fiyat tavsiyesinin tarihi (YYYY-MM-DD) |
Sample Request-Response
Request Body:
{
"query": "model portföy hisse önerileri",
"symbol": "TUPRS",
"agent": "TAC",
"days": 365,
"count": 1
}
Response:
[
{
"agent": "TAC",
"date": "2025-12-26",
"urls": [
"https://analist-ftps.matriksdata.com/21_01_2026_1769090641320.pdf"
],
"items": [
{
"symbol": "SAHOL",
"date": "2025-12-26",
"target_price": 183,
"weight": 7.7,
"urls": [
"https://analist-ftps.matriksdata.com/INFO-2026-Strateji Raporu (2)_1769157536587.pdf"
],
"offer_date": "2026-08-13"
},
{
"symbol": "TUPRS",
"date": "2023-06-06",
"target_price": 481,
"weight": 7.7,
"urls": [],
"offer_date": "2026-09-08"
}
]
}
]
Endpoint Özet Tablosu
| Metod | Endpoint | Açıklama | Max count | Özel Filtreler |
|---|---|---|---|---|
| POST | /news-summary-search | Haber başlığı ve özetlerinde anlamsal arama | 50 | impact, importance, sentiment, source, tag |
| POST | /news-detailed-search | Haber içeriği ve eklerinde anlamsal arama | 50 | impact, importance, sentiment, source, tag |
| POST | /broker-offer-search | Aracı kurum tavsiye ve hedef fiyat araması | 100 | broker, startTargetPrice, endTargetPrice |
| POST | /model-portfolio-search | Model portföy ve portföy kalemleri araması | 100 | agent, symbol (portföy kalemlerinde) |
Tüm endpoint'lerde ortak parametreler: query (zorunlu), count, sort, symbol, startDate, endDate, days.