مستندات API

راهنمای API ارزهام

همه چیز برای یکپارچه‌سازی نرخ ارز، طلا و سکه بازار ایران در اپلیکیشن شما. RESTful، JSON و قیمت‌ها به تومان.

معرفی

API ارزهام داده‌های نرخ ارز، طلا و سکه بازار ایران را از طریق REST API در اختیار توسعه‌دهندگان قرار می‌دهد.

تمام پاسخ‌ها JSON هستند و قیمت‌ها مستقیماً به تومان برگردانده می‌شوند. برای دسترسی به اندپوینت‌های نرخ، کافی است کلید API را در هدر درخواست ارسال کنید.

Base URL

https://arzhaam.ir

فرمت

JSON

پروتکل

HTTPS

واحد قیمت

تومان

شروع سریع

در سه مرحله اولین درخواست خود را ارسال کنید.

  1. ۱

    ثبت‌نام و ساخت کلید

    در داشبورد ثبت‌نام کنید و از بخش کلیدهای API یک کلید بسازید.

  2. ۲

    ذخیره کلید

    کلید را در متغیر محیطی ARZHAM_API_KEY یا secret manager ذخیره کنید. هرگز در کد سمت کلاینت قرار ندهید.

  3. ۳

    ارسال درخواست

    کلید را در هدر X-App-Key ارسال کنید و پاسخ JSON را پردازش کنید.

اولین درخواست

curl -H "X-App-Key: YOUR_APP_KEY" \
  "https://arzhaam.ir/api/rates/latest"

احراز هویت

اندپوینت‌های نرخ نیاز به کلید API دارند. اندپوینت سلامت عمومی است و کلید نمی‌خواهد.

روش پیشنهادی: هدر X-App-Key

X-App-Key: arz_live_xxxxxxxxxxxxxxxx

روش جایگزین: Bearer Token

Authorization: Bearer arz_live_xxxxxxxxxxxxxxxx

نکته امنیتی

کلید API را در سرور یا backend نگه دارید و از داشبورد آن را به IP سرورتان، سهمیه روزانه یا ماهانه و تاریخ انقضا محدود کنید. اگر لازم است از JavaScript مرورگر استفاده کنید، کلید را به دامنه‌های سایت خودتان محدود کنید؛ فقط در این حالت پاسخ‌ها هدر CORS دارند.

اندپوینت‌ها

سه اندپوینت اصلی برای دریافت نرخ، تاریخچه و وضعیت سرویس.

GET/api/rates/latest

نرخ‌های لحظه‌ای

دارایی‌های پشتیبانی‌شده را با قیمت فعلی، تغییر ۲۴ ساعته و جهت بازار برمی‌گرداند. پرکاربردترین اندپوینت برای نمایش نرخ در اپلیکیشن. با پارامتر assets فقط دارایی‌های لازم را بگیرید تا پاسخ کوچک‌تر شود؛ در پرداخت به‌ازای مصرف هم هزینه به‌ازای هر دارایی حساب می‌شود.

URL کامل

https://arzhaam.ir/api/rates/latest

پارامترها

ناممحلنوعالزامیتوضیح
X-App-Keyheaderstringبلهکلید API ساخته‌شده از داشبورد
assetsquerystringخیرشناسه دارایی‌ها با کاما، مثلاً usd,gold_18. نرخ‌ها به همین ترتیب برمی‌گردند. بدون آن همه دارایی‌ها برمی‌گردند.

نمونه درخواست

curl -H "X-App-Key: YOUR_APP_KEY" \
  "https://arzhaam.ir/api/rates/latest"

امتحان کنید

کلید فقط در همین تب مرورگر نگه داشته می‌شود و مستقیماً به API ارسال می‌شود. درخواست‌ها از سهمیه پلن یا کیف پول شما کم می‌شوند. کلید ندارید؟ ساخت کلید

GET /api/rates/latest

نمونه پاسخ

{
  "rates": [
    {
      "assetId": "usd",
      "price": 166800,
      "changePercent24h": 1.21,
      "direction": "up",
      "updatedAt": "2026-06-25T11:24:55.000Z"
    },
    {
      "assetId": "gold_18",
      "price": 16025670,
      "changePercent24h": 2.12,
      "direction": "up",
      "updatedAt": "2026-06-25T12:30:13.000Z"
    }
  ],
  "meta": {
    "currency": "toman",
    "assetCount": 164,
    "cacheAgeMs": 120000,
    "source": "live"
  }
}

فیلدهای پاسخ

ratesRate[]

آرایه نرخ دارایی‌ها (همه، یا فقط موارد assets)

meta.currencystring

همیشه toman

meta.assetCountnumber

تعداد دارایی‌های برگردانده‌شده

meta.cacheAgeMsnumber

قدمت کَش به میلی‌ثانیه

meta.sourcestring

live یا stale در صورت استفاده از کَش قدیمی

GET/api/rates/latest/:assetId

نرخ لحظه‌ای یک دارایی

قیمت فعلی فقط یک دارایی را برمی‌گرداند؛ کوچک‌ترین پاسخ ممکن وقتی فقط به یک نرخ نیاز دارید.

URL کامل

https://arzhaam.ir/api/rates/latest/:assetId

پارامترها

ناممحلنوعالزامیتوضیح
X-App-Keyheaderstringبلهکلید API
assetIdpathstringبلهشناسه دارایی، مثلاً usd یا gold_18

نمونه درخواست

curl -H "X-App-Key: YOUR_APP_KEY" \
  "https://arzhaam.ir/api/rates/latest/usd"

امتحان کنید

کلید فقط در همین تب مرورگر نگه داشته می‌شود و مستقیماً به API ارسال می‌شود. درخواست‌ها از سهمیه پلن یا کیف پول شما کم می‌شوند. کلید ندارید؟ ساخت کلید

GET /api/rates/latest/usd

نمونه پاسخ

{
  "assetId": "usd",
  "price": 166800,
  "changePercent24h": 1.21,
  "direction": "up",
  "updatedAt": "2026-06-25T11:24:55.000Z",
  "meta": {
    "fetchedAt": "2026-06-25T12:30:15.000Z",
    "cacheAgeMs": 120000,
    "source": "live"
  }
}

فیلدهای پاسخ

assetIdstring

شناسه دارایی درخواستی

pricenumber

قیمت به تومان

changePercent24hnumber

درصد تغییر نسبت به ۲۴ ساعت قبل

direction"up" | "down" | "flat"

جهت تغییر

