Dokümantasyon /

API referansı

REST özeti: kimlik doğrulama, sınırlar, tazelik alanları, endpointler ve hatalar.

Kimlik doğrulama ve sınırlar

Veri endpointleri anonim denenebilir: IP başına dakikada 12, saatte 100 istek. Anahtarlı istek hesabın aylık kotasını kullanır.

bash · header
Authorization: Bearer YOUR_KEY
X-RateLimit-Remaining: 9999
X-RateLimit-Reset: 1788220800

Tazeliği açıklayan alanlar

`source` kaynak sınıfını, `market_session` piyasa durumunu, `data_updated_at` yanıta katkı sağlayan en eski gözlemin zamanını gösterir. Üçünü de saklayın.

Endpointler

GET /v1/latest[/{BASE}]Güncel kurlar; tamamı veya symbols ile filtreli.
GET /v1/{YYYY-MM-DD}[/{BASE}]Tarih ve baz para birimi için geçmiş anlık görüntü.
GET /v1/convert/{FROM}/{TO}[/{AMOUNT}] · POST /v1/convertTutar çevirme; tek GET veya toplu POST.
GET /v1/rate/{slug}Slug ile tek parite için düz yanıt.
GET /v1/rangeSayfalama ve dosya indirmeli günlük seri.
GET /v1/currenciesDesteklenen para birimleri; parametre almaz.
GET /v1/accountHesap, plan, etkin anahtar ve aylık kullanım.

Gün içi seriler ve kapsam

/v1/timeseries; 1m, 5m, 15m, 1h, 4h ve günlük referans verisi 1d aralıklarını destekler. 2h yoktur. USD içermeyen SGD çaprazları 4h için desteklenmez; USD/SGD ve tersi desteklenir. Piyasa verileri 2026-09-14 tarihinde toplanmaya başladı. 1m verileri 30 gün tutulur; daha büyük aralıklar için planlı silme süresi yoktur. Saklama süresi, o kadar geçmişin zaten biriktiği anlamına gelmez.

Geçmiş çaprazlar aynı UTC aralığındaki gerçek kapanış gözlemlerini kullanır; zaman farkı en fazla 5 saniyedir. effective_at daha eski gözlemin zamanıdır. Boşluklar doldurulmaz; açık aralık değişebilir. 1d tüm katalog için günlük referans verisidir. Tablo benzersiz pariteleri sayar; iki yön de desteklenir.

intervalBenzersiz pariteler
1m91
5m91
15m91
1h91
4h79
1d465
curl · EUR/JPY · 15m
curl "https://api.exchangerate.dev/v1/timeseries?base=EUR&symbols=JPY&interval=15m&from=2026-09-14T12:00:00Z&to=2026-09-14T13:00:00Z"

Desteklenen bir zaman penceresinde gözlem yoksa HTTP 200 ile data: [], has_more: false ve next_cursor: null döner. Bilinmeyen aralık unsupported_interval; kapsam dışı parite unsupported_pair_interval ve rejected_pairs döndürür (HTTP 400). Karma istekler bütünüyle reddedilir.

AUD, CAD, CHF, EUR, GBP, JPY, MXN, NOK, NZD, PLN, SEK, SGD, USD, ZAR

Kapsam ve limit ayrıntıları

Gün içi döviz kuru API’si

Canlı WebSocket

wss://api.exchangerate.dev/v1/stream adresine bağlanıp 10 saniye içinde auth gönderin. Anahtarı sunucuda tutun; URL veya herkese açık JavaScript içine koymayın. Anonim bağlantı desteklenmez. authenticated sonrasında subscribe gönderin. Aşağıdaki para birimleri desteklenir; çaprazlar iki güncel gözlemin en fazla 5 saniye aralıklı olmasını gerektirir. Durum unavailable veya stale olabilir. Kabul edilen her bağlantı aylık kotadan bir birim tüketir.

Tablo yeni hesapların sınırlarını gösterir. Mevcut hesaplar Free 1 × 5, Basic 3 × 25 veya Pro 10 × 100 sınırlarını korur (bağlantı × bağlantı başına parite). authenticated mesajı hesabınızın geçerli sınırlarını bildirir.

AUD, CAD, CHF, EUR, GBP, JPY, MXN, NOK, NZD, PLN, SEK, SGD, USD, ZAR

PlanEşzamanlı bağlantılarBağlantı başına parite
Free00
Basic00
Pro00
Realtime10100
JSON · auth
{"action":"auth","api_key":"YOUR_KEY"}
JSON · subscribe
{"action":"subscribe","base":"EUR","symbols":["USD","JPY"]}

Canlı WebSocket

Hatalar

REST: Her hata `{ result: "error", code, message }` biçimindedir. 429 yanıtında `Retry-After` bulunur; kaynak arızasında sahte veri dönmez.

json · error
{
  "result": "error",
  "code": "missing_parameter",
  "message": "missing required parameter: symbols"
}

API referansı →

Kullandığınız yığınla kullanın

Aynı istek curl, Python ve JavaScript ile çalışır. Denemek için API anahtarı gerekmez.

Hızlı başlangıcı aç
curl -fsS --max-time 10 "https://api.exchangerate.dev/v1/latest/USD?symbols=EUR,GBP"
Örnek yanıt
{
  "result": "success",
  "base": "USD",
  "source": "live",
  "sources": {
    "EUR": "live",
    "GBP": "live"
  },
  "market_session": "open",
  "timestamp": "2026-06-15T12:00:00Z",
  "data_updated_at": "2026-06-15T12:00:00Z",
  "effective_at": {
    "EUR": "2026-06-15T12:00:00Z",
    "GBP": "2026-06-15T12:00:00Z"
  },
  "rates": {
    "EUR": 0.86207,
    "GBP": 0.74627
  },
  "derived_symbols": [],
  "notice": "Indicative rates, not for settlement."
}

rates.EUR, 1 USD karşılığındaki EUR miktarıdır. effective_at.EUR gözlem zamanını, sources.EUR kaynak sınıfını belirtir. Değerler ve zamanlar örnektir.

JSON yanıtını açAPI referansı