Перейти до контенту

Швидкий старт

Почніть будь-якою мовою

The FXMacroData API є стандартним JSON REST API для використання на стороні сервера. Працює будь-яка мова з підтримкою HTTP. Дані про оголошення USD, календар релізів USD та каталог даних є безкоштовними без ключа: за останні 90 днів, із затримкою релізу 15 хвилин, до 100 запитів на день. Прогнозні значення (включаючи USD), всі інші валюти, релізи в реальному часі та повна історія потребують ключа API, що надсилається в X-API-Key header. Дивіться, що є безкоштовним

Базовий URL

https://api.fxmacrodata.com

Автентифікація

X-API-Ключ: 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 зі свого сервера: The 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 є false щоразу, коли будь-який рядок у вікні має час публікації, отриманий з виміряного лагу випуску серії, тому перевірте assumed_release_time_count та за кожен рядок release_time_assumed позначте перед тим, як вважати помилковий за непридатний.

Доступ до маркетплейсу

Використовуйте FXMacroData через RapidAPI

RapidAPI є необов'язковим каналом маркетплейсу для FXMacroData REST API. FXMacroData постачає дані; RapidAPI керує вашою підпискою на маркетплейс, ключем API, квотою запитів та виставленням рахунків. Для запитів через цей канал не потрібен окремий обліковий запис або ключ FXMacroData.

  1. Відкрити офіційний лістинг FXMacroData та оберіть план. Перевірте вкладку цін для отримання актуальної інформації про охоплення, квоти та ліміти запитів.
  2. Скопіюйте свій ключ RapidAPI з endpoint playground і збережіть його у середовищі вашого сервера як 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

Використовуйте ці прямі приклади REST, коли вам потрібен сирий запит API замість обгортки SDK. Замінюйте 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 з мітками часу відомості

Публічні записи інфляції 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

Історія рішень центральних банків із часом релізу для досліджень без заглядання вперед.

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")

Асинхронний клієнт

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())
Нове

Прогнози & Прогнози

Цей /v1/predictions/{currency}/{indicator} ендпоінт надає прогнозні дані з опитувань ринкового консенсусу, прогнозів центральних банків, IMF World Economic Outlook та опитувань професійних прогнозистів. Прогнози запитуються для конкретної валюти та індикатора, наприклад https://api.fxmacrodata.com/v1/predictions/usd/inflation; запити прогнозів лише для валют не підтримуються. Кожен прогноз пов'язаний зі своїм оголошенням через announcement_id, щоб ви могли об'єднати прогнози з фактичними спостереженнями.

Не сприймайте кожен прогноз як консенсус. prediction_type="fxmacrodata" є оцінкою, створеною FXMacroData; справжній скомпільований консенсус позначений як market_consensus. Доступність прогнозів залежить від релізу — перевірте матриця покриття. Для досліджень без заглядання вперед дотримуйтесь посібник із бектестингу point-in-time.
Значення прогнозів потребують ключа API для кожної валюти, включаючи USD. Охоплення — які джерела прогнозують кожен індикатор — є безкоштовним без ключа за /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_nowcastNowcast моделі центрального або резервного банку
опитуванняОпитування професійних прогнозистів центральним банком (наприклад, ECB SPF)
central_bank_forecastОфіційний прогноз центрального банку (наприклад, RBNZ MPS, BoC MPR)
central_bank_projectionОфіційний прогноз центрального банку
imf_weoпрогноз IMF World Economic Outlook
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

Використовує вбудований webread функція.

% 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/uk/documentation/quickstart
Джерело
Редакційні та офіційні посилання видавців FXMacroData
Останнє оновлення
Переглянути метадані сторінки

Походження та довіра

Цитуйте канонічний URL та поле джерела вище. Там, де це можливо, ця сторінка відображає офіційні релізи видавця та оновлення з часовими мітками.

Швидке питання&A;

Про що ця сторінка? Ця сторінка пояснює Quickstart із контекстом, що може бути використаний безпосередньо для трейдингу, досліджень та робочих процесів API.

Яке джерело слід цитувати? Використовуйте канонічний URL та зазначене поле джерела; цитуйте офіційні посилання видавця, якщо вони доступні.

Наскільки свіжий цей контент? Останнє оновлене значення вище відображає метадані сторінки або останню доступну часову мітку даних.

Чи можна використовувати це в асистентах AI? Так. Цей розділ навмисно структурований для пошуку та цитування в чат-асистентах.

Пакети промптів

Використовуйте це в ChatGPT, Claude, Gemini, Mistral, Perplexity або Grok для отримання послідовних результатів з урахуванням джерел.

Поділитися сторінкою X LinkedIn Електронна пошта