Pada akhir panduan ini Anda akan dapat mengotentikasi dengan benar, memilih keluarga titik akhir yang tepat untuk setiap tugas, dan membuat permintaan siap produksi di seluruh FXMacroData API tanpa menebak struktur rute atau cakupan indikator.
Persyaratan
- Akun FXMacroData dan kunci API untuk permintaan non-USD
- Terminal dengan
curlatau runtime seperti Python/Node.js - Keterampilan dasar dengan respon JSON dan parameter query URL
- Akses ke dokumen langsung di /dokumennya/
Langkah 1 - Mulai dengan URL basis produksi
Semua contoh publik harus dimulai dari basis API produksi:
https://fxmacrodata.com/api/v1
Keluarga titik akhir yang paling sering Anda gunakan adalah:
/announcements/{currency}/{indicator}untuk nilai-nilai yang dirilis secara historis dengan tepatannouncement_datetime/calendar/{currency}untuk waktu rilis yang akan datang/catalogue/{currency}untuk kemampuan menemukan indikator yang didukung/cot/{currency}untuk posisi komitmen pedagang/commodities/{indicator}untuk seri komoditas dan energi/forex/{pair}Dan/market-sessionsuntuk konteks pasar
Langkah 2 - Otentikasi dengan benar dengan parameter kueri
FXMacroData menggunakan otentikasi query-parameter dalam contoh penggunaan publik:
?api_key=YOUR_API_KEY
Akses ke titik akhir USD tersedia tanpa kunci, sedangkan rute non-USD memerlukan kunci yang valid.
# USD endpoint (no key required)
curl "https://fxmacrodata.com/api/v1/announcements/usd/inflation"
# Non-USD endpoint (key required)
curl "https://fxmacrodata.com/api/v1/announcements/aud/policy_rate?api_key=YOUR_API_KEY"
Langkah 3 - Temukan apa yang tersedia sebelum mengkode
Panggilan rute katalog pertama ketika Anda tidak yakin indikator apa yang ada untuk mata uang.
curl "https://fxmacrodata.com/api/v1/catalogue/eur?api_key=YOUR_API_KEY"
Kemudian gunakan indeks halaman indikator di indeks indikator dokumentasi Untuk mengkonfirmasi jalur rute dan bidang yang diharapkan.
Langkah 4 - Mengambil data yang dirilis dari titik akhir pengumuman
Endpoint pengumuman mengembalikan objek tingkat atas ditambah a data Setiap baris termasuk akhir periode dateAku akan pergi. val, dan announcement_datetime Stempel waktu.
curl "https://fxmacrodata.com/api/v1/announcements/gbp/unemployment?api_key=YOUR_API_KEY"
{
"currency": "GBP",
"indicator": "unemployment",
"has_official_forecast": false,
"start_date": "2025-01-31",
"end_date": "2026-03-31",
"data": [
{
"date": "2026-01-31",
"val": 4.39,
"announcement_datetime": 1770521400
}
]
}
Untuk semantik indikator dan unit yang tepat, periksa halaman titik akhir seperti Nilai tukar mata uang Dan Inflasi EUR.
Langkah 5 - Gunakan kalender rilis untuk alur kerja yang didorong oleh acara
Kalender rilis membantu Anda menjadwalkan pengambilan sekitar waktu publikasi daripada jajak pendapat terus menerus.
curl "https://fxmacrodata.com/api/v1/calendar/usd?indicator=non_farm_payrolls"
Pola yang kuat adalah: kalender kueri -> baca selanjutnya announcement_datetime -> mengambil rute pengumuman yang cocok pada saat rilis.
Langkah 6 - Tambahkan keluarga titik akhir tambahan
Setelah arus pengumuman inti Anda stabil, perluas cakupan dengan rute domain tertentu:
- COT:
/api/v1/cot/{currency}untuk konteks posisi berjangka - Besi:
/api/v1/commodities/{indicator}untuk emas, perak, platinum, dan bahan bakar safe haven terkait - Forex:
/api/v1/forex/{pair}untuk penyelarasan spot dengan rilis makro - Sesi pasar:
/api/v1/market-sessionsuntuk otomatisasi sesi-state-aware
curl "https://fxmacrodata.com/api/v1/cot/usd"
curl "https://fxmacrodata.com/api/v1/commodities/gold"
curl "https://fxmacrodata.com/api/v1/forex/eurusd"
curl "https://fxmacrodata.com/api/v1/market-sessions"
Langkah 7 - Contoh Python End-to-End
Cuplikan di bawah ini memeriksa ketersediaan, mengambil satu seri indikator, dan mengembalikan cetakan terbaru.
import requests
BASE = "https://fxmacrodata.com/api/v1"
API_KEY = "YOUR_API_KEY"
def fetch_latest(currency: str, indicator: str, api_key: str | None = None) -> dict | None:
params = {}
if api_key:
params["api_key"] = api_key
catalogue = requests.get(f"{BASE}/catalogue/{currency}", params=params, timeout=10)
catalogue.raise_for_status()
endpoint = requests.get(
f"{BASE}/announcements/{currency}/{indicator}",
params=params,
timeout=10,
)
endpoint.raise_for_status()
rows = endpoint.json().get("data", [])
return rows[-1] if rows else None
latest = fetch_latest("aud", "policy_rate", API_KEY)
print(latest)
Apa yang bisa Anda bangun selanjutnya
Anda sekarang memiliki jalur penuh untuk mengotentikasi, menemukan cakupan, meminta seri rilis historis, dan memperluas ke otomatisasi berbasis kalender. Cara Menggunakan API Kalender Rilis Jadi sistem Anda bereaksi persis ketika data makro baru dipublikasikan.