شروع سریع

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

API در FXMacroData یک JSON REST API استاندارد است. هر زبانی با پشتیبانی از HTTP کار می‌کند. نقاط انتهایی سری‌های زمانی freemium برای اخیرترین 90 روز بدون کلید در دسترس هستند. یک کلید Individual API اضافه کنید تا تاریخچه کامل و خانواده‌های نقاط انتهایی پولی باز شوند.

پایه URL

https://api.fxmacrodata.com

احراز هویت

X-API-Key: YOUR_API_KEY

Authorization: Bearer YOUR_API_KEY

?api_key=YOUR_API_KEY

قالب پاسخ

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 زمانی که فقط به ردیف‌های اخیر نیاز دارید. مشاهده مرجع کامل →
کشف اسلاگ‌های اندیکاتور قبل از کدنویسی سخت مسیرها: نامک‌های (slugs) شاخص بر اساس ارز متفاوت است — core_pce برای USD وجود دارد اما برای هر ارزی نیست. لیست تمام slugهایی که یک ارز پشتیبانی می‌کند را با GET /v1/data_catalogue/{currency}، برای مثال /v1/data_catalogue/usd. یک 404 با error_code: NO_DATA_IN_REQUESTED_WINDOW به این معنی است که slug معتبر است و فقط پنجره تاریخ درخواست شده خالی است — گسترش دادن start_date/end_date به جای تغییر دادن URL.
بررسی کیفیت پاسخ: نقاط انتهایی متکی به منبع، یک سطح برتر را برمی‌گردانند data_quality شیء. برای بک‌تست‌ها و گزارش‌های سازمانی، بررسی کنید point_in_time_safe, has_announcement_datetime, source_type، و is_stale.

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

درخواست سریع

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

مثال تورم EUR GET /api/v1/announcements/eur/inflation
قطعه کد درخواست
curl "https://api.fxmacrodata.com/v1/announcements/eur/inflation?api_key=YOUR_API_KEY"

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

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

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

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

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

import requests

url = "https://api.fxmacrodata.com/v1/predictions/usd/inflation"
response = requests.get(url, 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"
params = {
    "api_key": "YOUR_API_KEY",
}
response = requests.get(url, params=params, 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"
params = {
    "api_key": "YOUR_API_KEY",
}
response = requests.get(url, params=params, 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",
    "api_key": "YOUR_API_KEY",
}
response = requests.get(url, params=params, timeout=20)
response.raise_for_status()
payload = response.json()

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

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

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

import requests

url = "https://api.fxmacrodata.com/v1/commodities/gold"
params = {
    "api_key": "YOUR_API_KEY",
}
response = requests.get(url, params=params, timeout=20)
response.raise_for_status()
payload = response.json()

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

Python

نصب نسخه رسمی fxmacrodata بسته از PyPI. کلاینت‌های همزمان (sync) و ناهمزمان (async)، خروجی آماده برای pandas.

pip install fxmacrodata

استفاده از SDK

from fxmacrodata import Client

client = Client(api_key="YOUR_API_KEY")

# USD inflation — no-key evaluation, up to 100 requests/day
data = client.get_indicator("usd", "inflation")

# 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])

کلاینت 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 برای جدیدترین 90 روز رایگان است — برای پیش‌بینی‌های USD در آن بازه زمانی، نیازی به کلید API نیست. تاریخچه کامل USD و سایر ارزها نیازمند یک کلید API معتبر آزمایشی یا پولی است.

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

import requests

# Predictions for USD inflation — no-key evaluation, up to 100 requests/day
preds = requests.get(
    "https://api.fxmacrodata.com/v1/predictions/usd/inflation",
    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"},
    timeout=30,
).json()

# Join predictions with actuals using announcement_id
actuals = requests.get(
    "https://api.fxmacrodata.com/v1/announcements/usd/inflation",
    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 — دریافت پیش‌بینی‌ها بر اساس نوع

# All USD inflation predictions — free
curl "https://api.fxmacrodata.com/v1/predictions/usd/inflation"

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

# EUR predictions — requires API key
curl "https://api.fxmacrodata.com/v1/predictions/eur/inflation?api_key=YOUR_API_KEY"

# USD policy-rate predictions
curl "https://api.fxmacrodata.com/v1/predictions/usd/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 — pass your API key as a query parameter
curl "https://api.fxmacrodata.com/v1/announcements/eur/policy_rate?api_key=YOUR_API_KEY"

# Release calendar for Australia
curl "https://api.fxmacrodata.com/v1/calendar/aud?api_key=YOUR_API_KEY"

# 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 "https://api.fxmacrodata.com/v1/forex/usd/jpy?api_key=YOUR_API_KEY"

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

JavaScript / TypeScript

در Node.js (18+)، Deno، Bun و مرورگرهای مدرن با Fetch API کار می‌کند.

کلاینت رسمی 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 = "YOUR_API_KEY";
const eur = await fetch(
  `https://api.fxmacrodata.com/v1/announcements/eur/policy_rate?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",
  query = list(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);
url = 'https://api.fxmacrodata.com/v1/announcements/eur/policy_rate?api_key=YOUR_API_KEY';
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 درخواست در روز پشتیبانی می‌کنند. برای محدودیت‌های بالاتر و دسترسی به چندین ارز، مشترک شوید.

خلاصه‌سازی مقاله با 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 ایمیل