پرش به محتوا

شروع سریع

شروع به هر زبانی

FXMacroData API یک JSON REST API استاندارد برای استفاده در سمت سرور است. هر زبانی با پشتیبانی از HTTP کار می‌کند. داده‌های اعلان USD، تقویم انتشار USD و کاتالوگ داده‌ها بدون کلید رایگان هستند: مربوط به 90 روز اخیر، با تأخیر انتشار 15 دقیقه‌ای، تا سقف 100 درخواست در روز. مقادیر پیش‌بینی (شامل USD)، هر ارز دیگر، انتشار به‌لحظه و تاریخچه کامل به یک کلید API نیاز دارند که در X-API-Key header. مشاهده موارد رایگان

پایه URL

https://api.fxmacrodata.com

احراز هویت

X-API-Key: YOUR_API_KEY

Authorization: Bearer YOUR_API_KEY

نسخه قدیمی ?api_key= پارامتر پرس‌وجو منسوخ شده است: کلیدهای موجود در URLها در لاگ‌ها ثبت می‌شوند.

قالب پاسخ

JSON (Content-Type: application/json)

تولید خودکار کلاینت‌های تایپ شده: استفاده از منتشر شده مشخصات OpenAPI 3.1 با openapi-generator-cli برای تولید خودکار کلاینت‌ها در زبان‌های 40+.
بهبودهای رایگان عملکرد: ارسال Accept-Encoding: gzip در هر درخواست (8–12× پادمان‌های کوچک‌تر)، دوباره استفاده کنید از ETag سرآیند پاسخ در If-None-Match در نظرسنجی‌های تکراری (برمی‌گرداند 304 Not Modified بدون بدنه)، و ارسال ?limit=50 در نقاط انتهایی تک-شاخص مانند /v1/announcements/usd/inflation یا /v1/predictions/usd/inflation زمانی که فقط به ردیف‌های اخیر نیاز دارید. مشاهده مرجع کامل →
فراخوانی API از سرور شما: API هدرهای CORS را به مبدأهای مرورگر ارسال نمی‌کند، بنابراین یک fetch() از یک صفحه وب توسط مرورگر مسدود شده است. FXMacroData را از بک‌اند خود فراخوانی کنید و کلید API را از کدهای سمت کلاینت دور نگه دارید.
کشف اسلاگ‌های اندیکاتور قبل از کدنویسی سخت مسیرها: نامک‌های (slugs) شاخص بر اساس ارز متفاوت است — core_pce برای USD وجود دارد اما برای هر ارزی نیست. لیست تمام slugهایی که یک ارز پشتیبانی می‌کند را با GET /v1/data_catalogue/{currency}، برای مثال /v1/data_catalogue/usd. یک 200 که data آرایه خالی است و شامل no_data.error_code: NO_DATA_IN_REQUESTED_WINDOW به این معنی است که slug معتبر است و فقط پنجره تاریخ درخواست شده خالی است — گسترش دادن start_date/end_date به جای تغییر URL یا تلاش مجدد. یک 404 به این معنی است که شناسه ارز یا اندیکاتور اشتباه است.
بررسی کیفیت پاسخ: نقاط انتهایی متکی به منبع، یک سطح برتر را برمی‌گردانند data_quality شیء. برای بک‌تست‌ها و گزارش‌های سازمانی، بررسی کنید point_in_time_safe, has_announcement_datetime, source_type، و is_stale. point_in_time_safe هر زمان که هر ردیف در پنجره دارای زمان انتشار مشتق شده از تأخیر انتشار اندازه‌گیری شده سری باشد، غلط است، بنابراین بررسی کنید assumed_release_time_count و به ازای هر ردیف release_time_assumed علامت‌گذاری قبل از برخورد با یک مورد نادرست به عنوان غیرقابل استفاده.

دسترسی به بازار

استفاده از FXMacroData از طریق RapidAPI