updatedAtstring

زمان آخرین به‌روزرسانی (ISO 8601)

meta.cacheAgeMsnumber

قدمت کَش به میلی‌ثانیه

GET/api/rates/history/:assetId

تاریخچه قیمت

سری زمانی قیمت یک دارایی را برای نمودار و تحلیل برمی‌گرداند. بازه دسترسی بسته به پلن شما متفاوت است.

URL کامل

https://arzhaam.ir/api/rates/history/:assetId

پارامترها

ناممحلنوعالزامیتوضیح
X-App-Keyheaderstringبلهکلید API
assetIdpathstringبلهشناسه دارایی، مثلاً usd یا gold_18
rangequerystringبلهیکی از 24h، 7d، 30d یا 90d

نمونه درخواست

curl -H "X-App-Key: YOUR_APP_KEY" \
  "https://arzhaam.ir/api/rates/history/usd?range=7d"

امتحان کنید

کلید فقط در همین تب مرورگر نگه داشته می‌شود و مستقیماً به API ارسال می‌شود. درخواست‌ها از سهمیه پلن یا کیف پول شما کم می‌شوند. کلید ندارید؟ ساخت کلید

GET /api/rates/history/usd?range=7d

نمونه پاسخ

{
  "assetId": "usd",
  "range": "7d",
  "points": [
    { "timestamp": "2026-06-18T12:00:00.000Z", "price": 164200 },
    { "timestamp": "2026-06-19T12:00:00.000Z", "price": 165100 },
    { "timestamp": "2026-06-25T11:24:55.000Z", "price": 166800 }
  ],
  "meta": {
    "currency": "toman",
    "pointCount": 168
  }
}

فیلدهای پاسخ

assetIdstring

شناسه دارایی درخواستی

rangestring

بازه درخواست‌شده

pointsHistoryPoint[]

نقاط قیمت در بازه

points[].timestampstring

زمان ISO 8601

points[].pricenumber

قیمت به تومان

meta.currencystring

همیشه toman

GET/api/rates/convert

تبدیل مبلغ

مبلغی از یک دارایی را با نرخ لحظه‌ای به دارایی دیگر تبدیل می‌کند؛ مثلاً ۵۰۰ دلار چند گرم طلای ۱۸ عیار است یا قیمت دلاری کالا چند تومان می‌شود. واحدها (هزار تومان سکه، دلاری بودن انس و...) در سرور یکسان می‌شوند و نیازی به محاسبه در سمت شما نیست.

URL کامل

https://arzhaam.ir/api/rates/convert

پارامترها

ناممحلنوعالزامیتوضیح
X-App-Keyheaderstringبلهکلید API
fromquerystringبلهدارایی مبدأ: یک assetId یا toman یا irr (ریال)
toquerystringبلهدارایی مقصد: یک assetId یا toman یا irr (ریال)
amountquerynumberخیرمقدار دارایی مبدأ به واحد آن (جدول دارایی‌ها). پیش‌فرض 1

نمونه درخواست

curl -H "X-App-Key: YOUR_APP_KEY" \
  "https://arzhaam.ir/api/rates/convert?from=usd&to=gold_18&amount=500"

امتحان کنید

کلید فقط در همین تب مرورگر نگه داشته می‌شود و مستقیماً به API ارسال می‌شود. درخواست‌ها از سهمیه پلن یا کیف پول شما کم می‌شوند. کلید ندارید؟ ساخت کلید

GET /api/rates/convert

نمونه پاسخ

{
  "from": {
    "assetId": "usd",
    "unit": "USD",
    "amount": 500,
    "priceToman": 244000,
    "updatedAt": "2026-09-28T17:28:50.000Z"
  },
  "to": {
    "assetId": "gold_18",
    "unit": "gram",
    "amount": 4.925253,
    "priceToman": 24770300,
    "updatedAt": "2026-09-29T06:30:15.000Z"
  },
  "rate": 0.009850506,
  "meta": {
    "currency": "toman",
    "fetchedAt": "2026-09-29T06:56:00.177Z",
    "cacheAgeMs": 100408,
    "source": "live"
  }
}

فیلدهای پاسخ

from.amountnumber

مقدار درخواستی به واحد دارایی مبدأ

to.amountnumber

نتیجه تبدیل؛ تومان و ریال رُند، بقیه تا ۶ رقم اعشار

from.unit / to.unitstring

واحد مقدار، مثلاً USD، gram، coin، mithqal یا troy_ounce

from.priceToman / to.priceTomannumber

ارزش یک واحد به تومان (برای سکه‌ها تومان کامل، نه هزار تومان)

from.updatedAt / to.updatedAtstring | null

زمان نرخ استفاده‌شده؛ برای toman و irr برابر null

ratenumber

تعداد واحد مقصد به‌ازای یک واحد مبدأ، بدون رُند

meta.currencystring

همیشه toman

GET/api/gold/quote

قیمت طلای زینتی

قیمت نهایی یک قطعه طلا را با نرخ لحظه‌ای طلای ۱۸ عیار حساب می‌کند؛ همان فرمولی که طلافروشی‌ها به کار می‌برند: ارزش طلا + اجرت + سود فروشنده + سنگ و متعلقات + مالیات بر ارزش افزوده (روی اجرت و سود). خروجی ریز اجزای قیمت را هم برمی‌گرداند تا بتوانید فاکتور یا جدول قیمت محصول را نشان دهید. افزونه وردپرس ارزهام قیمت محصولات ووکامرس را با همین فرمول به‌روز می‌کند.

URL کامل

https://arzhaam.ir/api/gold/quote

پارامترها

ناممحلنوعالزامیتوضیح
X-App-Keyheaderstringبلهکلید API
weightquerynumberبلهوزن طلا به گرم، مثلاً 3.2
wagequerystringبلهاجرت ساخت. با علامت ٪ درصدی از ارزش طلاست (18%)؛ عدد بدون ٪ بر اساس wageType خوانده می‌شود. در URL علامت ٪ را %25 بنویسید.
karatquerystringخیرعیار: 24، 22، 21، 18 یا 14. پیش‌فرض 18
wageTypequerystringخیرنوع اجرت وقتی wage بدون ٪ است: percent (درصد ارزش طلا)، per_gram (تومان به‌ازای هر گرم) یا fixed (مبلغ ثابت به تومان). پیش‌فرض percent
profitquerynumberخیرسود فروشنده به درصد، روی طلا و اجرت. پیش‌فرض 7
taxquerynumberخیرنرخ مالیات بر ارزش افزوده به درصد. پیش‌فرض 10
taxBasequerystringخیرپایه مالیات: wage_profit (اجرت + سود + سنگ، قاعده رایج طلا در ایران)، total (کل مبلغ) یا none. پیش‌فرض wage_profit
extrasquerynumberخیرقیمت سنگ، مروارید، جعبه و هر چیزی جز طلا، به تومان. پیش‌فرض 0
roundquerynumberخیرقیمت نهایی رو به بالا به این مضرب گرد می‌شود: 0، 100، 1000، 10000 یا 100000. پیش‌فرض 1000

