Live release feed
Sub-second macro releases for FX backtests
Point-in-time history
Official CPI, jobs, GDP, and central-bank events with point-in-time history.
USD 25/month 14-day free trial
Start Free Trial
Cara Menggunakan Semua FXMacroData API Endpoint: Panduan Lengkap image
Share headline card X LinkedIn Email
Download

Implementation

How-To Guides

Cara Menggunakan Semua FXMacroData API Endpoint: Panduan Lengkap

Langkah demi langkah dari setiap titik akhir publik di FXMacroData API dari seri pengumuman dan kalender rilis untuk posisi COT, komoditas, nilai forex, streaming SSE real-time, dan GraphQL batching.

Juga tersedia dalam English
Share article X LinkedIn Email

Pada akhir panduan ini Anda akan memiliki contoh kerja untuk setiap titik akhir publik di FXMacroData API dari seri pengumuman dan kalender rilis untuk posisi COT, harga logam mulia, nilai tukar mata uang asing, dan antarmuka GraphQL sehingga Anda dapat memilih alat yang tepat untuk setiap alur kerja data makro.

Persyaratan

  • Akun FXMacroData fxmacrodata.com
  • Kunci API Profesional untuk akses endpoint non-USD dan berbayar (permintaan USD gratis di sebagian besar endpoint)
  • curl untuk contoh baris perintah, atau Python 3.9+ dengan requests perpustakaan
  • Keterampilan dasar dengan API REST dan respon JSON
Tabel referensi cepat
Keluarga titik akhir Rute Penulis
Pengumuman /api/v1/umum/{mata uang}/{indikator} USD gratis · Pro untuk orang lain
Kalender Rilis /api/v1/kalender/{mata uang} Bebas
Katalog Data /api/v1/data_catalogue/{currency} Bebas
Posisi COT /api/v1/cot/{mata uang} USD gratis · Pro untuk orang lain
Logam /api/v1/komoditas/{indikator} Kunci Pro selalu diperlukan
Nilai tukar Forex /api/v1/forex/{base}/{quote} Bebas
Sesi Pasar /api/v1/market_session Bebas
GraphQL /api/v1/graphql USD + katalog gratis · Pro untuk yang lain

Tahap 1 Pengumuman: seri indikator historis

Endpoint pengumuman adalah inti dari FXMacroData. Ini mengembalikan seri waktu berstempel waktu yang ternormalized untuk setiap indikator makroekonomi yang didukung. Setiap baris membawa tanggal observasi, nilai yang dirilis, dan timestamp Unix yang tepat dari publikasi resmi memberikan presisi tingkat kedua untuk penelitian dan backtesting yang didorong oleh acara.

Permintaan USD bekerja tanpa kunci API. Untuk mata uang lain, tambahkan kunci Anda sebagai parameter kueri. Gunakan start_date Dan end_date (YYY-MM-DD) untuk mempersempit jendela; default adalah 365 hari terakhir.

# USD inflation series — no key needed
curl "https://fxmacrodata.com/api/v1/announcements/usd/inflation"

# AUD policy rate — Pro key required
curl "https://fxmacrodata.com/api/v1/announcements/aud/policy_rate?api_key=YOUR_API_KEY"

# EUR GDP with a custom date range
curl "https://fxmacrodata.com/api/v1/announcements/eur/gdp?start_date=2024-01-01&end_date=2026-03-01&api_key=YOUR_API_KEY"
{
  "currency": "USD",
  "indicator": "inflation",
  "has_official_forecast": false,
  "start_date": "2025-03-01",
  "end_date": "2026-03-30",
  "data": [
    {
      "date": "2026-02-01",
      "val": 2.8,
      "announcement_datetime": 1741082400,
      "pct_change": -0.5,
      "pct_change_12m": -6.7
    }
  ]
}

- Apa? announcement_datetime field is a Unix timestamp (seconds, UTC) for the exact moment the data was officially published. Use it for event study alignment and to avoid look-ahead bias in backtests. Browse available indicator slugs for any currency with the data catalogue (Step 3) or at Dokumen data API.


Langkah 2 Kalender rilis: waktu pengumuman mendatang