RapidAPI یک کانال بازار اختیاری برای FXMacroData REST API است. FXMacroData داده‌ها را تأمین می‌کند؛ RapidAPI اشتراک بازار، کلید API، سهمیه درخواست و صورت‌حساب شما را مدیریت می‌کند. برای درخواست‌ها از طریق این کانال، به حساب یا کلید مجزای FXMacroData نیازی نیست.

  1. باز کردن لیست رسمی FXMacroData و یک طرح را انتخاب کنید. برای پوشش فعلی، سهمیه‌ها و محدودیت‌های نرخ، زبانه قیمت‌گذاری را بررسی کنید.
  2. کلید RapidAPI خود را از محیط آزمایشی نقطه پایانی کپی کرده و آن را در محیط سرور خود به این صورت ذخیره کنید: RAPIDAPI_KEY.
  3. ارسال درخواست‌ها به https://fxmacrodata1.p.rapidapi.com با هر دو هدر RapidAPI، همان‌طور که در زیر نشان داده شده است.
curl --request GET \
  --url "https://fxmacrodata1.p.rapidapi.com/v1/announcements/usd/inflation?limit=3" \
  --header "X-RapidAPI-Key: $RAPIDAPI_KEY" \
  --header "X-RapidAPI-Host: fxmacrodata1.p.rapidapi.com"

پوشش نقطه پایانی بازار

لیست شامل اطلاعیه‌ها، تقویم‌های انتشار، کاتالوگ داده‌ها، نرخ‌های روزانه FX، موقعیت‌گیری COT، اخبار بانک مرکزی، جلسات بازار و بررسی سلامت است. دسترسی به ارز و تاریخچه به طرح RapidAPI شما بستگی دارد. از کاتالوگ برای یافتن اسلاگ‌های شاخص پشتیبانی شده استفاده کنید.

دسترسی مستقیم به FXMacroData

سایر مثال‌های این صفحه استفاده می‌کنند از api.fxmacrodata.com و یک FXMacroData X-API-Key در صورت نیاز. کلیدها و اشتراک‌ها بین کانال‌ها مجزا هستند. یک اشتراک RapidAPI شامل نقاط پایانی REST فهرست شده می‌شود؛ اشتراک‌های وب‌سایت، MCP، پیش‌بینی‌ها، استریمینگ و وب‌هوک‌ها خدمات مجزایی هستند.

کلید خود را از کد مرورگر و مخازن عمومی دور نگه دارید. برای مجموعه‌ نتایج طولانی‌تر، دنبال کنید pagination.next_offset until pagination.has_more غلط است. هرگز کلید API خود را برای پشتیبانی ارسال نکنید.

اولین فراخوانی API

درخواست سریع

اولین قطعه کد به همان صورت اجرا می‌شود: هیچ کلیدی برای داده‌های USD نیاز نیست، که 15 دقیقه پس از انتشار ارائه می‌شود. اضافه کنید X-API-Key برای تمام ارزهای 22 و تحویل بلادرنگ، ارسال شده از یک سرور، اسکریپت یا نوت‌بوک.

بدون کلید · تورم USD GET /v1/announcements/usd/inflation
1 · بدون نیاز به کلید
# USD inflation, no key: 15-minute delay, most recent 90 days
curl "https://api.fxmacrodata.com/v1/announcements/usd/inflation?limit=5"
2 · با کلید API · EUR
# EUR inflation: add X-API-Key for all 22 currencies and real-time releases
curl -H "X-API-Key: YOUR_API_KEY" "https://api.fxmacrodata.com/v1/announcements/eur/inflation"

درخواست‌های Python

درخواست‌های Python قابل کپی API

زمانی که به جای یک wrapper از SDK، درخواست خام API را می‌خواهید، از این مثال‌های مستقیم REST استفاده کنید. YOUR_API_KEY را فقط در مسیرهای محافظت‌شده جایگزین کنید.

اجماع بازار تورم USD

پیش‌بینی‌های اجماع، نظرسنجی، بانک مرکزی، IMF و FXMacroData متصل به اعلامیه‌های تحقق یافته.

import requests

url = "https://api.fxmacrodata.com/v1/predictions/usd/inflation"
headers = {"X-API-Key": "YOUR_API_KEY"}
response = requests.get(url, headers=headers, timeout=20)
response.raise_for_status()
payload = response.json()

print(payload.get("data", payload))

تورم USD با برچسب‌های زمانی known-at

سوابق تورم عمومی USD برای بک‌تست‌های نقطه-در-زمان.

import requests

url = "https://api.fxmacrodata.com/v1/announcements/usd/inflation"
response = requests.get(url, timeout=20)
response.raise_for_status()
payload = response.json()

