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

نرخ بازار آزاد ارز، طلا و سکه را با چند خط کد در ربات، اپلیکیشن یا وبلاگ خود بخوانید

این API چیست؟

API قیمت بازار رایگان است و کلید یا ثبت‌نام نمی‌خواهد. خروجی آن JSON است و نرخ بازار آزاد ۸ ارز و ۷ قلم طلا و سکه را به تومان برمی‌گرداند؛ همان عددهایی که در صفحه‌های سایت می‌بینید. برای ربات تلگرام، اپلیکیشن، اکسل یا وبلاگ کافی است یک درخواست GET بفرستید.

نرخ‌های ارز، طلا و سکه تقریباً هر ۱۵ دقیقه به‌روز می‌شوند (جزئیات در روش‌شناسی داده‌ها). نسخه‌ی فعلی API، v1 است و نشانی پایه‌ی آن https://gheymatbazar.com/api/v1 است.

Endpointها

متدمسیرتوضیح
GET/api/v1/ratesفهرست همه‌ی نمادها با قیمت فعلی
GET/api/v1/rates/{symbol}یک نماد؛ مثلاً /api/v1/rates/USD
GET/api/v1/history/{symbol}?days=30تاریخچه‌ی روزانه (باز، بیشینه، کمینه، پایانی)؛ days از ۱ تا ۹۰، پیش‌فرض ۳۰

متدهای HEAD و OPTIONS هم پاسخ داده می‌شوند. نام نماد به بزرگی و کوچکی حروف حساس نیست.

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

symbolنام
USDدلار آمریکا
EURیورو
GBPپوند انگلیس
AEDدرهم امارات
TRYلیر ترکیه
CNYیوان چین
CADدلار کانادا
IQDدینار عراق
AYAR18طلای ۱۸ عیار (هر گرم)
AYAR24طلای ۲۴ عیار (هر گرم)
MITHQALمثقال طلا
EMAMIسکه امامی
AZADIسکه بهار آزادی
NIMنیم‌سکه
ROBربع‌سکه

همه‌ی قیمت‌ها نرخ بازار آزاد و به تومان است. رمزارز، بورس، انس جهانی و خودرو در این نسخه نیست.

نمونه کد

curl

curl https://gheymatbazar.com/api/v1/rates/USD

curl "https://gheymatbazar.com/api/v1/history/EMAMI?days=30"

JavaScript

const res = await fetch("https://gheymatbazar.com/api/v1/rates/EUR");
const json = await res.json();
console.log(json.data.name_fa, json.data.price.toLocaleString("fa-IR"), "تومان");
// منبع: قیمت بازار (https://gheymatbazar.com/)

Python

import requests

r = requests.get("https://gheymatbazar.com/api/v1/rates", timeout=10)
r.raise_for_status()
for item in r.json()["data"]:
    print(item["symbol"], item["price"], item["change_percent"])
# منبع: قیمت بازار (https://gheymatbazar.com/)

نمونه پاسخ

GET /api/v1/rates/USD (عددها نمونه است):

{
  "data": {
    "symbol": "USD",
    "name_fa": "دلار آمریکا",
    "price": 270510,
    "unit": "toman",
    "change_percent": 0.0,
    "updated_at": "2026-11-01T05:40:12+03:30"
  },
  "attribution": {
    "name": "قیمت بازار",
    "url": "https://gheymatbazar.com/"
  }
}

GET /api/v1/rates همین ساختار را به‌صورت آرایه در data همراه با count برمی‌گرداند.

GET /api/v1/history/AYAR18?days=7:

{
  "symbol": "AYAR18",
  "name_fa": "طلای ۱۸ عیار",
  "unit": "toman",
  "days": 7,
  "data": [
    { "date": "2026-10-26", "open": 25010000, "high": 25120000, "low": 24980000, "close": 25100000 },
    { "date": "2026-10-27", "open": 25100000, "high": 25233100, "low": 25090000, "close": 25233100 }
  ],
  "attribution": { "name": "قیمت بازار", "url": "https://gheymatbazar.com/" }
}

فیلدها

فیلدنوعتوضیح
symbolstringنماد، مثل USD یا EMAMI
name_fastringنام فارسی
pricenumberآخرین قیمت به تومان
unitstringهمیشه "toman"
change_percentnumber | nullدرصد تغییر نسبت به ساعت ۰۰:۰۰ به وقت تهران
updated_atstringزمان آخرین به‌روزرسانی قیمت‌ها، ISO 8601 با منطقه‌ی زمانی +03:30
attributionobjectنام و نشانی منبع: قیمت بازار، https://gheymatbazar.com/
data[].datestringدر تاریخچه: تاریخ میلادی روز (YYYY-MM-DD)
data[].open / high / low / closenumberدر تاریخچه: قیمت باز، بیشینه، کمینه و پایانی روز به تومان

خطاها

خطاها هم JSON هستند و کد HTTP مشخص دارند:

codeHTTPمعنی
unknown_symbol404نماد در فهرست بالا نیست
invalid_days400days عدد صحیح ۱ تا ۹۰ نیست
not_found404مسیر وجود ندارد
method_not_allowed405متدی جز GET، HEAD و OPTIONS
rate_limited429بیش از ۶۰ درخواست در دقیقه؛ هدر Retry-After را ببینید
unavailable503داده موقتاً در دسترس نیست
{
  "error": {
    "code": "unknown_symbol",
    "status": 404,
    "message": "نماد پشتیبانی نمی‌شود؛ فهرست نمادها: /api/v1/rates"
  }
}

محدودیت‌ها و کش

  • حداکثر ۶۰ درخواست در دقیقه برای هر IP. بعد از آن پاسخ 429 با هدر Retry-After (ثانیه) برمی‌گردد.
  • پاسخ‌ها Cache-Control: public, max-age=30 و ETag دارند؛ با If-None-Match پاسخ 304 می‌گیرید.
  • CORS آزاد است (Access-Control-Allow-Origin: *)؛ از مرورگر هم می‌توانید مستقیم بخوانید.
  • چون نرخ‌ها تقریباً هر ۱۵ دقیقه عوض می‌شوند، درخواست بیشتر از یک بار در دقیقه فایده‌ای ندارد.

شرایط استفاده

  • استفاده رایگان است.
  • داده‌ها صرفاً برای اطلاع‌رسانی است و توصیه‌ی خرید، فروش یا سرمایه‌گذاری نیست.
  • برای دقت قیمت‌ها و در دسترس بودن سرویس ضمانتی وجود ندارد؛ نرخ بازار در هر شهر و صرافی ممکن است کمی متفاوت باشد.
  • اگر قرار باشد چیزی در API عوض شود، در بخش «تغییرات» همین صفحه نوشته می‌شود.
  • لطفاً در پروژه‌تان به «قیمت بازار» لینک بدهید، مثلاً: <a href="https://gheymatbazar.com/">قیمت بازار</a>. این یک درخواست است، نه شرط استفاده.

شرایط کلی سایت در قوانین و مقررات آمده است.

تماس

برای گزارش خطا، پیشنهاد نماد جدید یا نیاز به درخواست بیشتر، به info@gheymatbazar.com ایمیل بزنید.

تغییرات

نسخهتاریختغییر
v1آبان ۱۴۰۵انتشار اول: /api/v1/rates، /api/v1/rates/{symbol} و /api/v1/history/{symbol} برای ۱۵ نماد ارز، طلا و سکه