Endpoint kalender mengembalikan timestamp pengumuman UTC yang dijadwalkan untuk setiap rilis makro mendatang untuk mata uang tertentu. Gunakan untuk menjadwalkan pengambilan yang ditargetkan yang ditembakkan ketika data baru dipublikasikan daripada jajak pendapat secara terus menerus pada interval tetap.

Tidak diperlukan kunci API. Filter ke indikator tertentu dengan opsional indicator parameter pertanyaan. kode mata uang khusus COMM mengembalikan jadwal rilis komoditas.

# All upcoming releases for USD
curl "https://fxmacrodata.com/api/v1/calendar/usd"

# Filter to a single indicator
curl "https://fxmacrodata.com/api/v1/calendar/usd?indicator=non_farm_payrolls"

# Commodity release schedule
curl "https://fxmacrodata.com/api/v1/calendar/COMM"
{
  "currency": "USD",
  "indicator": "non_farm_payrolls",
  "data": [
    {
      "release": "non_farm_payrolls",
      "announcement_datetime": 1746540600,
      "requires_api_key": false
    }
  ]
}

Mengkonversi timestamp ke waktu UTC yang dapat dibaca manusia dengan datetime.fromtimestamp(ts, tz=timezone.utc) di Python atau new Date(ts * 1000).toISOString() Untuk pola penjadwalan lengkap, lihat Cara Menggunakan Release Calendar API untuk Jadwal Indikator Fetch.


Langkah 3 Katalog Data: Temukan indikator yang tersedia

Sebelum menulis kode yang menargetkan indikator tertentu, query katalog untuk mengkonfirmasi apa yang tersedia untuk mata uang. Tanggapan memetakan setiap indikator slug ke nama yang dapat dibaca manusia, unit, frekuensi rilis, dan apakah bank sentral menerbitkan perkiraan resmi untuk itu.

# List all indicators for EUR — no key required
curl "https://fxmacrodata.com/api/v1/data_catalogue/eur"

# Include routing and auth discovery metadata per indicator
curl "https://fxmacrodata.com/api/v1/data_catalogue/usd?include_capabilities=true"
{
  "gdp": {
    "name": "GDP Growth",
    "unit": "%QoQ",
    "frequency": "Quarterly",
    "has_official_forecast": false
  },
  "inflation": {
    "name": "Inflation (CPI)",
    "unit": "%YoY",
    "frequency": "Monthly",
    "has_official_forecast": false
  },
  "policy_rate": {
    "name": "Policy Rate",
    "unit": "%",
    "frequency": "Meeting",
    "has_official_forecast": true
  }
}

Kunci tingkat atas dalam jawaban adalah persis {indicator} Slang untuk digunakan dalam panggilan pengumuman. Mata uang yang didukung termasuk USD, EUR, GBP, JPY, AUD, CAD, CHF, NZD, CNY, SGD, SEK, DKK, PLN, dan BRL. Pass include_coverage=true untuk mendapatkan jaringan ketersediaan lintas mata uang dalam satu tanggapan.


Langkah 4 Posisi COT: data spekulatif berjangka

Komitmen Endpoint Pedagang memberikan data posisi CFTC mingguan untuk kontrak berjangka FX. Ini menunjukkan total bunga terbuka dibagi antara non-komersial (spekulasi), komersial (hedger), dan peserta non-diterangkan indikator utama yang dilacak secara luas untuk pembalikan tren mata uang dan posisi penuh.

Mata uang yang didukung: USD, EUR, GBP, JPY, AUD, CAD, CHF, NZD. USD gratis; semua yang lain memerlukan kunci Pro.

# USD COT history — free
curl "https://fxmacrodata.com/api/v1/cot/usd"

# EUR COT with a custom date range
curl "https://fxmacrodata.com/api/v1/cot/eur?start_date=2025-01-01&api_key=YOUR_API_KEY"
{
  "currency": "EUR",
  "instrument": "EURO FX - CHICAGO MERCANTILE EXCHANGE",
  "fx_overlay": { "pair": "EUR/USD" },
  "start_date": "2025-01-07",
  "end_date": "2026-03-25",
  "data": [
    {
      "date": "2026-03-18",
      "announcement_datetime": 1742493000,
      "open_interest": 812345,
      "noncommercial_long": 185000,
      "noncommercial_short": 92000,
      "noncommercial_net": 93000,
      "commercial_long": 203000,
      "commercial_short": 310000,
      "commercial_net": -107000,
      "nonreportable_long": 21000,
      "nonreportable_short": 9000
    }
  ]
}