print(payload.get("data", payload))

تاریخچه اسپات EUR/USD FX

تاریخچه قیمت روزانه FX برای نمودارهای جفت‌ارز، مدل‌ها و لایه‌های انتشار.

import requests

url = "https://api.fxmacrodata.com/v1/forex/eur/usd"
headers = {"X-API-Key": "YOUR_API_KEY"}
response = requests.get(url, headers=headers, timeout=20)
response.raise_for_status()
payload = response.json()

print(payload.get("data", payload))

تاریخچه نرخ سیاست پولی AUD

تاریخچه تصمیمات بانک مرکزی با زمان‌بندی انتشار برای تحقیقات بدون نگاه به آینده (no-lookahead).

import requests

url = "https://api.fxmacrodata.com/v1/announcements/aud/policy_rate"
headers = {"X-API-Key": "YOUR_API_KEY"}
response = requests.get(url, headers=headers, timeout=20)
response.raise_for_status()
payload = response.json()

print(payload.get("data", payload))

زمان‌بندی انتشار آتی JPY

رویدادهای کلان آتی با فیلدهای UTC، محلی بازار و منطقه زمانی درخواستی برای برنامه‌ریزی هشدارها، به‌روزرسانی مدل‌ها و بررسی‌های معاملاتی.

import requests

url = "https://api.fxmacrodata.com/v1/calendar/jpy"
params = {
    "timezone": "Asia/Tokyo",
}
headers = {"X-API-Key": "YOUR_API_KEY"}
response = requests.get(url, params=params, headers=headers, timeout=20)
response.raise_for_status()
payload = response.json()

print(payload.get("data", payload))

قیمت‌های کالای طلا

سری‌های زمانی رسمی فلزات گرانبها با مقادیر روزانه و فیلدهای تغییرات.

import requests

url = "https://api.fxmacrodata.com/v1/commodities/gold"
headers = {"X-API-Key": "YOUR_API_KEY"}
response = requests.get(url, headers=headers, timeout=20)
response.raise_for_status()
payload = response.json()

print(payload.get("data", payload))
رسمی SDK

Python

نصب نسخه رسمی fxmacrodata بسته از PyPI (1.2.x). کلاینت‌های همگام و ناهمگام، دیکشنری‌های ساده JSON را برمی‌گردانند که مستقیماً در pandas بارگذاری می‌شوند. Client() بدون کلید، سطح رایگان USD را می‌خواند؛ عبور api_key برای هر ارز دیگر و تحویل بلادرنگ.

pip install fxmacrodata

استفاده از SDK

from fxmacrodata import Client

# USD inflation — no key needed: 15-minute delay, most recent 90 days
data = Client().get_indicator("usd", "inflation")
print(data["data"][0])

# Add X-API-Key for all 22 currencies and real-time releases
client = Client(api_key="YOUR_API_KEY")

# EUR policy rate — requires API key
rate = client.get_indicator("eur", "policy_rate")

# Forex price data — requires API key
fx = client.get_fx_price("usd", "jpy")

استفاده مستقیم از REST API

import requests

resp = requests.get(
    "https://api.fxmacrodata.com/v1/announcements/usd/inflation",
    timeout=30,
)
resp.raise_for_status()
payload = resp.json()
print(payload["data_quality"]["point_in_time_safe"], payload["data"][0])

صفحه‌بندی در تاریخچه کامل

import requests

URL = "https://api.fxmacrodata.com/v1/announcements/eur/inflation"
HEADERS = {"X-API-Key": "YOUR_API_KEY"}

rows, offset = [], 0
while True:
    resp = requests.get(
        URL,
        params={"limit": 100, "offset": offset},
        headers=HEADERS,
        timeout=30,
    )
    resp.raise_for_status()
    page = resp.json()
    rows.extend(page["data"])
    if not page["pagination"]["has_more"]:
        break
    offset = page["pagination"]["next_offset"]

print(len(rows), "rows")

کلاینت Async

import asyncio
from fxmacrodata import AsyncClient

async def main():
    async with AsyncClient(api_key="YOUR_API_KEY") as client:
        data = await client.get_indicator("eur", "inflation")
        print(data)

asyncio.run(main())
جدید

