تصفّح التوثيق كاملًا

مرجع API العملات الرقمية

الأسعار والسجل التاريخي لأزواج العملات الرقمية

نظرة عامة

أسعار وسجل أسعار أزواج العملات الرقمية. يحتاج كل طلب إلى مفتاح Bearer، ويسحب REST وMCP من رصيد واحد.

معرّف الزوج هو العملة الرقمية ثم شرطة ثم عملة التسعير، مثل BTC-USD أو ETH-EUR. تصلح أي حالة أحرف، ويُقبل أيضًا الشرطة المائلة بدل الشرطة. تحمل كل إجابة الزوج القياسي. عملات التسعير هي USD وEUR وGBP. الأسعار سلاسل عشرية بحد أقصى 8 أرقام معنوية.

تُتداول العملات الرقمية طوال اليوم، فلا توجد جلسة سوق. ويكون السعر قديمًا (stale) إذا تجاوز عمره 5 دقائق.

عنوان URL الأساسي: https://api.narwhalapi.com. أداة MCP هي crypto, with one action لكل مسار أدناه.

ما يحصل عليه كل حساب

ماكل حساب
أحدث سعرمباشر
التغير خلال 24 ساعةمشمول
أشرطة يوميةالسجل التاريخي الكامل
شموع الدقيقة الواحدةمشمول
قائمة الأزواجمشمول

راجع التسعير لمعرفة تكلفة الاستدعاء. يُحاسَب الطلب بسعر واجهته ما لم يذكر المسار خلاف ذلك.

  • لا يوجد حجم تداول للعملات الرقمية. لا تحمل الأسعار ولا الشموع حقل حجم.
  • الشمعة اليومية تمثل يومًا واحدًا بتوقيت UTC وتظهر عند 00:00 UTC. ولا تظهر شمعة اليوم الجزئية أبدًا.
  • تضم قائمة الأزواج الأزواج التي نسعّرها. يبقى الزوج في القائمة ما دام يُتداول مرة واحدة على الأقل كل 30 ثانية، ويُحذف إذا انخفض عن مرة كل دقيقتين.

نقاط النهاية

كل مسار هو طلب GET ويحتاج إلى مفتاحك في: Authorization: Bearer الترويسة. تعرض الأمثلة شكل الاستجابة، وليست بيانات مباشرة.

أزواج العملات الرقمية التي نسعّرها

GET /v1/crypto/pairs

كل زوج نسعّره، مرتبًا حسب الزوج (بصيغة BTC-USD). المعامل quote اختياري (USD أو EUR أو GBP). يبقى الزوج في القائمة ما دام يُتداول مرة واحدة على الأقل كل 30 ثانية، ويُحذف إذا انخفض عن مرة كل دقيقتين. تُقرأ من قائمة الأزواج لدينا، فهي متاحة لكل حساب وتُحسب استدعاءً واحدًا.

MCP: الأداة crypto, action pairs.

المعلمات

معلمةالموضعمطلوبالنوعالمعنى
quoteاستعلاملاإحدى القيم: USD, EUR, GBPالأزواج المسعّرة بهذه العملة فقط (USD أو EUR أو GBP).

حقول الاستجابة

حقلالنوعيُرسلالمعنى
pairsقائمة كائناتدائمًاكل زوج نسعّره، مرتبًا حسب الزوج. يبقى الزوج في القائمة ما دام يُتداول مرة واحدة على الأقل كل 30 ثانية، ويُحذف إذا انخفض عن مرة كل دقيقتين.
pairs[].pairسلسلة نصيةدائمًاالزوج القياسي، مثل BTC-USD.
pairs[].baseسلسلة نصيةدائمًارمز تداول العملة الرقمية.
pairs[].quoteسلسلة نصيةدائمًاعملة التسعير.
pairs[].nameسلسلة نصيةدائمًااسم العملة الرقمية.
طلب
curl -H "Authorization: Bearer $NARWHAL_API_KEY" \
  "https://api.narwhalapi.com/v1/crypto/pairs?quote=USD"