نمونه درخواست

curl -H "X-App-Key: YOUR_APP_KEY" \
  "https://arzhaam.ir/api/gold/quote?weight=3.2&wage=18%25"

امتحان کنید

کلید فقط در همین تب مرورگر نگه داشته می‌شود و مستقیماً به API ارسال می‌شود. درخواست‌ها از سهمیه پلن یا کیف پول شما کم می‌شوند. کلید ندارید؟ ساخت کلید

GET /api/gold/quote?weight=3.2&wage=18%25&karat=18&wageType=percent&profit=7&tax=10&taxBase=wage_profit&round=1000

نمونه پاسخ

{
  "weight": 3.2,
  "karat": "18",
  "purity": 750,
  "gramPrice": 24770300,
  "breakdown": {
    "gold": 79264960,
    "wage": 14267693,
    "profit": 6547286,
    "extras": 0,
    "tax": 2081498
  },
  "total": 102162000,
  "pricing": {
    "wageType": "percent",
    "wage": 18,
    "profitPercent": 7,
    "taxPercent": 10,
    "taxBase": "wage_profit",
    "round": 1000
  },
  "rate": {
    "assetId": "gold_18",
    "priceToman": 24770300,
    "updatedAt": "2026-09-29T06:30:15.000Z"
  },
  "meta": {
    "currency": "toman",
    "fetchedAt": "2026-09-29T06:56:00.177Z",
    "cacheAgeMs": 100408,
    "source": "live"
  }
}

فیلدهای پاسخ

totalnumber

قیمت نهایی به تومان، گردشده با round

gramPricenumber

قیمت هر گرم طلا با عیار درخواستی

breakdown.goldnumber

ارزش طلا: قیمت گرم × وزن

breakdown.wagenumber

اجرت ساخت به تومان

breakdown.profitnumber

سود فروشنده به تومان

breakdown.extrasnumber

سنگ و متعلقات به تومان

breakdown.taxnumber

مالیات بر ارزش افزوده به تومان

pricingobject

پارامترهایی که در محاسبه به کار رفت، با پیش‌فرض‌ها

rate.priceTomannumber

قیمت هر گرم طلای ۱۸ عیار که مبنای محاسبه بود

meta.currencystring

همیشه toman

GET/api/market/index

شاخص هیجان بازار

عددی روزانه از ۰ تا ۱۰۰ که نشان می‌دهد بازار دلار، طلا و سکه امروز در مقایسه با ۹۰ روز اخیر چقدر پرهیجان است؛ همراه با چهار جزء آن (نوسان و شتاب دلار، حباب سکه، شکاف دلار تهران و هرات) و تاریخچه روزانه. عدد روزهای گذشته بایگانی می‌شود و تغییر نمی‌کند. روش محاسبه در صفحه شاخص هیجان بازار آمده است.

URL کامل

https://arzhaam.ir/api/market/index

پارامترها

ناممحلنوعالزامیتوضیح
X-App-Keyheaderstringبلهکلید API
rangequerystringخیربازه تاریخچه: 7d، 30d یا 90d (پیش‌فرض 7d)؛ مثل تاریخچه قیمت، بسته به پلن

نمونه درخواست

curl -H "X-App-Key: YOUR_APP_KEY" \
  "https://arzhaam.ir/api/market/index?range=7d"

امتحان کنید

کلید فقط در همین تب مرورگر نگه داشته می‌شود و مستقیماً به API ارسال می‌شود. درخواست‌ها از سهمیه پلن یا کیف پول شما کم می‌شوند. کلید ندارید؟ ساخت کلید

GET /api/market/index?range=7d

نمونه پاسخ

{
  "date": "2026-10-09",
  "score": 57,
  "level": "neutral",
  "levelFa": "متعادل",
  "live": true,
  "updatedAt": "2026-10-09T20:00:00.000Z",
  "change": { "1d": -2, "7d": -26 },
  "components": {
    "volatility": { "value": 0.00266, "score": 55, "weight": 0.3 },
    "momentum": { "value": 0.042, "score": 57, "weight": 0.3 },
    "bubble": { "value": 0.0471, "score": 91, "weight": 0.25 },
    "spread": { "value": 0.0135, "score": 70, "weight": 0.15 }
  },
  "history": [
    { "date": "2026-10-03", "score": 83, "level": "extreme" },
    { "date": "2026-10-09", "score": 57, "level": "neutral" }
  ],
  "meta": { "range": "7d", "scale": "0-100" }
}

فیلدهای پاسخ

datestring

روز تهران، YYYY-MM-DD

scorenumber

عدد شاخص، ۰ تا ۱۰۰

levelstring

calm، cool، neutral، heated یا extreme (مرزها ۲۰، ۴۰، ۶۰ و ۸۰)

levelFastring

نام فارسی وضعیت، مثلاً متعادل

liveboolean

true یعنی عدد امروز است و تا پایان روز با قیمت‌های جدید تغییر می‌کند

change.1d / change.7dnumber | null

تغییر عدد شاخص نسبت به دیروز و هفته قبل

components.<id>.scorenumber

امتیاز ۰ تا ۱۰۰ هر جزء: volatility، momentum، bubble و spread

components.<id>.valuenumber

مقدار خام جزء به صورت کسر (0.0471 یعنی ۴٫۷۱٪)

components.<id>.weightnumber

وزن جزء در شاخص

history{ date, score, level }[]

عدد روزانه در بازه، از قدیمی به جدید

GET/api/rates/on/:date

نرخ در یک تاریخ