پیش‌بینی‌ها & پیش‌بینی‌ها

The /v1/predictions/{currency}/{indicator} اندپوینت داده‌های پیش‌بینی را از نظرسنجی‌های اجماع بازار، پیش‌بینی‌های بانک مرکزی، چشم‌انداز اقتصادی جهان IMF و نظرسنجی‌های پیش‌بینان حرفه‌ای ارائه می‌دهد. پیش‌بینی‌ها برای یک ارز و اندیکاتور خاص درخواست می‌شوند، مانند https://api.fxmacrodata.com/v1/predictions/usd/inflation؛ درخواست‌های پیش‌بینی فقط برای ارز پشتیبانی نمی‌شوند. هر پیش‌بینی از طریق به اعلامیه خود مرتبط است announcement_id، تا بتوانید پیش‌بینی‌ها را با مشاهدات تحقق یافته ترکیب کنید.

هر پیش‌بینی را به عنوان اجماع در نظر نگیرید. prediction_type="fxmacrodata" یک تخمین تولید شده توسط FXMacroData است؛ اجماع واقعی تدوین شده با برچسب دارد market_consensus. در دسترس بودن پیش‌بینی بسته به انتشار متفاوت است — بررسی کنید ماتریس پوشش. برای تحقیقات بدون نگاه به آینده (look-ahead-free)، دنبال کنید راهنمای backtesting point-in-time.
مقادیر پیش‌بینی برای هر ارز، از جمله USD، به یک کلید API نیاز دارند. پوشش — کدام منابع هر شاخص را پیش‌بینی می‌کنند — بدون کلید در رایگان است در /v1/predictions/coverage/{currency}. یک کلید آزمایشی یا پولی، مقادیر پیش‌بینی را برمی‌گرداند.

Python — واکشی پیش‌بینی‌ها و اتصال با مقادیر واقعی

import requests

HEADERS = {"X-API-Key": "YOUR_API_KEY"}

# Predictions for USD inflation — requires API key
preds = requests.get(
    "https://api.fxmacrodata.com/v1/predictions/usd/inflation",
    headers=HEADERS,
    timeout=30,
).json()

for group in preds["data"]:
    print(group["announcement_id"], group["date"])
    for p in group["predictions"]:
        print(f"  {p['prediction_source_label']}: {p['predicted_value']}")

# Filter by prediction type
market = requests.get(
    "https://api.fxmacrodata.com/v1/predictions/usd/inflation",
    params={"prediction_type": "market_consensus"},
    headers=HEADERS,
    timeout=30,
).json()

# Join predictions with actuals using announcement_id
actuals = requests.get(
    "https://api.fxmacrodata.com/v1/announcements/usd/inflation",
    headers=HEADERS,
    timeout=30,
).json()
actuals_by_id = {row["announcement_id"]: row for row in actuals["data"]}

for group in preds["data"]:
    actual = actuals_by_id.get(group["announcement_id"])
    if actual:
        print(f"{group['date']}: actual={actual['val']}, forecast={group['predictions'][0]['predicted_value']}")

cURL — دریافت پیش‌بینی‌ها بر اساس نوع

# Which sources forecast USD indicators — free, no key
curl "https://api.fxmacrodata.com/v1/predictions/coverage/usd"

# All USD inflation predictions — requires API key
curl -H "X-API-Key: YOUR_API_KEY" "https://api.fxmacrodata.com/v1/predictions/usd/inflation"

# Filter by prediction type: market_consensus, imf_weo, central_bank_forecast, survey
curl -H "X-API-Key: YOUR_API_KEY" "https://api.fxmacrodata.com/v1/predictions/usd/inflation?prediction_type=market_consensus"

# EUR policy-rate predictions
curl -H "X-API-Key: YOUR_API_KEY" "https://api.fxmacrodata.com/v1/predictions/eur/policy_rate"

مرجع انواع پیش‌بینی