- Apa? noncommercial_net Setiap baris juga membawa indikator posisi yang paling sering dikutip untuk pedagang FX. announcement_datetime untuk publikasi CFTC Jumat pukul 3:30 PM ET. Untuk konteks pasangan EUR lihat Docs suku bunga kebijakan EUR.


Langkah 5 Logam: harga emas, perak, dan platinum

Metals endpoint mengembalikan seri harga harian untuk logam mulia yang berasal dari The Royal Mint (LBMA fixes). Seri ini berguna sebagai input makro lintas aset, terutama untuk melacak aliran safe haven dan dinamika yang terkait dengan USD.

Kunci API Profesional selalu diperlukan untuk titik akhir ini. goldAku akan pergi. silverAku akan pergi. platinum.

# Gold LBMA PM Fix daily prices
curl "https://fxmacrodata.com/api/v1/commodities/gold?api_key=YOUR_API_KEY"

# Silver with a date range
curl "https://fxmacrodata.com/api/v1/commodities/silver?start_date=2025-01-01&api_key=YOUR_API_KEY"

# Platinum spot
curl "https://fxmacrodata.com/api/v1/commodities/platinum?api_key=YOUR_API_KEY"
{
  "currency": "COMM",
  "indicator": "gold",
  "has_official_forecast": false,
  "start_date": "2025-03-30",
  "end_date": "2026-03-30",
  "data": [
    {
      "date": "2026-03-28",
      "val": 2870.00,
      "pct_change": 1.2,
      "pct_change_12m": 30.1
    }
  ]
}

Bentuk respons identik dengan titik akhir pengumuman, sehingga Anda dapat menggunakan kembali kode parsing yang sama. announcement_datetime adalah null untuk seri harga harian dan hanya dipenuhi untuk acara publikasi bulanan resmi.


Langkah 6 Nilai tukar mata uang asing: seri harga spot harian

Forex endpoint mengembalikan data spot rate OHLC harian untuk pasangan mata uang yang didukung. Tidak diperlukan kunci API. Gunakan untuk menyelaraskan rilis indikator makro dengan nilai tukar kontemporer untuk backtesting atau aliran kerja visualisasi grafik.

Pass basis dan quote sebagai segmen jalur terpisah (misalnya /forex/eur/usd Untuk EUR/USD). indicators parameter kueri.

# EUR/USD daily rates — no key required
curl "https://fxmacrodata.com/api/v1/forex/eur/usd"

# AUD/JPY with a custom date range
curl "https://fxmacrodata.com/api/v1/forex/aud/jpy?start_date=2025-01-01"

# GBP/USD with technical indicators overlaid
curl "https://fxmacrodata.com/api/v1/forex/gbp/usd?indicators=sma_20,rsi_14"
{
  "base": "EUR",
  "quote": "USD",
  "start_date": "2025-03-30",
  "end_date": "2026-03-30",
  "data": [
    {
      "date": "2026-03-28",
      "close": 1.0832,
      "open": 1.0821,
      "high": 1.0867,
      "low": 1.0798
    }
  ]
}

Langkah 7 Sesi Pasar: keadaan sesi real-time

Endpoint sesi pasar mengembalikan status terbuka / dekat saat ini untuk semua empat sesi FX utama Sydney, Tokyo, London, dan New York bersama dengan jendela tumpang tindih aktif. Tidak diperlukan kunci API. Gunakan untuk gate otomatisasi sensitif waktu ke jendela likuiditas puncak atau untuk mengomentari grafik dengan batas sesi.

# Real-time snapshot — no key required
curl "https://fxmacrodata.com/api/v1/market_sessions"