نرخ پایانی، باز، بیشترین و کمترین قیمت هر دارایی در یک روز تقویمی تهران؛ برای ثبت فاکتورهای ارزی و اسناد حسابداری با نرخی که بتوان به آن استناد کرد. تاریخ را شمسی (1403-05-12) یا میلادی (2024-08-02) بدهید. نرخ پایانی آخرین قیمت ثبت‌شده پیش از نیمه‌شب تهران است و فیلد citation همان را به صورت یک جمله آماده برای درج در سند برمی‌گرداند. برای امروز، date.final برابر false است و close آخرین قیمت تا این لحظه است. هر روز کامل بایگانی می‌شود و تغییر نمی‌کند.

URL کامل

https://arzhaam.ir/api/rates/on/:date

پارامترها

ناممحلنوعالزامیتوضیح
X-App-Keyheaderstringبلهکلید API
datepathstringبلهتاریخ شمسی YYYY-MM-DD (ارقام فارسی هم پذیرفته می‌شود) یا تاریخ میلادی
assetsquerystringخیرشناسه دارایی‌ها با کاما، مثلاً usd,eur. بدون آن همه دارایی‌های آن روز برمی‌گردد.

نمونه درخواست

curl -H "X-App-Key: YOUR_APP_KEY" \
  "https://arzhaam.ir/api/rates/on/1405-07-01?assets=usd,eur"

امتحان کنید

کلید فقط در همین تب مرورگر نگه داشته می‌شود و مستقیماً به API ارسال می‌شود. درخواست‌ها از سهمیه پلن یا کیف پول شما کم می‌شوند. کلید ندارید؟ ساخت کلید

GET /api/rates/on/1405-07-01?assets=usd%2Ceur

نمونه پاسخ

{
  "date": {
    "jalali": "1405-07-01",
    "gregorian": "2026-09-23",
    "label": "۱ مهر ۱۴۰۵",
    "timezone": "Asia/Tehran",
    "final": true
  },
  "rates": [
    {
      "assetId": "usd",
      "nameFa": "دلار آمریکا",
      "open": 232000,
      "high": 232700,
      "low": 230700,
      "close": 232200,
      "closeToman": 232200,
      "openAt": "2026-09-22T21:00:00.000Z",
      "closeAt": "2026-09-23T20:00:00.000Z",
      "observations": 24,
      "citation": "نرخ پایانی دلار آمریکا در ۱ مهر ۱۴۰۵ (2026-09-23): ۲۳۲٬۲۰۰ تومان، به روایت ارزهام"
    },
    {
      "assetId": "eur",
      "nameFa": "یورو",
      "open": 265350,
      "high": 265470,
      "low": 263530,
      "close": 264490,
      "closeToman": 264490,
      "openAt": "2026-09-22T21:00:00.000Z",
      "closeAt": "2026-09-23T20:00:00.000Z",
      "observations": 24,
      "citation": "نرخ پایانی یورو در ۱ مهر ۱۴۰۵ (2026-09-23): ۲۶۴٬۴۹۰ تومان، به روایت ارزهام"
    }
  ],
  "missing": [],
  "meta": {
    "currency": "toman",
    "basis": "close",
    "source": "archive",
    "reference": "https://arzhaam.ir/api/rates/on/1405-07-01"
  }
}

فیلدهای پاسخ

date.jalalistring

تاریخ شمسی روز

date.gregorianstring

همان روز به میلادی

date.finalboolean

true یعنی روز تمام شده و نرخ پایانی قطعی است

rates[].closenumber

نرخ پایانی روز، با همان مقیاس نرخ لحظه‌ای و تاریخچه

rates[].closeTomannumber | null

نرخ پایانی به تومان (سکه و آبشده از هزار تومان، دارایی‌های دلاری با دلار همان روز)

rates[].open / high / lownumber

اولین، بیشترین و کمترین قیمت روز

rates[].closeAtstring

زمان ثبت نرخ پایانی (ISO 8601)

rates[].citationstring

جمله آماده استناد در فاکتور یا سند

missingstring[]

دارایی‌های درخواستی که آن روز قیمتی نداشتند

meta.referencestring

نشانی ثابت همین نرخ‌ها برای ارجاع

POST/api/quotes

قفل نرخ (ساخت پیش‌فاکتور)

یک تبدیل را با نرخ همین لحظه قیمت می‌گذارد و تا ۱۰ دقیقه زیر یک شناسه نگه می‌دارد تا صفحه پرداخت یا صرافی بتواند دقیقاً همان قیمتی را حساب کند که مشتری دید، حتی اگر بازار در این فاصله تکان بخورد. پارامترها را به صورت JSON در بدنه یا در query بفرستید. وقتی پرداخت انجام شد، با /api/quotes/{id}/redeem پیش‌فاکتور را یک‌بار مصرف کنید. اگر منبع نرخ قطع باشد و فقط داده قدیمی (stale) موجود باشد، قیمتی قفل نمی‌شود.

URL کامل

https://arzhaam.ir/api/quotes

پارامترها

ناممحلنوعالزامیتوضیح
X-App-Keyheaderstringبلهکلید API
fromquerystringبلهدارایی مبدأ، مثل usd یا gold_18
toquerystringخیردارایی مقصد. پیش‌فرض toman
amountquerynumberخیرمقدار from. پیش‌فرض 1
ttlquerynumberخیرمدت اعتبار به ثانیه، ۳۰ تا ۶۰۰. پیش‌فرض ۶۰۰ (۱۰ دقیقه)
referencequerystringخیرشناسه سفارش یا فاکتور خودتان (تا ۶۴ نویسه) که در پاسخ برمی‌گردد

نمونه درخواست

curl -X POST -H "X-App-Key: YOUR_APP_KEY" \
  -H "Content-Type: application/json" \
  -d '{"from":"usd","to":"toman","amount":250,"reference":"order-1042"}' \
  "https://arzhaam.ir/api/quotes"

امتحان کنید

کلید فقط در همین تب مرورگر نگه داشته می‌شود و مستقیماً به API ارسال می‌شود. درخواست‌ها از سهمیه پلن یا کیف پول شما کم می‌شوند. کلید ندارید؟ ساخت کلید

POST /api/quotes?from=usd&to=toman&amount=250

نمونه پاسخ

{
  "id": "qt_8f3a61c2d4e5b7a9c0d1e2f3",
  "status": "active",
  "from": {
    "assetId": "usd",
    "unit": "USD",
    "amount": 250,
    "priceToman": 268200,
    "updatedAt": "2026-10-09T20:12:40.000Z"
  },
  "to": {
    "assetId": "toman",
    "unit": "toman",
    "amount": 67050000,
    "priceToman": 1,
    "updatedAt": null
  },
  "rate": 268200,
  "reference": "order-1042",
  "createdAt": "2026-10-09T20:16:02.511Z",
  "expiresAt": "2026-10-09T20:26:02.511Z",
  "expiresInSeconds": 600,
  "redeemedAt": null,
  "meta": {
    "currency": "toman",
    "ratesFetchedAt": "2026-10-09T20:16:00.276Z"
  }
}

