Menü

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 10, saatte 100 istek. Anahtarlı istek hesabın aylık kotasını kullanır. Free fiyatları 15 dakika gecikmelidir (X-Price-Delay-Seconds: 900 başlığı).

http · request headers
Authorization: Bearer YOUR_KEY
http · response headers
X-RateLimit-Remaining: 9999X-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.
GET /v1/indices/{index_slug} · GET /v1/indices/{index_slug}/timeseriesUSD endekslerinin son değeri ve geçmiş serileri.

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. 1m ile 1h arası gün içi kapsam 221 benzersiz paritedir: 143 USD paritesi ve 78 çapraz parite.

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
1m221
5m221
15m221
1h221
4h209
1d10296
curl · Pro · 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" \  -H "Authorization: Bearer YOUR_API_KEY"

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.

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 hesap sınırları. Mevcut hesaplar eski Basic 3 × 25 veya eski 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
Plus110
Pro3100
JSON
{"action":"auth","api_key":"YOUR_KEY"}
JSON
{"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. HTTP 403 plan_gated, tier, interval alanlarını içerir; geçmiş sınırı aşıldığında history_days, earliest_allowed de eklenir. Bir üst plan isteğe izin veriyorsa upgrade_plans, upgrade_offers (plan, loses), upgrade_url döndürülür.

json
{  "result": "error",  "code": "missing_parameter",  "message": "required parameter missing: symbols"}
json · 403 plan_gated
{  "result": "error",  "code": "plan_gated",  "message": "The 15m interval is not included in your plan.",  "tier": "plus_2026",  "interval": "15m",  "upgrade_plans": ["pro_2026"],  "upgrade_offers": [{ "plan": "pro_2026", "loses": [] }],  "upgrade_url": "https://exchangerate.dev/pricing?plan=pro_2026&source=api&reason=plan_gated"}
curl -fsS --max-time 10 "https://api.exchangerate.dev/v1/latest/USD?symbols=EUR,GBP"

Entegrasyon kılavuzları: Python · JavaScript / Node.js · Google Sheets · Excel · Go · Swift · Zapier