المصادقة والحدود
تدعم endpoints البيانات تجربة مجهولة: 12 طلبًا في الدقيقة و100 في الساعة لكل IP. يستخدم الطلب بالمفتاح الحصة الشهرية للحساب.
حقول تشرح حداثة البيانات
يحدد `source` فئة المصدر، ويصف `market_session` حالة السوق، ويبيّن `data_updated_at` وقت أقدم مشاهدة ساهمت في الاستجابة. احتفظ بالثلاثة.
نقاط النهاية
السلاسل خلال اليوم والتغطية
يدعم /v1/timeseries الفواصل 1m و5m و15m و1h و4h، والبيانات المرجعية اليومية 1d. لا يدعم 2h. تقاطعات SGD التي لا تشمل USD غير متاحة عند 4h، لكن USD/SGD والاتجاه العكسي متاحان. بدأ جمع بيانات السوق في 2026-09-14. تُحفظ بيانات 1m لمدة 30 يومًا، ولا يوجد حذف مجدول للفواصل الأكبر. مدة الاحتفاظ لا تعني توفر تاريخ كامل بهذه المدة.
تتطلب التقاطعات التاريخية مشاهدات إغلاق فعلية ضمن الفترة نفسها بتوقيت UTC، بفارق لا يتجاوز 5 ثوانٍ. يستخدم effective_at وقت المشاهدة الأقدم. لا تُملأ الفجوات، وقد تتغير الفترة المفتوحة. يستخدم 1d البيانات المرجعية اليومية لجميع عملات الكتالوج. يُحسب كل زوج مرة واحدة في الجدول، مع دعم الاتجاهين.
| interval | الأزواج الفريدة |
|---|---|
1m | 91 |
5m | 91 |
15m | 91 |
1h | 91 |
4h | 79 |
1d | 465 |
الفترة المدعومة التي لا تحتوي على مشاهدات تعيد HTTP 200 مع data: [] وhas_more: false وnext_cursor: null. الفاصل غير المعروف يعيد unsupported_interval، والزوج خارج التغطية يعيد unsupported_pair_interval وrejected_pairs مع HTTP 400. يُرفض الطلب المختلط بالكامل.
AUD, CAD, CHF, EUR, GBP, JPY, MXN, NOK, NZD, PLN, SEK, SGD, USD, ZAR
WebSocket مباشر
اتصل بـ wss://api.exchangerate.dev/v1/stream وأرسل auth خلال 10 ثوانٍ. احتفظ بالمفتاح على الخادم، لا في URL أو JavaScript عام. الاتصالات المجهولة غير مدعومة. بعد authenticated أرسل subscribe. العملات المدعومة مذكورة أدناه؛ وتتطلب التقاطعات مشاهدتين حديثتين بفارق لا يتجاوز 5 ثوانٍ. قد تظهر الحالة unavailable أو stale. كل اتصال مقبول يستهلك وحدة واحدة من الحصة الشهرية.
يعرض الجدول حدود الحسابات الجديدة. تحتفظ الحسابات الحالية بحدود Free 1 × 5 أو Basic 3 × 25 أو Pro 10 × 100 (عدد الاتصالات × عدد الأزواج لكل اتصال). تعرض رسالة authenticated حدود حسابك الفعلية.
AUD, CAD, CHF, EUR, GBP, JPY, MXN, NOK, NZD, PLN, SEK, SGD, USD, ZAR
| الخطة | الاتصالات المتزامنة | الأزواج لكل اتصال |
|---|---|---|
| Free | 0 | 0 |
| Basic | 0 | 0 |
| Pro | 0 | 0 |
| Realtime | 10 | 100 |
الأخطاء
REST: كل خطأ يستخدم `{ result: "error", code, message }`. تضيف 429 ترويسة `Retry-After`، ولا تُستخدم بيانات وهمية عند تعطل المصدر.
استخدمه مع أدواتك
يعمل الطلب نفسه مع curl وPython وJavaScript. لا تحتاج إلى مفتاح API للتقييم.
مثال على الاستجابة
{
"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. يحدد effective_at.EUR وقت الرصد، ويحدد sources.EUR فئة المصدر. القيم والأوقات للتوضيح.