فیلدهای پاسخ

idstring

شناسه پیش‌فاکتور، مثل qt_8f3a…

statusstring

active، expired یا redeemed

to.amountnumber

مبلغ قفل‌شده که باید دریافت شود

ratenumber

واحد to به‌ازای هر واحد from

expiresAtstring

پایان اعتبار (ISO 8601)

expiresInSecondsnumber

ثانیه‌های باقی‌مانده تا انقضا

referencestring | null

شناسه‌ای که خودتان فرستادید

GET/api/quotes/:quoteId

وضعیت پیش‌فاکتور

پیش‌فاکتوری را که با کلیدهای حساب شما ساخته شده برمی‌گرداند: قیمت قفل‌شده، وضعیت و زمان باقی‌مانده. پیش‌فاکتورها تا ۳۰ روز پس از انقضا برای تطبیق حساب‌ها قابل خواندن هستند.

URL کامل

https://arzhaam.ir/api/quotes/:quoteId

پارامترها

ناممحلنوعالزامیتوضیح
X-App-Keyheaderstringبلهکلید API
quoteIdpathstringبلهشناسه‌ای که هنگام ساخت برگشت

نمونه درخواست

curl -H "X-App-Key: YOUR_APP_KEY" \
  "https://arzhaam.ir/api/quotes/qt_8f3a61c2d4e5b7a9c0d1e2f3"

امتحان کنید

کلید فقط در همین تب مرورگر نگه داشته می‌شود و مستقیماً به API ارسال می‌شود. درخواست‌ها از سهمیه پلن یا کیف پول شما کم می‌شوند. کلید ندارید؟ ساخت کلید

GET /api/quotes/qt_8f3a61c2d4e5b7a9c0d1e2f3

نمونه پاسخ

{
  "id": "qt_8f3a61c2d4e5b7a9c0d1e2f3",
  "status": "active",
  "to": { "assetId": "toman", "unit": "toman", "amount": 67050000, "priceToman": 1, "updatedAt": null },
  "expiresAt": "2026-10-09T20:26:02.511Z",
  "expiresInSeconds": 412,
  "redeemedAt": null
}

فیلدهای پاسخ

statusstring

active، expired یا redeemed

expiresInSecondsnumber

برای پیش‌فاکتور منقضی یا مصرف‌شده ۰

redeemedAtstring | null

زمان مصرف

POST/api/quotes/:quoteId/redeem

مصرف پیش‌فاکتور

وقتی سفارش پرداخت شد صدا بزنید تا قیمت قفل‌شده رعایت شود. هر پیش‌فاکتور فقط یک‌بار مصرف می‌شود، حتی اگر دو درخواست هم‌زمان برسند: اولی ۲۰۰ می‌گیرد و بعدی ۴۰۹ quote_redeemed. پس از انقضا پاسخ ۴۱۰ quote_expired است و باید پیش‌فاکتور تازه بسازید.

URL کامل

https://arzhaam.ir/api/quotes/:quoteId/redeem

پارامترها

ناممحلنوعالزامیتوضیح
X-App-Keyheaderstringبلهکلید API
quoteIdpathstringبلهشناسه پیش‌فاکتور

نمونه درخواست

curl -X POST -H "X-App-Key: YOUR_APP_KEY" \
  "https://arzhaam.ir/api/quotes/qt_8f3a61c2d4e5b7a9c0d1e2f3/redeem"

امتحان کنید

کلید فقط در همین تب مرورگر نگه داشته می‌شود و مستقیماً به API ارسال می‌شود. درخواست‌ها از سهمیه پلن یا کیف پول شما کم می‌شوند. کلید ندارید؟ ساخت کلید

POST /api/quotes/qt_8f3a61c2d4e5b7a9c0d1e2f3/redeem

نمونه پاسخ

{
  "id": "qt_8f3a61c2d4e5b7a9c0d1e2f3",
  "status": "redeemed",
  "to": { "assetId": "toman", "unit": "toman", "amount": 67050000, "priceToman": 1, "updatedAt": null },
  "reference": "order-1042",
  "expiresAt": "2026-10-09T20:26:02.511Z",
  "expiresInSeconds": 0,
  "redeemedAt": "2026-10-09T20:19:44.020Z"
}

فیلدهای پاسخ

statusstring

پس از مصرف موفق redeemed

redeemedAtstring

زمان مصرف (ISO 8601)

to.amountnumber

مبلغی که باید با آن تسویه کنید

GET/api/inflation

تورم و قدرت خرید

ارزش امروز یک مبلغ از سال‌های گذشته را با شاخص رسمی قیمت مصرف‌کننده حساب می‌کند: «۱۰ میلیون تومان سال ۱۳۹۵ امروز چقدر می‌ارزد؟». نرخ‌های تورم سالانه تا ۱۳۹۶ از بانک مرکزی و از ۱۳۹۷ از مرکز آمار ایران هستند و «امروز» آخرین شاخص ماهانه مرکز آمار است. مناسب سایت‌های خبری و محتوایی، ماشین‌حساب‌های مهریه و محصولات مالی. نسخه رایگان و قابل اشتراک آن در arzhaam.ir/inflation است.

URL کامل

https://arzhaam.ir/api/inflation

پارامترها

ناممحلنوعالزامیتوضیح
X-App-Keyheaderstringبلهکلید API
fromquerynumberبلهسال شمسی مبلغ، از ۱۳۵۹ تا آخرین سال کامل
amountquerynumberخیرمبلغ به تومان. پیش‌فرض 1
toquerystringخیرtoday (پیش‌فرض، آخرین شاخص ماهانه) یا یک سال شمسی

نمونه درخواست

curl -H "X-App-Key: YOUR_APP_KEY" \
  "https://arzhaam.ir/api/inflation?amount=10000000&from=1395"

امتحان کنید

کلید فقط در همین تب مرورگر نگه داشته می‌شود و مستقیماً به API ارسال می‌شود. درخواست‌ها از سهمیه پلن یا کیف پول شما کم می‌شوند. کلید ندارید؟ ساخت کلید

GET /api/inflation?from=1395&amount=10000000&to=today

نمونه پاسخ