# Historical snapshot for scheduling or testing
curl "https://fxmacrodata.com/api/v1/market_sessions?at=2026-03-28T12:00:00Z"
{
  "now_utc": "2026-03-30T08:47:00Z",
  "now_unix": 1743324420,
  "is_market_day": true,
  "sessions": [
    {
      "name": "London",
      "is_open": true,
      "seconds_to_close": 25200,
      "currencies": ["EUR", "GBP", "CHF"],
      "open_utc": "2026-03-30T07:00:00Z",
      "close_utc": "2026-03-30T15:00:00Z"
    }
  ],
  "overlaps": [
    {
      "name": "London / New York",
      "is_active": false,
      "priority": "high",
      "start_utc": "2026-03-30T12:00:00Z",
      "end_utc": "2026-03-30T16:00:00Z",
      "notable_pairs": ["EUR/USD", "GBP/USD", "USD/CHF"],
      "duration_hours": 4
    }
  ]
}

Tindih London/New York adalah jendela likuiditas tertinggi pada hari perdagangan dan adalah ketika rilis makro paling sering menyebabkan pergerakan spot terbesar. is_market_day: false untuk melewati otomatisasi di akhir pekan dan hari libur pasar utama.


Langkah 8 GraphQL: batch beberapa kueri dalam satu permintaan

FXMacroData mengekspos titik akhir GraphQL yang mencerminkan permukaan REST persis aturan otentikasi yang sama, nama lapangan yang sama dan data yang sama tetapi memungkinkan Anda untuk menyatakan hanya bidang yang Anda butuhkan dan menggabungkan beberapa kueri menjadi satu HTTP pulang pergi. dan Nilai mata uang dasar GBP dan kalender rilis AUD, yang satu POST bukan tiga GET.

Kirimkan POST Untuk https://fxmacrodata.com/api/v1/graphql dengan tubuh JSON yang berisi query kunci dan kunci API Anda sebagai parameter query URL. announcementsAku akan pergi. dataCatalogue, dan calendar.

# Single free USD query — no key required
curl -s -X POST "https://fxmacrodata.com/api/v1/graphql" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "{ announcements(currency: \"USD\", indicator: \"inflation\") { currency indicator data { date val pctChange } } }"
  }'

