Endeks Fiyatları API
Yerli ve küresel borsa endeksleri tek uçtan
Genel bakış
Endeks Fiyatları API; BIST 100, BIST 30, BIST Bankacılık gibi Türkiye endekslerinin yanı sıra S&P 500, Dow Jones, Nasdaq 100, DAX, FTSE 100, CAC 40, Nikkei 225, Hang Seng gibi küresel endekslerin anlık değerini, günlük değişimini, açılış/kapanış ve gün içi bandını verir. Endeks bileşenleri ve ağırlıkları ayrı uç noktadan alınabilir.
Uç noktalar
Temel adres: https://api.apibir.com/v1
Kimlik doğrulama
Tüm isteklerde API anahtarınızı Authorization başlığında gönderin:
Authorization: apikey APIBIR-8f2c4b7e9a1d3c5f7b2e9d41
Accept: application/jsonSorgu parametreleri
| Parametre | Tip | Durum | Açıklama |
|---|---|---|---|
| codes | string | opsiyonel | Örn: XU100,SPX,NDX |
| region | string | opsiyonel | tr, us, eu, asia |
| range | string | opsiyonel | Geçmiş sorgusu aralığı |
| convert | string | opsiyonel | Değeri farklı para biriminde göster |
Örnek istek
curl --request GET \
--url "https://api.apibir.com/v1/indices?codes=XU100,SPX" \
--header "authorization: apikey APIBIR-8f2c...9d41" \
--header "content-type: application/json"package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.apibir.com/v1/indices?codes=XU100,SPX", nil)
req.Header.Add("authorization", "apikey APIBIR-8f2c...9d41")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}const https = require('https');
const options = {
hostname: 'api.apibir.com',
path: '/v1/indices?codes=XU100,SPX',
method: 'GET',
headers: { 'authorization': 'apikey APIBIR-8f2c...9d41' }
};
https.get(options, (res) => {
let data = '';
res.on('data', (chunk) => data += chunk);
res.on('end', () => console.log(JSON.parse(data)));
});const res = await fetch(
"https://api.apibir.com/v1/indices?codes=XU100,SPX",
{ headers: { authorization: "apikey APIBIR-8f2c...9d41" } }
);
const { data } = await res.json();
console.log(data);import java.net.http.*;
import java.net.URI;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.apibir.com/v1/indices?codes=XU100,SPX"))
.header("authorization", "apikey APIBIR-8f2c...9d41")
.GET().build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());import requests
r = requests.get(
"https://api.apibir.com/v1/indices?codes=XU100,SPX",
headers={"authorization": "apikey APIBIR-8f2c...9d41"},
timeout=10,
)
print(r.json()["data"])require 'net/http'
require 'uri'
uri = URI.parse("https://api.apibir.com/v1/indices?codes=XU100,SPX")
request = Net::HTTP::Get.new(uri)
request["authorization"] = "apikey APIBIR-8f2c...9d41"
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
puts response.bodyusing var client = new HttpClient();
client.DefaultRequestHeaders.Add("authorization", "apikey APIBIR-8f2c...9d41");
var json = await client.GetStringAsync("https://api.apibir.com/v1/indices?codes=XU100,SPX");
Console.WriteLine(json);import Foundation
var request = URLRequest(url: URL(string: "https://api.apibir.com/v1/indices?codes=XU100,SPX")!)
request.addValue("apikey APIBIR-8f2c...9d41", forHTTPHeaderField: "authorization")
let task = URLSession.shared.dataTask(with: request) { data, _, _ in
if let data = data, let str = String(data: data, encoding: .utf8) {
print(str)
}
}
task.resume()open Cohttp_lwt_unix
open Lwt
let uri = Uri.of_string "https://api.apibir.com/v1/indices?codes=XU100,SPX" in
let headers = Header.init_with "authorization" "apikey APIBIR-8f2c...9d41" in
Client.get ~headers uri >>= fun (resp, body) ->
Cohttp_lwt.Body.to_string body >>= fun body_str ->
Lwt_io.printl body_str<?php
$ch = curl_init("https://api.apibir.com/v1/indices?codes=XU100,SPX");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["authorization: apikey APIBIR-8f2c...9d41"]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($data["data"]);Örnek yanıt
{
"success": true,
"creditsUsed": 1,
"timestamp": "2026-08-07T10:42:52+03:00",
"data": [
{
"code": "XU100",
"name": "BIST 100",
"country": "TR",
"currency": "TRY",
"value": 11482.36,
"previousClose": 11395.80,
"open": 11402.15,
"change": 86.56,
"changePercent": 0.76,
"dayLow": 11380.44,
"dayHigh": 11510.90,
"yearToDatePercent": 18.42,
"marketStatus": "open",
"updatedAt": "2026-08-07T10:42:45+03:00"
},
{
"code": "SPX",
"name": "S&P 500",
"country": "US",
"currency": "USD",
"value": 6284.11,
"previousClose": 6301.55,
"change": -17.44,
"changePercent": -0.28,
"marketStatus": "closed",
"updatedAt": "2026-08-06T23:00:00+03:00"
}
]
}Yanıt alanları
| Alan | Tip | Açıklama |
|---|---|---|
| code | string | Endeks kodu (XU100, SPX, NDX, DAX…) |
| value | number | Endeksin güncel puan değeri |
| marketStatus | string | open · closed · pre · after |
| yearToDatePercent | number | Yılbaşından bugüne getiri |
Kredi tüketimi: Bu servis her başarılı istek için 1 kredi harcar.
Hatalı istekler (4xx) kredi düşürmez. Kalan krediniz her yanıtın creditsRemaining alanında döner.
Olası hatalar
| Kod | HTTP | Anlamı |
|---|---|---|
| invalid_api_key | 401 | Anahtar geçersiz veya başlık eksik. |
| insufficient_credits | 402 | Aylık kredi limitiniz doldu. |
| invalid_parameter | 422 | Parametre değeri beklenen formatta değil. |
| rate_limited | 429 | Saniyelik istek limiti aşıldı. |
| no_data | 404 | Sorgu kriterlerine uyan kayıt bulunamadı. |
Bu API ile neler yapabilirsiniz?
Finans portalı ana sayfa şeridi
Endeks şeridini (ticker tape) canlı gösterin.
Fon ve portföy karşılaştırması
Portföy getirisini benchmark endeksle kıyaslayın.
Piyasa açılış raporları
Her sabah otomatik e-posta bülteni üretin.
Risk yönetimi
Endeks volatilitesini takip ederek pozisyon limitlerini ayarlayın.
AI ile hızlı başlangıç. Bu API'yi Claude'a tanıtıp tek promptla pano kurmak için AI & Dashboard rehberine bakın. Hazır prompt şablonu ve çalışan dashboard örneği orada.
İlgili API'ler
Amerikan Borsası
Finans & PiyasaNASDAQ, NYSE ve AMEX'te işlem gören 11.000+ hisse için fiyat, temel oran ve şirket verisi.
Faiz Oranları
Finans & PiyasaTCMB politika faizi, mevduat/kredi faizleri, TLREF, Euribor, Fed ve ECB oranları.
Ekonomik Takvim
Finans & PiyasaEnflasyon, faiz kararı, istihdam gibi veri açıklamaları; beklenti, önceki ve gerçekleşen değerler.
Ücretsiz API anahtarınızı 30 saniyede alın
Kredi kartı istemiyoruz. Ücretsiz plan tüm API'leri kapsar; yalnızca aylık kredi limiti farklıdır.
Uygulamalı rehber
Claude & ChatGPT ile Canlı Finans Panosu Kurma — çalışan kod örnekleriyle adım adım entegrasyon.