{
  "amount": 10000000,
  "from": { "year": 1395, "cpi": 27.89 },
  "to": { "year": 1405, "month": 6, "cpi": 729.8, "label": "شهریور 1405" },
  "value": 261654562,
  "multiplier": 26.165,
  "cumulativeInflationPercent": 2516.55,
  "purchasingPowerLossPercent": 96.18,
  "annualizedInflationPercent": 38.79,
  "meta": {
    "currency": "toman",
    "cpiBase": "1400=100",
    "measure": "annual_average_cpi",
    "latestCpi": { "year": 1405, "month": 6, "publishedOn": "1405-07-08" },
    "sources": [
      { "name": "Central Bank of Iran", "url": "https://www.cbi.ir" },
      { "name": "Statistical Centre of Iran", "url": "https://amar.org.ir" }
    ]
  }
}

فیلدهای پاسخ

valuenumber

ارزش مبلغ در زمان to، به تومان

multipliernumber

نسبت قیمت‌ها در to به from

cumulativeInflationPercentnumber

رشد کل قیمت‌ها، درصد

purchasingPowerLossPercentnumber

درصد قدرت خریدی که مبلغ از دست داده

annualizedInflationPercentnumber

تورم مرکب سالانه معادل در این بازه

from.cpi / to.cpinumber

شاخص قیمت با پایه ۱۴۰۰ = ۱۰۰

meta.latestCpiobject

ماه و تاریخ انتشار آخرین شاخص به‌کاررفته

GET/api/health

سلامت سرویس

وضعیت API و اتصال به منبع داده را بررسی می‌کند. نیازی به کلید API ندارد و برای مانیتورینگ uptime مناسب است.

URL کامل

https://arzhaam.ir/api/health

نمونه درخواست

curl "https://arzhaam.ir/api/health"

امتحان کنید

GET /api/health

نمونه پاسخ

{
  "status": "ok",
  "version": "1.0.0",
  "uptime": 86400,
  "source": "connected"
}

فیلدهای پاسخ

statusstring

ok در حالت سالم

versionstring

نسخه API

uptimenumber

مدت فعالیت سرور به ثانیه

sourcestring

وضعیت اتصال به منبع داده

فیلدهای پاسخ

ساختار مشترک هر آیتم در آرایه rates.

فیلدنوعتوضیح
assetIdstringشناسه یکتا دارایی. در URL تاریخچه استفاده می‌شود.
pricenumberقیمت به تومان. نیازی به تبدیل ریال نیست.
changePercent24hnumberدرصد تغییر قیمت نسبت به ۲۴ ساعت قبل.
direction"up" | "down" | "flat"جهت تغییر. اگر تغییر کمتر از ۰.۰۵٪ باشد، flat است.
updatedAtstringزمان آخرین به‌روزرسانی قیمت (ISO 8601).

دارایی‌های پشتیبانی‌شده

164 دارایی شامل ارزها، حواله، طلا، سکه، حباب و رمزارز. هر دارایی از لحظه‌ای که منبع داده قیمتش را منتشر کند در پاسخ‌ها ظاهر می‌شود؛ حباب‌ها قیمت واحد نیستند و در تبدیل پذیرفته نمی‌شوند.

