Learn/Zaman serileri

Geçmiş döviz kurları ve zaman serileri

Birden fazla para biriminin geçmişini almak için /v1/range kullanın ve veriyi pandas’a aktarın.

ERexchangerate.dev·19 Haziran 2026·6 dk okuma

Aralık, sayfalama, kaynak ve doldurma işaretiyle kaydedilmiş gözlemleri döndürür.

Önemli noktalar
JSON sayfası en fazla 366 gözlem içerir. has_more true olduğu sürece next_cursor ile devam edin.
1.830 gün istek sınırıdır; her paritenin geçmişini garanti etmez. source, satırlar ve data: [] değerini kontrol edin.
13 Haziran 2026 Cumartesi yoktur; aralık her takvim günü için satır uydurmaz.
Hayır. Gösterge değerleridir; notice ve source alanlarını inceleyin.

Range endpoint’ini kullanın

start_date ve end_date iki ucu da içerir. base varsayılan olarak USD’dir; symbols virgülle ayrılır. İngilizce tarih aracı da vardır.

data kaydedilmiş satırları içerir. has_more ve next_cursor kullanın; CSV ve Parquet desteklenen pencereyi kapsar.

GET /v1/rangecopy
$ curl -G "https://api.exchangerate.dev/v1/range" \
    -H "Authorization: Bearer exr_live_..." \
    --data-urlencode "base=USD" \
    --data-urlencode "symbols=EUR,GBP" \
    --data-urlencode "start_date=2026-06-10" \
    --data-urlencode "end_date=2026-06-13"

JSON yanıtını okuyun

data kaydedilmiş satırları içerir. has_more ve next_cursor kullanın; CSV ve Parquet desteklenen pencereyi kapsar.

JSONcopy
{
  "result": "success",
  "base": "USD",
  "start_date": "2026-06-10",
  "end_date": "2026-06-13",
  "data": [
    { "date": "2026-06-10", "rates": { "EUR": 0.86663, "GBP": 0.74727 },
      "source": "ecb_daily", "is_forward_filled": false },
    { "date": "2026-06-11", "rates": { "EUR": 0.86678, "GBP": 0.74829 },
      "source": "ecb_daily", "is_forward_filled": false },
    { "date": "2026-06-12", "rates": { "EUR": 0.86453, "GBP": 0.74613 },
      "source": "ecb_daily", "is_forward_filled": false }
  ],
  "has_more": false,
  "next_cursor": null
}

Eksik takvim günleri

13 Haziran 2026 Cumartesi yoktur; aralık her takvim günü için satır uydurmaz.

Python ile sayfalama

Bu döngü her imleci takip eder.

Python · requestscopy
import requests

API = "https://api.exchangerate.dev/v1"
KEY = "exr_live_..."   # free key at https://exchangerate.dev/signup

params = {
    "base": "USD",
    "symbols": "EUR,GBP",
    "start_date": "2026-06-10",
    "end_date": "2026-06-13",
}

rows = []
while True:
    resp = requests.get(
        f"{API}/range",
        headers={"Authorization": f"Bearer {KEY}"},
        params=params,
        timeout=10,
    )
    resp.raise_for_status()
    data = resp.json()
    rows.extend(data["data"])
    if not data["has_more"]:
        break
    cursor = data.get("next_cursor")
    if not cursor or cursor <= params.get("cursor", ""):
        raise RuntimeError("Incomplete historical response")
    params["cursor"] = cursor

for row in rows:
    filled = row["is_forward_filled"]
    print(row["date"], row["rates"]["EUR"], row["rates"]["GBP"], "filled" if filled else "")

Gözlem ve taşınan değeri ayırın

Aralık gözlemlerinde is_forward_filled false olur; tarih sorgusu önceki değeri true işaretiyle döndürebilir.

Hafta sonu bir gözlem değildir
Aralık 13 Haziran 2026’yı atlar. Doğrudan tarih sorgusu önceki değeri is_forward_filled true ile döndürebilir.

Tarih mi aralık mı

Tek tarih kontrol için, aralık grafik, backfill ve toplu analiz için uygundur.

BoyutTarihAralık
İstekHer tarih için bir istekBir istek ve sayfalar
YanıtBir gündata dizisi

Kapsamı kontrol edin

1.830 gün istek sınırıdır; her paritenin geçmişini garanti etmez. source, satırlar ve data: [] değerini kontrol edin.

pandas

pandas’a yükleyin, tarihe göre sıralayın ve hesap öncesi taşınan değerleri çıkarın.

Python · pandascopy
import pandas as pd

# rows contains every page from the loop above
df = pd.json_normalize(rows)
df["date"] = pd.to_datetime(df["date"])
df = df.set_index("date").sort_index()

# keep only rows that were actually published that day
df = df[~df["is_forward_filled"]]

print(df[["rates.EUR", "rates.GBP"]].tail())

pandas zorunlu değildir; aynı satırlar başka araçlarla da işlenebilir.

Geçmiş kur aracında bir tarih sorgulayın (İngilizce)

ER
exchangerate.dev
FX verisi entegrasyonu için pratik rehber

Okumaya devam edin

TutorialPython ile döviz kurlarıOku
KarşılaştırmaFixer vs exchangerate.devKarşılaştırmaOpen Exchange Rates vs exchangerate.devKarşılaştırmaCurrencylayer vs exchangerate.devRehberJavaScript ve Node.js ile para birimi dönüştürmeRehberPython ile döviz kuru almaRehberNext.js ve TypeScript ile döviz kurlarıCanlı kurEUR/USDCanlı kurGBP/USDCanlı kurUSD/JPY