این 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/" }
}
فیلدها
| فیلد | نوع | توضیح |
|---|---|---|
symbol | string | نماد، مثل USD یا EMAMI |
name_fa | string | نام فارسی |
price | number | آخرین قیمت به تومان |
unit | string | همیشه "toman" |
change_percent | number | null | درصد تغییر نسبت به ساعت ۰۰:۰۰ به وقت تهران |
updated_at | string | زمان آخرین بهروزرسانی قیمتها، ISO 8601 با منطقهی زمانی +03:30 |
attribution | object | نام و نشانی منبع: قیمت بازار، https://gheymatbazar.com/ |
data[].date | string | در تاریخچه: تاریخ میلادی روز (YYYY-MM-DD) |
data[].open / high / low / close | number | در تاریخچه: قیمت باز، بیشینه، کمینه و پایانی روز به تومان |
خطاها
خطاها هم JSON هستند و کد HTTP مشخص دارند:
| code | HTTP | معنی |
|---|---|---|
unknown_symbol | 404 | نماد در فهرست بالا نیست |
invalid_days | 400 | days عدد صحیح ۱ تا ۹۰ نیست |
not_found | 404 | مسیر وجود ندارد |
method_not_allowed | 405 | متدی جز GET، HEAD و OPTIONS |
rate_limited | 429 | بیش از ۶۰ درخواست در دقیقه؛ هدر Retry-After را ببینید |
unavailable | 503 | داده موقتاً در دسترس نیست |
{
"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} برای ۱۵ نماد ارز، طلا و سکه |