assetIdنام فارسیدستهواحد در تبدیل
usdدلار آمریکاارزUSD
usd_buyدلار خریدارزUSD
usd_farda_sellدلار فرداارزUSD
usd_farda_buyدلار فردا (خرید)ارزUSD
usd_haratدلار هراتارزUSD
usd_harat_buyدلار هرات (خرید)ارزUSD
eurیوروارزEUR
gbpپوندارزGBP
aedدرهم اماراتارزAED
aed_sellدرهم دبی (فروش)ارزAED
tryلیر ترکیهارزTRY
sarریال عربستانارزSAR
iqdدینار عراقارزIQD
kwdدینار کویتارزKWD
cadدلار کاناداارزCAD
audدلار استرالیاارزAUD
cnyیوان چینارزCNY
chfفرانک سوئیسارزCHF
rubروبل روسیهارزRUB
jpyین ژاپنارزJPY
usd_shakhsدلار حواله شخصحوالهUSD
usd_sherkatدلار حواله شرکتحوالهUSD
usd_ppدلار پی‌پالحوالهUSD
eur_ppیورو پی‌پالحوالهEUR
eur_havحواله یوروحوالهEUR
gbp_havحواله پوندحوالهGBP
cad_havحواله دلار کاناداحوالهCAD
aud_havحواله دلار استرالیاحوالهAUD
cny_havحواله یوان چینحوالهCNY
jpy_havحواله ین ژاپنحوالهJPY
try_havحواله لیر ترکیهحوالهTRY
myr_havحواله رینگیت مالزیحوالهMYR
coin_emamiسکه امامیسکهcoin
coin_baharسکه بهار آزادیسکهcoin
coin_nimنیم سکهسکهcoin
coin_robربع سکهسکهcoin
coin_geramiسکه گرمیسکهcoin
gold_18طلای ۱۸ عیارطلاgram
abshodehآبشدهطلاmithqal
gold_xauانس طلا (XAU)طلاtroy_ounce
bubble_coin_emamiحباب سکه امامیحباب—
bubble_coin_baharحباب سکه بهار آزادیحباب—
bubble_coin_nimحباب نیم سکهحباب—
bubble_coin_robحباب ربع سکهحباب—
bubble_coin_geramiحباب سکه گرمیحباب—
bubble_gold_18حباب طلای ۱۸ عیارحباب—
usdtتتررمزارزUSDT
btcبیت‌کوینرمزارزBTC
ethاتریومرمزارزETH
bnbبایننس کوینرمزارزBNB
xrpریپلرمزارزXRP
ltcلایت‌کوینرمزارزLTC
dashدشرمزارزDASH
eosایاسرمزارزEOS
afnافغانی افغانستانارزAFN
allلک آلبانیارزALL
amdدرام ارمنستانارزAMD
aoaکوانزای آنگولاارزAOA
arsپزوی آرژانتینارزARS
aznمنات آذربایجانارزAZN
bamمارک بوسنیارزBAM
bdtتاکای بنگلادشارزBDT
bgnلف بلغارستانارزBGN
bhdدینار بحرینارزBHD
bifفرانک بوروندیارزBIF
bndدلار برونئیارزBND
bobبولیویانوی بولیویارزBOB
brlرئال برزیلارزBRL
bsdدلار باهاماارزBSD
bynروبل بلاروسارزBYN
bzdدلار بلیزارزBZD
cdfفرانک کنگوارزCDF
clpپزوی شیلیارزCLP
copپزوی کلمبیاارزCOP
crcکولون کاستاریکاارزCRC
cupپزوی کوباارزCUP
czkکرون چکارزCZK
djfفرانک جیبوتیارزDJF
dkkکرون دانمارکارزDKK
dopپزوی دومینیکنارزDOP
dzdدینار الجزایرارزDZD
egpپوند مصرارزEGP
etbبیر اتیوپیارزETB
fjdدلار فیجیارزFJD
gelلاری گرجستانارزGEL
ghsسدی غناارزGHS
gmdدالاسی گامبیاارزGMD
gnfفرانک گینهارزGNF
gtqکتزال گواتمالاارزGTQ
hkdدلار هنگ‌کنگارزHKD
hnlلمپیرای هندوراسارزHNL
hrkکونای کرواسیارزHRK
htgگورد هائیتیارزHTG
idrروپیه اندونزیارزIDR
inrروپیه هندارزINR
iskکرون ایسلندارزISK
jmdدلار جامائیکاارزJMD
jodدینار اردنارزJOD
kesشیلینگ کنیاارزKES
kgsسوم قرقیزستانارزKGS
khrریل کامبوجارزKHR
krwوون کره جنوبیارزKRW
kztتنگه قزاقستانارزKZT
lakکیپ لائوسارزLAK
lbpپوند لبنانارزLBP
lkrروپیه سری‌لانکاارزLKR
lrdدلار لیبریاارزLRD
lydدینار لیبیارزLYD
madدرهم مراکشارزMAD
mdlلئوی مولداویارزMDL
mkdدینار مقدونیهارزMKD
mmkکیات میانمارارزMMK
mntتوگروگ مغولستانارزMNT
mroاوگوئیای موریتانیارزMRO
murروپیه موریسارزMUR
mvrروفیه مالدیوارزMVR
mwkکواچای مالاویارزMWK
mxnپزوی مکزیکارزMXN
myrرینگیت مالزیارزMYR
mznمتیکال موزامبیکارزMZN
ngnنایرای نیجریهارزNGN
nioکوردوبای نیکاراگوئهارزNIO
nokکرون نروژارزNOK
nprروپیه نپالارزNPR
nzdدلار نیوزیلندارزNZD
omrریال عمانارزOMR
pabبالبوآی پاناماارزPAB
penسول پروارزPEN
pgkکینای پاپوآ گینه نوارزPGK
phpپزوی فیلیپینارزPHP
pkrروپیه پاکستانارزPKR
plnزلوتی لهستانارزPLN
pygگوارانی پاراگوئهارزPYG
qarریال قطرارزQAR
rsdدینار صربستانارزRSD
rwfفرانک روانداارزRWF
sbdدلار جزایر سلیمانارزSBD
scrروپیه سیشلارزSCR
sdgپوند سودانارزSDG
sekکرون سوئدارزSEK
sgdدلار سنگاپورارزSGD
sllلئون سیرالئونارزSLL
sosشیلینگ سومالیارزSOS
srdدلار سورینامارزSRD
sspپوند سودان جنوبیارزSSP
sypپوند سوریهارزSYP
szlلیلانگنی اسواتینیارزSZL
thbبات تایلندارزTHB
tjsسامانی تاجیکستانارزTJS
tmtمنات ترکمنستانارزTMT
tndدینار تونسارزTND
ttdدلار ترینیداد و توباگوارزTTD
twdدلار تایوانارزTWD
tzsشیلینگ تانزانیاارزTZS
uahگریونای اوکراینارزUAH
ugxشیلینگ اوگانداارزUGX
uyuپزوی اروگوئهارزUYU
uzsسوم ازبکستانارزUZS
vndدونگ ویتنامارزVND
wstتالای ساموآارزWST
xafفرانک آفریقای مرکزیارزXAF
xcdدلار کارائیب شرقیارزXCD
xofفرانک آفریقای غربیارزXOF
zarرند آفریقای جنوبیارزZAR

محدودیت درخواست

سقف درخواست بر اساس پلن شما اعمال می‌شود. در صورت عبور از سقف، خطای 429 دریافت می‌کنید.

پلندر دقیقهدر ساعتدر روزدر ماهتاریخچهبه‌روزرسانی
دوره آزمایشی102001000—۷ روزلحظه‌ای
استارتر205003000—۷ روزلحظه‌ای
حرفه‌ای60200015000—۳۰ روزلحظه‌ای
کسب‌وکار30010000100000—۹۰ روزلحظه‌ای

هدرهای محدودیت

هر پاسخ موفق یا ناموفق (پس از احراز هویت) این هدرها را دارد تا بتوانید پیش از رسیدن به سقف، سرعت درخواست‌ها را تنظیم کنید.

X-RateLimit-Limitسقف درخواست در تنگ‌ترین بازه پلن شما
X-RateLimit-Remainingتعداد درخواست باقی‌مانده در همان بازه
X-RateLimit-Resetثانیه تا آزاد شدن ظرفیت بازه
X-RateLimit-Windowنام بازه: minute، hour، day یا month
X-Wallet-Balanceفقط در حالت پرداخت به‌ازای مصرف: موجودی کیف پول به تومان پس از این درخواست

هدر Retry-After در پاسخ 429 زمان انتظار تا درخواست بعدی را نشان می‌دهد.

خطاها

تمام خطاها با ساختار یکسان و کد HTTP مناسب برگردانده می‌شوند.

400invalid_rangeپارامتر نامعتبر

مقدار range باید یکی از 24h، 7d، 30d یا 90d باشد.

{
  "error": "invalid_range",
  "message": "range must be one of 24h, 7d, 30d, or 90d"
}
400invalid_assetsفهرست دارایی نامعتبر

پارامتر assets خالی است، بیش از ۵۰ شناسه دارد یا شناسه‌ای با قالب نادرست دارد.

{
  "error": "invalid_assets",
  "message": "assets must list at least one asset id"
}
400invalid_assetدارایی نامعتبر

پارامترهای from و to در تبدیل مبلغ ارسال نشده یا assetId ناشناخته است.

{
  "error": "invalid_asset",
  "message": "Unknown asset: xyz"
}
400invalid_amountمقدار نامعتبر

amount باید عدد اعشاری نامنفی با ارقام انگلیسی و بدون جداکننده هزارگان باشد.