prediction_typeتوضیحات
market_consensusاجماع رویدادهای بازار یا اقتصاددانان، در صورت موجود بودن
market_predictionپیش‌بینی نقطه‌ای پیش‌بین حرفه‌ای
model_nowcastپیش‌بینی کوتاه‌مدت (nowcast) مدل بانک مرکزی یا بانک ذخیره
surveyنظرسنجی بانک مرکزی از پیش‌بینان حرفه‌ای (مثلاً ECB SPF)
central_bank_forecastپیش‌بینی رسمی بانک مرکزی (به عنوان مثال RBNZ MPS، BoC MPR)
central_bank_projectionپیش‌بینی رسمی بانک مرکزی
imf_weoپیش‌بینی چشم‌انداز اقتصادی جهان IMF
fxmacrodataپیش‌بینی تولید شده توسط FXMacroData که ترکیبی از راهنمایی‌های بانک مرکزی، نظرسنجی‌ها و روندهای تاریخی است

cURL

نیازی به نصب نیست. از هر ترمینالی کار می‌کند.

# USD inflation — no-key evaluation, up to 100 requests/day
curl "https://api.fxmacrodata.com/v1/announcements/usd/inflation"

# EUR policy rate — send your API key in the X-API-Key header
curl -H "X-API-Key: YOUR_API_KEY" "https://api.fxmacrodata.com/v1/announcements/eur/policy_rate"

# Release calendar for Australia — requires API key
curl -H "X-API-Key: YOUR_API_KEY" "https://api.fxmacrodata.com/v1/calendar/aud"

# Release calendar converted to a requested IANA timezone
curl "https://api.fxmacrodata.com/v1/calendar/usd?indicator=gdp&timezone=America/Sao_Paulo"

# Forex price history — requires API key
curl -H "X-API-Key: YOUR_API_KEY" "https://api.fxmacrodata.com/v1/forex/usd/jpy"

# Data catalogue (discover available indicators for USD)
curl "https://api.fxmacrodata.com/v1/data_catalogue/usd"

JavaScript / TypeScript

در سمت سرور در Node.js (18+)، Deno و Bun کار می‌کند. API هدرهای CORS را ارسال نمی‌کند، بنابراین آن را به جای کدهای مرورگر، از بک‌اند خود فراخوانی کنید.

کلاینت رسمی npm

npm install @fxmacrodata/client
import { FXMacroDataClient } from "@fxmacrodata/client";

const client = new FXMacroDataClient({
  apiKey: "YOUR_API_KEY",
});

// Public endpoint example
const usdInflation = await client.announcements("usd", "inflation");

// Non-USD endpoint example (requires paid key)
const eurRate = await client.announcements("eur", "policy_rate");

console.log(usdInflation, eurRate);

استفاده مستقیم از Fetch

// USD inflation — no-key evaluation, up to 100 requests/day
const res = await fetch(
  "https://api.fxmacrodata.com/v1/announcements/usd/inflation"
);
const data = await res.json();
console.log(data);

// With API key for non-USD
const API_KEY = process.env.FXMD_API_KEY;
const eur = await fetch(
  "https://api.fxmacrodata.com/v1/announcements/eur/policy_rate",
  { headers: { "X-API-Key": API_KEY } }
);
console.log(await eur.json());

برو

به هیچ بسته خارجی نیاز نیست — کتابخانه استاندارد همه چیز را مدیریت می‌کند.

package main

import (
    "encoding/json"
    "fmt"
    "net/http"
    "io"
)

func main() {
    // USD inflation — no-key evaluation, up to 100 requests/day
    resp, err := http.Get("https://api.fxmacrodata.com/v1/announcements/usd/inflation")
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, _ := io.ReadAll(resp.Body)

    var result map[string]interface{}
    json.Unmarshal(body, &result;)
    fmt.Println(result)
}

R

نیازمند httr و jsonlite.

install.packages(c("httr", "jsonlite"))
library(httr)
library(jsonlite)

# USD inflation — no-key evaluation, up to 100 requests/day
res <- GET("https://api.fxmacrodata.com/v1/announcements/usd/inflation")
data <- fromJSON(content(res, "text", encoding = "UTF-8"))

# Convert to data frame
df <- as.data.frame(data$data)
head(df)

# With API key for non-USD
eur <- GET(
  "https://api.fxmacrodata.com/v1/announcements/eur/policy_rate",
  add_headers(`X-API-Key` = "YOUR_API_KEY")
)
print(fromJSON(content(eur, "text")))

Java

