JavaScriptfetch
const url = "https://api.persianfx.com/api.php?date=2026-10-06";
fetch(url)
.then(r => r.json())
.then(data => {
console.log(data.count);
console.log(data.events);
});API تقویم اقتصادی PersianFX رویدادهای اقتصادی ذخیرهشده را در قالب JSON ارائه میکند. هر رویداد علاوه بر اطلاعات عمومی و دادههای Actual / Forecast / Previous / Revised، میتواند عضویت و شدت اثر جداگانه برای بازارهای فارکس، کریپتو، فلزات و انرژی داشته باشد.
درخواستها از نوع GET و خروجی JSON با UTF-8 است.
https://api.persianfx.com/api.phpJSONAPI دو حالت اصلی دارد: دریافت رویدادهای یک روز یا دریافت یک رویداد با شناسه داخلی.
| پارامتر | نوع | اجباری | توضیح | نمونه |
|---|---|---|---|---|
date | YYYY-MM-DD | خیر | تاریخ موردنظر. اگر ارسال نشود، تاریخ امروز بر اساس Asia/Tehran استفاده میشود. | ?date=2026-10-06 |
id | Integer | خیر | شناسه داخلی جدول economic_events.id. در این حالت پاسخ، یک Event Object مستقیم است. | ?id=154 |
market، currency و impact در نسخه فعلی API بهصورت سروری پیادهسازی نشدهاند؛ در صورت نیاز، خروجی events را در سمت کلاینت فیلتر کنید.نمونه دریافت رویدادهای یک تاریخ مشخص
const url = "https://api.persianfx.com/api.php?date=2026-10-06";
fetch(url)
.then(r => r.json())
.then(data => {
console.log(data.count);
console.log(data.events);
});<?php
$url = "https://api.persianfx.com/api.php?date=2026-10-06";
$data = json_decode(file_get_contents($url), true);
foreach ($data['events'] as $event) {
echo $event['time'] . ' - ';
echo $event['currency'] . ' - ';
echo $event['event_name'] . PHP_EOL;
}
?>import requests
url = "https://api.persianfx.com/api.php"
r = requests.get(url, params={"date": "2026-10-06"})
data = r.json()
for event in data["events"]:
print(event["time"], event["currency"], event["event_name"])fetch("https://api.persianfx.com/api.php?id=154")
.then(r => r.json())
.then(event => {
console.log(event.event_name);
console.log(event.actual);
});پاسخ ?date=YYYY-MM-DD شامل اطلاعات ریشه و آرایه events است.
{
"status": "success",
"date": "2026-10-06",
"count": 25,
"events": [
{
"id": 154,
"external_id": 19398,
"event_definition_id": 275,
"event_name": "BOJ Gov Ueda Speaks",
"event_name_fa": "سخنرانی اوئدا - رئیس بانک مرکزی ژاپن",
"currency": "JPY",
"currency_name": "ین ژاپن",
"currency_market": "forex",
"date": "2026-10-06",
"time": "10:05:00",
"time_model_name": null,
"impact": "high",
"crypto_effect": "low",
"metal_effect": "low",
"energy_effect": "low",
"market_forex": 1,
"market_crypto": 1,
"market_metal": 1,
"market_energy": 1,
"actual": null,
"forecast": null,
"previous": null,
"revised": null,
"description": "...",
"usual_effect": "...",
"usual_effect_crypto": "...",
"usual_effect_metals": "...",
"usual_effect_energy": "...",
"source_name": "بانک مرکزی ژاپن",
"source_link": "https://www.boj.or.jp/en/index.htm/",
"next_release": null,
"source_type": "forex",
"status": "waiting",
"created_at": "2026-10-06 12:00:00",
"updated_at": "2026-10-06 12:00:00"
}
]
}| Field | توضیح |
|---|---|
status | در پاسخ روزانه موفق مقدار success دارد. |
date | تاریخی که برای آن درخواست انجام شده است. |
count | تعداد رویدادهای موجود در آرایه events. |
events | آرایه رویدادهای اقتصادی همان روز. |
فیلدهای اصلی هر Event Object
| Field | توضیح |
|---|---|
id | شناسه داخلی رکورد در دیتابیس PersianFX؛ برای درخواست ?id=... و polling قابل استفاده است. |
external_id | شناسه یکتای occurrence از منبع. مبنای جلوگیری از رکورد تکراری و UPSERT است. |
event_definition_id | شناسه تعریف کلی نوع رویداد در منبع. |
event_name | نام انگلیسی رویداد. |
event_name_fa | نام فارسی رویداد. |
currency | نماد ارز یا دارایی مرتبط، مانند USD، EUR، JPY یا OIL. |
currency_name | نام فارسی ارز/دارایی مرتبط. |
currency_market | دسته بازار اصلی اعلامشده توسط منبع. |
date | تاریخ وقوع/انتشار رویداد. |
time | ساعت رویداد در دیتابیس. |
time_model_name | توضیح زمانی خاص مانند «کلروز»، «نامشخص» یا نام دوره؛ ممکن است null باشد. |
شدت اثر هر بازار مستقل است و پرچم عضویت مشخص میکند رویداد در کدام دستههای منبع حضور داشته است.
impactشدت اثر رویداد در فارکس.crypto_effectشدت اثر در بازار کریپتو.metal_effectشدت اثر در بازار فلزات.energy_effectشدت اثر در بازار انرژی.low mid / medium high none / null
market_forex1 یعنی رویداد در بخش Forex منبع دیده شده است.market_crypto1 یعنی رویداد در بخش Crypto منبع دیده شده است.market_metal1 یعنی رویداد در بخش Metals منبع دیده شده است.market_energy1 یعنی رویداد در بخش Energy منبع دیده شده است.market_* استفاده کنید؛ برای نمایش شدت اثر، ستون متناظر همان بازار را بخوانید. ممکن است یک رویداد همزمان عضو چند بازار باشد.actualمقدار واقعی منتشرشده؛ قبل از انتشار معمولاً null است.forecastمقدار پیشبینی بازار.previousمقدار قبلی.revisedنسخه اصلاحشده مقدار قبلی.statuswaiting قبل از دریافت actual و published پس از آن.created_atزمان ایجاد رکورد در دیتابیس.updated_atآخرین زمان بهروزرسانی رکورد.| Field | توضیح |
|---|---|
description | توضیح اختصاصی occurrence یا اطلاعیه رویداد. |
measures | شرح اینکه شاخص یا رویداد چه چیزی را اندازهگیری میکند. |
usual_effect | اثر معمول نتیجه بر فارکس. |
usual_effect_crypto | اثر معمول بر کریپتو. |
usual_effect_metals | اثر معمول بر فلزات. |
usual_effect_energy | اثر معمول بر انرژی. |
why_trader_cares | دلیل اهمیت رویداد برای معاملهگران. |
frequently | تناوب/زمانبندی انتشار طبق متن منبع. |
frequency | alias سازگاری برای frequently. |
ff_note | یادداشت عمومی منبع درباره این نوع رویداد. |
ff_notice | اطلاعیه اختصاصی occurrence فعلی. |
derived_via | روش محاسبه یا استخراج داده، در صورت وجود. |
speaker | نام/سمت سخنران برای رویدادهای سخنرانی. |
also_called | نام دیگر رویداد. |
acro_expand | توضیح کامل مخفف. |
abbreviation | alias سازگاری برای acro_expand. |
| Field | توضیح |
|---|---|
source_name | نام سازمان یا منبع منتشرکننده. |
source_link | لینک منبع. |
intro_link | لینک معرفی تکمیلی، در صورت وجود. |
intro_link_text | متن لینک معرفی. |
next_release | تاریخ انتشار بعدی در صورت اعلام منبع. |
is_rate | مشخص میکند رویداد از نوع نرخ بهره است یا خیر؛ 0/1/null. |
rate_name | نام نرخ مرتبط در صورت وجود. |
source_type | نوع نمایشی که بهعنوان رکورد canonical نگه داشته شده است. برای تشخیص بازارهای مرتبط، از market_* استفاده کنید. |
raw_json در دیتابیس داخلی ذخیره میشود، اما عمداً در خروجی عمومی api.php ارسال نمیشود.نسخه فعلی API همه رویدادهای تاریخ را برمیگرداند.
const cryptoEvents = data.events.filter(
event => Number(event.market_crypto) === 1
);
cryptoEvents.forEach(event => {
console.log(event.event_name, event.crypto_effect);
});const highForex = data.events.filter(event =>
Number(event.market_forex) === 1 &&
event.impact === "high"
);const highMetals = data.events.filter(event =>
Number(event.market_metal) === 1 &&
event.metal_effect === "high"
);const usdEvents = data.events.filter(
event => event.currency === "USD"
);null باشند؛ کد مصرفکننده باید null-safe باشد.market_* برای عضویت و از فیلد اثر همان بازار برای شدت استفاده کنید.actual معمولاً null و status برابر waiting است. پس از دریافت actual، وضعیت به published تغییر میکند.id شناسه داخلی PersianFX است، نه external_id.date فرمت معتبر YYYY-MM-DD نداشته باشد، API پاسخ HTTP 400 با {"error":"Invalid date"} میدهد.?id=... اگر رویداد را پیدا نکند، آبجکت {"error":"Event not found"} برمیگرداند.https://api.persianfx.com/api.php?date=2026-10-06GET