واجهة برمجة تطبيقات صرف العملات للمطورين

يوفر CurrencyRateAPI وصولاً سريعاً للغاية إلى أسعار صرف العملات الأجنبية الحديثة والتاريخية التي يتم الحصول عليها مباشرة من البنوك المركزية الموثوقة، بما في ذلك البنك المركزي الأوروبي.

تم تصميم واجهة برمجة التطبيقات RESTful الخاصة بنا للمطورين، وهي توفر استجابات JSON نظيفة وتدعم التكامل السهل مع مواقع الويب أو التطبيقات أو الأنظمة الداخلية في دقائق - بدون أي تعقيد غير ضروري.

GET https://currencyrateapi.com/api/latest?
    base=USD HTTP/1.1

{
    "success": true,
    "base": "usd",
    "date": "2026-01-18",
    "rates": {
        "GBP": 0.8820,
        "JPY": 132.36,
        "EUR": 0.8133
    },
    "last_update_unix": 1737214206
}

استخدام واجهة برمجة التطبيقات

استخدم هذا الطلب لاسترداد القائمة الكاملة للعملات المدعومة مع رموزها المكونة من 3 أحرف.

GET https://currencyrateapi.com/api/codes HTTP/1.1

استخدم هذا الطلب للحصول على أحدث أسعار صرف الجنيه الإسترليني والين الياباني مقابل الدولار الأمريكي

GET https://currencyrateapi.com/api/latest?base=USD&codes=GBP,JPY HTTP/1.1

استخدم هذا الطلب للحصول على أسعار الصرف التاريخية للدولار الأمريكي واليورو والدولار الكندي مقارنة بالجنيه الإسترليني في 25 مايو 2020

GET https://currencyrateapi.com/api/2020-05-25?base=GBP&codes=USD,EUR,CAD HTTP/1.1

لغات البرمجة

يمكن دمج CurrencyRateAPI في أي مشروع ويدعم جميع لغات البرمجة الرئيسية
صُممت واجهة برمجة التطبيقات الخاصة بنا لتوفير المرونة وسهولة الاستخدام، وهي تتناسب بشكل طبيعي مع تطبيقات الويب والهواتف المحمولة والتطبيقات الخلفية - بغض النظر عن مجموعة التقنيات التي تستخدمها
$baseCurrency = 'USD';
$codes = 'EUR,CAD,JPY';

$url = 'https://currencyrateapi.com/api/latest?codes=' . $codes .
       '&base=' . $baseCurrency;

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$jsonResponse = curl_exec($ch);
curl_close($ch);

$objResponse = json_decode($jsonResponse);
echo "1 " . $baseCurrency . " is " . $objResponse->rates->EUR . " Euros";
/* Outputs 1 USD is 0.8133 Euros */
base = 'USD'
codes = 'EUR,CAD,JPY'

url = (
    f'https://currencyrateapi.com/api/latest?codes={codes}'
    f'&base={base}'
)

response = requests.get(url)
data = response.json()

print(f"1 {base} is {data['rates']['EUR']} Euros")
const base = 'USD';
const codes = 'EUR,CAD,JPY';

const url = `https://currencyrateapi.com/api/latest?codes=${codes}` +
            `&base=${base}`;

(async () => {
  try {
    const res = await fetch(url);
    const data = await res.json();
    console.log(
      `1 ${base} is ${data.rates.EUR} Euros`
    );
  } catch (err) {
    console.error('Error:', err);
  }
})();
base = 'USD'
codes = 'EUR,CAD,JPY'

url = URI(
  "https://currencyrateapi.com/api/latest?codes=#{codes}" \
  "&base=#{base}"
)

response = Net::HTTP.get(url)
data = JSON.parse(response)

puts "1 #{base} is #{data['rates']['EUR']} Euros"
String base = "USD";
String codes = "EUR,CAD,JPY";
String url = "https://currencyrateapi.com/api/latest?codes=" +
             codes + "&base=" + base;

HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create(url))
    .build();

HttpResponse<String> response =
    client.send(request, HttpResponse.BodyHandlers.ofString());

JSONObject data = new JSONObject(response.body());
System.out.println(
    "1 " + base + " is " +
    data.getJSONObject("rates").getDouble("EUR") + " Euros"
);
base := "USD"
codes := "EUR,CAD,JPY"
url := "https://currencyrateapi.com/api/latest?codes=" +
       codes + "&base=" + base

resp, err := http.Get(url)
if err != nil {
    panic(err)
}
defer resp.Body.Close()

var data struct {
    Rates map[string]float64 `json:"rates"`
}

if err := json.NewDecoder(resp.Body).Decode(&data); err != nil {
    panic(err)
}

fmt.Printf(
    "1 %s is %.6f Euros\n",
    base, data.Rates["EUR"],
)
string base = "USD";
string codes = "EUR,CAD,JPY";

string url =
    $"https://currencyrateapi.com/api/latest?codes={codes}" +
    $"&base={base}";

using HttpClient client = new HttpClient();
string response = await client.GetStringAsync(url);

using JsonDocument doc = JsonDocument.Parse(response);
double eur = doc.RootElement
                .GetProperty("rates")
                .GetProperty("EUR")
                .GetDouble();

Console.WriteLine($"1 {base} is {eur} Euros");

الأسئلة الشائعة

الأسئلة الأكثر شيوعًا حول CurrencyRateAPI، وحدود الاستخدام، ووقت التشغيل، وكيفية البدء باستخدام مفتاح API الخاص بك
ما هو CurrencyRateAPI وكيف يعمل؟
واجهة برمجة تطبيقات أسعار العملات هي خدمة RESTful سريعة وموثوقة توفر أسعار صرف دقيقة 1131 من العملات العالمية بصيغة JSON. صُممت هذه الواجهة للمطورين والشركات الناشئة والشركات القائمة على حد سواء، وتوفر واجهة بسيطة وفعالة للوصول إلى البيانات المالية الآنية والتاريخية، سواء كنت تقوم ببناء أدوات داخلية أو تطبيقات أو منصات موجهة للعملاء.
من المسؤول عن صيانة وتشغيل خدمة واجهة برمجة تطبيقات أسعار العملات؟
تم تطوير واجهة برمجة تطبيقات أسعار العملات وصيانتها وتشغيلها بالكامل من قبل فريقنا، مع التركيز على توفير واجهة بيانات مستقرة وسهلة الاستخدام للمطورين. صُممت هذه الخدمة لتلبية احتياجات الشركات الناشئة والشركات الصغيرة وتطبيقات المؤسسات التي تتطلب وصولاً موثوقاً إلى بيانات أسعار صرف العملات.
ما هو وقت التشغيل والتوافر النموذجي لواجهة برمجة التطبيقات (API)؟
تحافظ واجهة برمجة تطبيقات أسعار العملات على وقت تشغيل ثابت بنسبة 99.9%، استنادًا إلى متوسط متحرك لمدة 12 شهرًا. وتتم مراقبة الخدمة على مدار الساعة طوال أيام الأسبوع لضمان توفرها العالي وموثوقيتها وإمكانية الوصول المستمر إلى بيانات صرف العملات.
هل يمكنني الحصول على أسعار الصرف لتاريخ محدد؟
نعم، يمكنك طلب أسعار الصرف التاريخية لأي تاريخ محدد بدءًا من 4 يناير 1999 باستخدام نقطة نهاية التاريخ. في حال عدم توفر بيانات التاريخ المطلوب، ستُعيد واجهة برمجة التطبيقات تلقائيًا أسعار الصرف لأقرب تاريخ سابق (ضمن فترة 8 أيام).