# Batched: EUR inflation + GBP policy rate in one request
curl -s -X POST "https://fxmacrodata.com/api/v1/graphql?api_key=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "query { eurCPI: announcements(currency: \"EUR\", indicator: \"inflation\") { data { date val } } gbpRate: announcements(currency: \"GBP\", indicator: \"policy_rate\") { data { date val } } }"
  }'
{
  "data": {
    "eurCPI":  { "data": [{ "date": "2026-02-28", "val": 2.3 }] },
    "gbpRate": { "data": [{ "date": "2026-03-20", "val": 4.5 }] }
  }
}
Tips: Gunakan alias query (seperti eurCPI: di atas) untuk menghindari konflik nama lapangan ketika batching beberapa announcements Setiap alias menjadi kunci terpisah di data respon objek.

GraphQL mengembalikan HTTP 200 bahkan ketika sebuah bidang query gagal kesalahan muncul di tingkat atas errors array di samping setiap data parsial yang berhasil. Selalu periksa untuk array itu sebelum memproses tanggapan. Untuk implementasi Python dan JavaScript lengkap dengan penanganan kesalahan dan pola batching, lihat Cara Query FXMacroData melalui GraphQL.


Langkah 10 Alur kerja Python dari ujung ke ujung

Cuplikan di bawah ini menarik bersama pola yang paling umum dalam urutan: menemukan indikator yang tersedia, memeriksa rilis yang dijadwalkan berikutnya, mengambil dua seri indikator dalam satu permintaan GraphQL, dan kemudian kondisional memeriksa keadaan sesi pasar sebelum rute output.

import requests
from datetime import datetime, timezone

BASE = "https://fxmacrodata.com/api/v1"
API_KEY = "YOUR_API_KEY"


def params(require_key: bool = True) -> dict:
    return {"api_key": API_KEY} if require_key else {}


# 1. Discover available indicators for AUD (free)
catalogue = requests.get(f"{BASE}/data_catalogue/aud", params=params(False), timeout=10)
catalogue.raise_for_status()
print("AUD indicators:", list(catalogue.json().keys())[:5])

# 2. Check the next USD non-farm payrolls release timestamp (free)
cal = requests.get(f"{BASE}/calendar/usd", params={"indicator": "non_farm_payrolls"}, timeout=10)
cal.raise_for_status()
events = cal.json().get("data", [])
if events:
    ts = events[0]["announcement_datetime"]
    dt = datetime.fromtimestamp(ts, tz=timezone.utc)
    print(f"Next NFP release: {dt.strftime('%Y-%m-%d %H:%M UTC')}")

# 3. Fetch EUR inflation + AUD policy rate in one GraphQL request (Pro key)
gql_query = """
query {
  eurCPI: announcements(currency: "EUR", indicator: "inflation") {
    data { date val pctChange }
  }
  audRate: announcements(currency: "AUD", indicator: "policy_rate") {
    data { date val }
  }
}
"""
resp = requests.post(
    f"{BASE}/graphql",
    params={"api_key": API_KEY},
    json={"query": gql_query},
    timeout=15,
)
resp.raise_for_status()
payload = resp.json()
if "errors" in payload:
    raise RuntimeError(payload["errors"])
data = payload["data"]

eur_latest = data["eurCPI"]["data"][-1]
aud_latest = data["audRate"]["data"][-1]
print(f"EUR CPI  {eur_latest['date']}: {eur_latest['val']}%")
print(f"AUD Rate {aud_latest['date']}: {aud_latest['val']}%")

# 4. Check market sessions before triggering a trade alert (free)
sessions_resp = requests.get(f"{BASE}/market_sessions", timeout=10)
sessions_resp.raise_for_status()
session_data = sessions_resp.json()

if session_data["is_market_day"]:
    for overlap in session_data.get("overlaps", []):
        if overlap["is_active"] and overlap["priority"] == "high":
            print(f"High-liquidity window active: {overlap['name']}")
else:
    print("Market closed — skipping alert")

Apa yang telah Anda capai

  • ✓ Mengambil seri indikator historis dengan timestamp rilis yang tepat dari Pengumuman titik akhir
  • ✓ Menanyakan jadwal rilis mendatang dari ✓ Kalender Rilis titik akhir
  • ✓ Menemukan slug indikator yang tersedia per mata uang dengan Katalog Data titik akhir
  • ✓ Memulihkan posisi berjangka spekulatif dari COT titik akhir
  • ✓ Mengambil seri harga logam mulia dari Logam titik akhir
  • ✓ Data makro yang diselaraskan dengan kurs spot dari Nilai tukar Forex titik akhir
  • ✓ Memeriksa status sesi langsung dari Sesi Pasar titik akhir
  • ✓ Pertanyaan indikator berganda yang disusun dalam satu perjalanan pulang pulang dengan GraphQL titik akhir

Apa yang bisa Anda bangun selanjutnya

Anda sekarang memiliki contoh kerja untuk setiap titik akhir publik di FXMacroData API.

  • Ganti panggilan REST berurutan dengan batching GraphQL. Di mana saja Anda membuat tiga atau lebih permintaan GET independen, satu GraphQL POST dapat menggantikannya. Cara Query FXMacroData melalui GraphQLAku tidak tahu.
  • Posisi COT lapisan atas perbedaan tingkat. Gabungkan net spekulatif dari titik akhir COT dengan seri suku bunga kebijakan untuk membangun sinyal makro komposit di seluruh alam semesta mata uang G8.
  • Menyelaraskan harga logam dengan rilis mata uang. Pasang emas dari titik akhir logam dengan seri pengumuman AUD atau USD untuk melacak korelasi safe-haven dan dolar dari waktu ke waktu.

Tim FXMacroData

Blogroll

AI Answer-Ready

Key Facts

Page
How To Use All FXmacrodata API Endpoints
Section
Articles
Canonical URL
https://fxmacrodata.com/id/articles/how-to-use-all-fxmacrodata-api-endpoints
Source
FXMacroData editorial and official publisher references
Last Updated
2026-06-15 11:01 UTC

Provenance And Trust

Cite the canonical URL and source field above. Where available, this page maps to official publisher releases and timestamped updates.

Quick Q&A

What is this page about? This page explains How To Use All FXmacrodata API Endpoints with directly usable context for trading, research, and API workflows.

What source should be cited? Use the canonical URL and the listed source field; cite official publisher references when available.

How fresh is this content? The last updated value above reflects the page metadata or latest available data timestamp.

Can this be used in AI assistants? Yes. This section is intentionally structured for retrieval and citation in chat assistants.

Prompt Packs

Use these in ChatGPT, Claude, Gemini, Mistral, Perplexity, or Grok for consistent source-aware outputs.