استجابة نموذجية
{
  "pairs": [
    {
      "pair": "BTC-USD",
      "base": "BTC",
      "quote": "USD",
      "name": "Bitcoin"
    },
    {
      "pair": "ETH-EUR",
      "base": "ETH",
      "quote": "EUR",
      "name": "Ethereum"
    }
  ]
}

آخر سعر لزوج عملات رقمية واحد

GET /v1/crypto/{pair}/price

آخر سعر مركّب لزوج، مع التغير خلال 24 ساعة (يُحذف إذا لم يكن معروفًا). تُتداول العملات الرقمية طوال اليوم، فلا توجد جلسة سوق؛ وقيمة stale تكون true إذا تجاوز عمر السعر 5 دقائق. change_24h_percent بالنسبة المئوية.

MCP: الأداة crypto, action price.

المعلمات

معلمةالموضعمطلوبالنوعالمعنى
pairمسارنعمسلسلة نصيةزوج عملات رقمية: العملة الرقمية ثم شرطة ثم عملة التسعير، مثل BTC-USD أو ETH-EUR. تصلح أي حالة أحرف، ويُقبل الشرطة المائلة بدل الشرطة. تحمل الإجابة الزوج القياسي.

حقول الاستجابة

حقلالنوعيُرسلالمعنى
pairسلسلة نصيةدائمًاالزوج القياسي.
baseسلسلة نصيةدائمًارمز تداول العملة الرقمية.
quoteسلسلة نصيةدائمًاعملة التسعير؛ كل سعر بها.
priceسلسلة نصيةدائمًاآخر سعر، بحد أقصى 8 أرقام معنوية.
change_24hسلسلة نصيةاختياريprice مطروحًا منه السعر قبل 24 ساعة، ويُحسب من نسبة التغير خلال 24 ساعة. يُحذف إذا لم يكن معروفًا.
change_24h_percentسلسلة نصيةاختياريالتغير خلال 24 ساعة بالنسبة المئوية (1.5 تعني 1.5%). يُحذف مع change_24h.
timestampتاريخ ووقتدائمًاوقت صلاحية السعر (بالتوقيت العالمي UTC، بالثواني الكاملة).
staleمنطقيدائمًاتكون true إذا تجاوز عمر السعر 5 دقائق أو تعذّر تحديثه.
delayedدائمًا trueاختياريلا يُرسل: الأسعار فورية لكل حساب.
طلب
curl -H "Authorization: Bearer $NARWHAL_API_KEY" \
  "https://api.narwhalapi.com/v1/crypto/BTC-USD/price"
استجابة نموذجية
{
  "pair": "BTC-USD",
  "base": "BTC",
  "quote": "USD",
  "price": "68250.5",
  "change_24h": "812.4",
  "change_24h_percent": "1.2",
  "timestamp": "2026-10-26T15:42:00Z",
  "stale": false
}

آخر أسعار حتى 50 زوج عملات رقمية

GET /v1/crypto/prices

آخر سعر لكل زوج مذكور. يُحتسب استدعاء واحد لكل زوج يعيد سعرًا، ويُخصم في خطوة واحدة: إذا لم يكفِ رصيدك لتغطية الأزواج التي تم حلّها، يُرفض الطلب كله مع 402 insufficient_credits. الأزواج التي لا تعيد سعرًا تُدرج في errors (باسم id) ولا تُكلّف شيئًا. change_24h_percent بالنسبة المئوية.

أرسل حتى 50 زوجًا. تُحاسَب الدفعة في خطوة واحدة: إذا لم يكفِ رصيدك لتغطية الأزواج التي يتم حلّها، يعيد الطلب كله 402 insufficient_credits.

MCP: الأداة crypto, action prices.

المعلمات

معلمةالموضعمطلوبالنوعالمعنى
pairsاستعلامنعمسلسلة نصيةأزواج مفصولة بفواصل، بحد أقصى 50 بعد حذف المكرر. يخضع كل زوج لقواعد مسار السعر الواحد نفسها. يُحتسب استدعاء واحد لكل زوج يعيد سعرًا.