کاربردها java.net.http (Java 11+). بدون نیاز به کتابخانه‌های خارجی.

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class FXMacroDataExample {
    public static void main(String[] args) throws Exception {
        var client = HttpClient.newHttpClient();
        var request = HttpRequest.newBuilder()
            .uri(URI.create("https://api.fxmacrodata.com/v1/announcements/usd/inflation"))
            .build();

        var response = client.send(request, HttpResponse.BodyHandlers.ofString());
        System.out.println(response.body());
    }
}

C# / .NET

کاربردها HttpClient (.NET 6+).

using System.Net.Http;
using System.Text.Json;

var client = new HttpClient();

// USD inflation — no-key evaluation, up to 100 requests/day
var json = await client.GetStringAsync(
    "https://api.fxmacrodata.com/v1/announcements/usd/inflation"
);

var doc = JsonDocument.Parse(json);
Console.WriteLine(doc.RootElement);

MATLAB

استفاده می‌کند از built-in webread function.

% USD inflation — no-key evaluation, up to 100 requests/day
data = webread('https://api.fxmacrodata.com/v1/announcements/usd/inflation');
disp(data);

% With API key for non-USD
opts = weboptions('Timeout', 30, 'HeaderFields', {'X-API-Key', 'YOUR_API_KEY'});
url = 'https://api.fxmacrodata.com/v1/announcements/eur/policy_rate';
eur = webread(url, opts);
disp(eur);

تولید یک کلاینت تایپ‌شده برای هر زبانی

FXMacroData API یک مورد کامل منتشر می‌کند مشخصات OpenAPI 3.1. از آن با استفاده کنید openapi-generator برای تولید کلاینت‌های کاملاً تایپ شده برای Kotlin, Swift, Rust, Dart, Ruby, PHP و 40+ زبان دیگر.

# Install the openapi-generator CLI
npm install @openapitools/openapi-generator-cli -g

# Generate a Go client
openapi-generator-cli generate \
  -i https://api.fxmacrodata.com/openapi.json \
  -g go \
  -o ./fxmacrodata-go-client

# Generate a Java client
openapi-generator-cli generate \
  -i https://api.fxmacrodata.com/openapi.json \
  -g java \
  -o ./fxmacrodata-java-client

آماده برای ساخت؟

داده‌های انتشار USD بدون کلید، تا سقف 100 درخواست در روز و با 15 دقیقه تأخیر پس از انتشار کار می‌کنند. برای انتشار به‌لحظه، مقادیر پیش‌بینی، تاریخچه کامل، محدودیت‌های بالاتر و هر ارز، مشترک شوید.

خلاصه‌سازی مقاله با AI:

ChatGPT Perplexity Claude Grok Gemini Mistral

AI آماده پاسخ

حقایق کلیدی

صفحه
شروع سریع
بخش
مستندات
کانونیکال URL
https://fxmacrodata.com/fa/documentation/quickstart
منبع
منابع تحریریه و ناشران رسمی FXMacroData
آخرین به‌روزرسانی
مشاهده متادیتای صفحه

منشأ و اعتماد

به URL استاندارد و فیلد منبع در بالا استناد کنید. در صورت موجود بودن، این صفحه به انتشار رسمی ناشر و به‌روزرسانی‌های دارای برچسب زمانی متصل می‌شود.

سوال سریع&A;

این صفحه درباره چیست؟ این صفحه شروع سریع را با زمینه‌های مستقیماً قابل استفاده برای معاملات، تحقیق و جریان‌های کاری API توضیح می‌دهد.

چه منبعی باید ذکر شود؟ از URL کانونیکال و فیلد منبع ذکر شده استفاده کنید؛ در صورت موجود بودن، به مراجع ناشر رسمی استناد کنید.

این محتوا چقدر تازه است؟ آخرین مقدار به‌روزرسانی شده در بالا، متادیتای صفحه یا برچسب زمانی آخرین داده‌های موجود را منعکس می‌کند.

آیا این می‌تواند در دستیارهای AI استفاده شود؟ بله. این بخش عمداً برای بازیابی و استناد در دستیارهای چت ساختار یافته است.

بسته‌های پرامپت

از این‌ها در ChatGPT، Claude، Gemini، Mistral، Perplexity یا Grok برای خروجی‌های سازگار و آگاه از منبع استفاده کنید.

اشتراک‌گذاری صفحه X LinkedIn ایمیل