{
  "error": "invalid_amount",
  "message": "amount must be a non-negative decimal number such as 500 or 2.5"
}
400invalid_parameterپارامتر قیمت طلا نامعتبر

در قیمت طلای زینتی، weight یا wage ارسال نشده یا یکی از پارامترها خارج از محدوده مجاز است. پیام خطا نام پارامتر را می‌گوید.

{
  "error": "invalid_parameter",
  "message": "weight is required: grams greater than 0 and no greater than 100000, e.g. 3.2"
}
400invalid_dateتاریخ نامعتبر

تاریخ در نرخ یک تاریخ قابل خواندن نیست، در تقویم وجود ندارد (مثل ۳۰ اسفند سال غیرکبیسه) یا در آینده است.

{
  "error": "invalid_date",
  "message": "1404-12-30 is not a valid Jalali date"
}
400invalid_bodyبدنه نامعتبر

بدنه درخواست ساخت پیش‌فاکتور JSON معتبری از نوع شیء نیست.

{
  "error": "invalid_body",
  "message": "Request body must be a JSON object"
}
401unauthorizedکلید نامعتبر

هدر X-App-Key ارسال نشده، کلید اشتباه است یا ابطال/چرخش شده است.

{
  "error": "unauthorized",
  "message": "Invalid or missing API key"
}
401key_expiredکلید منقضی شده

تاریخ انقضایی که برای این کلید در داشبورد تعیین شده گذشته است. تاریخ را تمدید کنید یا کلید جدیدی بسازید.

{
  "error": "key_expired",
  "message": "This API key expired at 2026-10-01T20:29:59.000Z"
}
402trial_expiredپایان دوره آزمایشی

۵ روز آزمایشی حساب شما تمام شده است. برای ادامه، از داشبورد یک پلن تهیه کنید یا کیف پول پرداخت به‌ازای مصرف را شارژ کنید.

{
  "error": "trial_expired",
  "message": "Your free trial has ended. Choose a plan or top up a pay-as-you-go wallet at https://arzhaam.ir/dashboard/billing to keep using the API."
}
402subscription_expiredپایان اشتراک

دوره اشتراک و ۳ روز مهلت تمدید آن تمام شده است. از داشبورد اشتراک را تمدید کنید یا کیف پول را شارژ کنید.

{
  "error": "subscription_expired",
  "message": "Your subscription has expired. Renew or top up a pay-as-you-go wallet at https://arzhaam.ir/dashboard/billing to keep using the API."
}
402insufficient_balanceموجودی ناکافی کیف پول

پلن فعالی ندارید و موجودی کیف پول پرداخت به‌ازای مصرف برای این درخواست کافی نیست. کیف پول را شارژ کنید یا پلن بخرید.

{
  "error": "insufficient_balance",
  "message": "Your pay-as-you-go wallet balance is too low. Top up at https://arzhaam.ir/dashboard/billing or choose a plan to keep using the API."
}
403forbiddenدسترسی محدود

پلن شما به این بازه تاریخچه یا قابلیت دسترسی ندارد.

{
  "error": "forbidden",
  "message": "History range 30d requires Pro plan or higher"
}
403ip_not_allowedIP مجاز نیست

کلید به فهرست IP یا بازه CIDR مشخصی محدود شده و درخواست از آدرس دیگری آمده است.

{
  "error": "ip_not_allowed",
  "message": "Requests from 203.0.113.7 are not allowed for this API key"
}
403referrer_not_allowedدامنه مجاز نیست

کلید به دامنه‌های مشخصی محدود شده و هدر Origin یا Referer درخواست با آن‌ها مطابقت ندارد یا ارسال نشده است.

{
  "error": "referrer_not_allowed",
  "message": "Requests from evil.example are not allowed for this API key"
}
404asset_not_foundدارایی یافت نشد

assetId در مسیر یا یکی از شناسه‌های پارامتر assets معتبر نیست.

{
  "error": "asset_not_found",
  "message": "Unknown asset: xyz"
}
404date_unavailableنرخی برای این تاریخ نیست

برای آن روز نرخی ثبت نشده است؛ معمولاً چون تاریخ پیش از شروع بایگانی نرخ‌هاست. پیام خطا اولین تاریخ موجود را می‌گوید.

{
  "error": "date_unavailable",
  "message": "Rates are available from 1405-04-20 (2026-07-11) onwards"
}
404quote_not_foundپیش‌فاکتور یافت نشد

شناسه پیش‌فاکتور وجود ندارد، بیش از ۳۰ روز از انقضایش گذشته یا متعلق به حساب دیگری است.

{
  "error": "quote_not_found",
  "message": "Unknown quote: qt_8f3a61c2d4e5b7a9c0d1e2f3"
}
409quote_redeemedپیش‌فاکتور قبلاً مصرف شده

این پیش‌فاکتور یک‌بار مصرف شده و دوباره قابل استفاده نیست.

{
  "error": "quote_redeemed",
  "message": "Quote qt_8f3a61c2d4e5b7a9c0d1e2f3 was already redeemed at 2026-10-09T20:19:44.020Z"
}
410quote_expiredپیش‌فاکتور منقضی شده

زمان اعتبار پیش‌فاکتور تمام شده است. یک پیش‌فاکتور تازه با نرخ جدید بسازید.

{
  "error": "quote_expired",
  "message": "Quote qt_8f3a61c2d4e5b7a9c0d1e2f3 expired at 2026-10-09T20:26:02.511Z; create a new one"
}
429rate_limit_exceededمحدودیت درخواست

سقف پلن شما پر شده است. هدر Retry-After و فیلد retryAfter تعداد ثانیه تا درخواست بعدی را نشان می‌دهند.

{
  "error": "rate_limit_exceeded",
  "message": "Rate limit exceeded",
  "retryAfter": 42
}
429key_quota_exceededسهمیه کلید تمام شده

سهمیه روزانه یا ماهانه‌ای که برای همین کلید تعیین کرده‌اید پر شده است (مستقل از سقف پلن). Retry-After زمان آغاز روز یا ماه بعد به وقت تهران را نشان می‌دهد.

{
  "error": "key_quota_exceeded",
  "message": "This API key has used its daily quota of 1000 requests",
  "retryAfter": 3600
}
503rates_unavailableمنبع در دسترس نیست

سرویس نرخ موقتاً در دسترس نیست. چند ثانیه بعد دوباره تلاش کنید.

{
  "error": "rates_unavailable",
  "message": "Rates service is temporarily unavailable"
}

سوالات متداول