حقول الاستجابة

حقلالنوعيُرسلالمعنى
pricesقائمة كائناتدائمًاسعر واحد لكل زوج تم حلّه، مرتبًا حسب الزوج.
prices[].pairسلسلة نصيةدائمًاالزوج القياسي.
prices[].baseسلسلة نصيةدائمًارمز تداول العملة الرقمية.
prices[].quoteسلسلة نصيةدائمًاعملة التسعير؛ كل سعر بها.
prices[].priceسلسلة نصيةدائمًاآخر سعر، بحد أقصى 8 أرقام معنوية.
prices[].change_24hسلسلة نصيةاختياريprice مطروحًا منه السعر قبل 24 ساعة، ويُحسب من نسبة التغير خلال 24 ساعة. يُحذف إذا لم يكن معروفًا.
prices[].change_24h_percentسلسلة نصيةاختياريالتغير خلال 24 ساعة بالنسبة المئوية (1.5 تعني 1.5%). يُحذف مع change_24h.
prices[].timestampتاريخ ووقتدائمًاوقت صلاحية السعر (بالتوقيت العالمي UTC، بالثواني الكاملة).
prices[].staleمنطقيدائمًاتكون true إذا تجاوز عمر السعر 5 دقائق أو تعذّر تحديثه.
prices[].delayedدائمًا trueاختياريلا يُرسل: الأسعار فورية لكل حساب.
errorsقائمة كائناتدائمًاالأزواج التي لم تعد سعرًا. لا تُحاسَب.
errors[].idسلسلة نصيةدائمًاالمعرّف كما طُلب.
errors[].codeإحدى القيم: not_found, not_covered, upstream_busyدائمًاnot_found: لا يوجد رمز مُدرج بهذا المعرّف. not_covered: لا أسعار لهذه البورصة بعد. upstream_busy: تعذر جلب السعر الآن، فأعد المحاولة بعد قليل.
طلب
curl -H "Authorization: Bearer $NARWHAL_API_KEY" \
  "https://api.narwhalapi.com/v1/crypto/prices?pairs=BTC-USD,ETH-USD"
استجابة نموذجية
{
  "prices": [
    {
      "pair": "BTC-USD",
      "base": "BTC",
      "quote": "USD",
      "price": "68250.5",
      "change_24h": "812.4",
      "change_24h_percent": "1.2",
      "timestamp": "2026-10-26T15:42:00Z",
      "stale": false
    }
  ],
  "errors": [
    {
      "id": "XYZ-USD",
      "code": "not_found"
    }
  ]
}

شموع أسعار زوج عملات رقمية واحد

GET /v1/crypto/{pair}/bars

شموع يومية (1d، يوم UTC واحد، تُغلق عند 00:00 UTC) أو بدقيقة واحدة (1m)، الأقدم أولًا. تصدر شمعة اليوم عند 00:00 UTC؛ ولا تظهر شمعة اليوم الجزئية أبدًا. السجل التاريخي: كامله، لكل حساب. حتى 5,000 شمعة في الصفحة، مع next_cursor؛ والمؤشر الذي لم يعد يطابق الأسعار يعيد 409 cursor_expired. استدعاء واحد لكل صفحة.

إذا تغيرت الأسعار التي يقوم عليها مؤشر، يتوقف المؤشر عن العمل ويعيد 409 cursor_expired.

MCP: الأداة crypto, action bars.

المعلمات

معلمةالموضعمطلوبالنوعالمعنى
pairمسارنعمسلسلة نصيةزوج عملات رقمية: العملة الرقمية ثم شرطة ثم عملة التسعير، مثل BTC-USD أو ETH-EUR. تصلح أي حالة أحرف، ويُقبل الشرطة المائلة بدل الشرطة. تحمل الإجابة الزوج القياسي.
intervalاستعلاملاإحدى القيم: 1d, 1m1d (شمعة واحدة لكل يوم UTC، تُغلق عند 00:00 UTC) أو 1m (شموع الدقيقة الواحدة). أي قيمة أخرى تعيد 400 invalid_interval.
startاستعلاملاسلسلة نصيةأول شمعة. 1d: تاريخ (YYYY-MM-DD)، شاملًا؛ وحذفه يعني أقدم شمعة متاحة. 1m: وقت بتوقيت UTC (YYYY-MM-DDTHH:MM:SSZ، أو تاريخ للدلالة على 00:00 UTC)، شاملًا؛ وحذفه يعني يومًا واحدًا قبل end.
endاستعلاملاسلسلة نصيةآخر شمعة. 1d: تاريخ شامل؛ وحذفه يعني آخر يوم مكتمل. 1m: وقت UTC غير شامل؛ وحذفه يعني الآن، أو بعد خمسة أيام من start. بحد أقصى 5 أيام بين start وend للقيمة 1m (400 range_too_large).
cursorاستعلاملاسلسلة نصيةnext_cursor من الصفحة السابقة، مع المعاملات نفسها.

حقول الاستجابة

حقلالنوعيُرسلالمعنى
pairسلسلة نصيةدائمًاالزوج القياسي.
startسلسلة نصيةاختياريلا يُرسل أبدًا: لا يُنقل start.
endسلسلة نصيةاختياريلا يُرسل أبدًا: لا تُقتطع الشموع اليومية.
barsقائمة كائناتدائمًا5,000 شمعة في الصفحة كحد أقصى.
bars[].timestampتاريخ ووقتدائمًابداية فترة الشمعة (UTC): 00:00 للشمعة اليومية، والدقيقة نفسها لشمعة الدقيقة الواحدة.
bars[].openسلسلة نصيةدائمًاأول سعر في الفترة.
bars[].highسلسلة نصيةدائمًاأعلى سعر في الفترة.
bars[].lowسلسلة نصيةدائمًاأدنى سعر في الفترة.
bars[].closeسلسلة نصيةدائمًاآخر سعر في الفترة.
next_cursorسلسلة نصيةدائمًاأعد إرساله لقراءة الصفحة التالية. تكون قيمته null في الصفحة الأخيرة.
طلب
curl -H "Authorization: Bearer $NARWHAL_API_KEY" \
  "https://api.narwhalapi.com/v1/crypto/BTC-USD/bars?interval=1d&start=2026-10-01"
استجابة نموذجية
{
  "pair": "BTC-USD",
  "bars": [
    {
      "timestamp": "2026-10-25T00:00:00Z",
      "open": "67210.3",
      "high": "68540.9",
      "low": "66980.1",
      "close": "68100.2"
    }
  ],
  "next_cursor": null
}

الأخطاء

تستخدم الأخطاء بنية المشكلة المشتركة مع: request_id. راجع أخطاء API والرصيد لمعرفة الشكل وترويسات الرصيد. لا تُحاسَب الطلبات الفاشلة.

الرمزالحالةالمعنى
invalid_query400معامل مفقود أو غير معروف أو مكرر أو خارج نطاقه.
invalid_id400معرّف أو زوج غير مكتوب بالصيغة التي تتوقعها هذه الواجهة.
too_many_ids400تحتوي الدفعة على أكثر من 50 معرّفًا.
invalid_interval400الفاصل الزمني ليس 1d ولا 1m، أو غير متاح لهذه الأداة.
range_too_large400النافذة أطول مما يسمح به المسار.
not_found404لا يوجد رمز مُدرج أو صندوق أو زوج بهذا المعرّف.
invalid_cursor400مؤشر الصفحة هذا لم يُعده هذا الطلب، أو أنه من طلب مختلف.
cursor_expired409تغيرت الأسعار التي يقوم عليها المؤشر. ابدأ من جديد دون المؤشر.
insufficient_credits402رصيدك أقل من تكلفة الطلب.
upstream_busy503تعذّر جلب السعر الآن. وفي الدفعة يُدرج في errors. حاول مجددًا بعد قليل.
area_unavailable503هذا القسم لا يستطيع الإجابة الآن.

هل كانت هذه الصفحة مفيدة؟