Hızlı Başlangıç
Herhangi bir dilde başlayın
FXMacroData API, sunucu tarafı kullanım için standart bir JSON REST API'dir. HTTP desteği olan herhangi bir dil çalışır. USD duyuru verileri, USD yayın takvimi ve veri kataloğu anahtar olmadan ücretsizdir: en güncel 90 gün, 15 dakikalık yayın gecikmesiyle, günde 100 isteğe kadar. Tahmin değerleri (USD dahil), diğer tüm para birimleri, gerçek zamanlı yayınlar ve tam geçmiş için, şurada gönderilen bir API anahtarı gereklidir, X-API-Key header. Nelerin ücretsiz olduğunu görün
Temel URL
https://api.fxmacrodata.com
Kimlik Doğrulama
X-API-Anahtar: YOUR_API_KEY
Yetkilendirme: Bearer YOUR_API_KEY
Eski ?api_key= sorgu parametresi kullanımdan kaldırılmıştır: URL'lerdeki anahtarlar günlüklere kaydedilir.
Yanıt formatı
JSON (Content-Type: application/json)
openapi-generator-cli 40+ dillerde istemcileri otomatik olarak oluşturmak için.
Accept-Encoding: gzip her istekte (8–12× daha küçük yükler), ETag yanıt başlığı If-None-Match tekrarlanan anketlerde (döndürür 304 Not Modified gövdesi olmadan), ve ilet ?limit=50 gibi tek göstergeli uç noktalar üzerinde /v1/announcements/usd/inflation veya /v1/predictions/usd/inflation yalnızca son satırlara ihtiyacınız olduğunda. Tam referansı gör →
limit 100. kadar kabul eder Tam bir aralık toplamak için isteği şununla tekrarlayın offset şuna ayarla pagination.next_offset until pagination.has_more is false. Python döngüsünü görün ↓
fetch() bir web sayfasından yapılan istek tarayıcı tarafından engellenir. FXMacroData işlemini arka ucunuzdan (backend) çağırın ve API anahtarını istemci tarafı kodunun dışında tutun.
core_pce USD için mevcut ancak her para birimi için mevcut değil. Bir para biriminin desteklediği her slug'ı şununla listeleyin: GET /v1/data_catalogue/{currency}, örneğin /v1/data_catalogue/usd. Şunun olduğu bir 200 data dizisi boştur ve şunları taşır no_data.error_code: NO_DATA_IN_REQUESTED_WINDOW slug'ın geçerli olduğu ve yalnızca istenen tarih aralığının boş olduğu anlamına gelir — genişletmek start_date/end_date URL'yi değiştirmek veya yeniden denemek yerine. Bir 404, para birimi veya gösterge slug'ının yanlış olduğu anlamına gelir.
data_quality nesnesi. Backtestler ve kurumsal raporlama için inceleyin point_in_time_safe, has_announcement_datetime, source_type, ve is_stale. point_in_time_safe penceredeki herhangi bir satır, serinin ölçülen yayın gecikmesinden türetilen bir yayın zamanı taşıdığında yanlıştır, bu nedenle kontrol edin assumed_release_time_count ve satır başına release_time_assumed hatalı olanı kullanılamaz olarak işlemden önce işaretleyin.
Pazaryeri erişimi
RapidAPI aracılığıyla FXMacroData kullanın
RapidAPI, FXMacroData REST API için isteğe bağlı bir pazaryeri kanalıdır. FXMacroData verileri sağlar; RapidAPI pazaryeri aboneliğinizi, API anahtarınızı, istek kotanızı ve faturalandırmanızı yönetir. Bu kanal üzerinden yapılan istekler için ayrı bir FXMacroData hesabı veya anahtarı gerekmez.
- Aç resmi FXMacroData listelemesi ve bir plan seçin. Güncel kapsam, kotalar ve hız sınırları için fiyatlandırma sekmesini kontrol edin.
- RapidAPI anahtarınızı uç nokta oyun alanından kopyalayın ve sunucu ortamınıza şu şekilde kaydedin:
RAPIDAPI_KEY. - İstekleri şuraya gönderin
https://fxmacrodata1.p.rapidapi.comaşağıda gösterildiği gibi, her iki RapidAPI başlığı ile.
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"
Pazaryeri uç nokta kapsamı
Listeleme; duyuruları, yayın takvimlerini, veri kataloğunu, günlük FX oranlarını, COT konumlanmasını, merkez bankası haberlerini, piyasa oturumlarını ve bir sağlık kontrolünü içerir. Para birimi ve geçmişe erişim RapidAPI planınıza bağlıdır. Desteklenen gösterge slug'larını bulmak için kataloğu kullanın.
Doğrudan FXMacroData erişimi
Bu sayfadaki diğer örnekler kullanır api.fxmacrodata.com ve bir FXMacroData X-API-Key gerektiğinde. Anahtarlar ve abonelikler kanallar arasında ayrıdır. Bir RapidAPI aboneliği listelenen REST uç noktalarını kapsar; web sitesi abonelikleri, MCP, tahminler, akış ve web kancaları ayrı tekliflerdir.
Anahtarınızı tarayıcı kodundan ve genel depolardan uzak tutun. Daha uzun sonuç setleri için, takip edin pagination.next_offset until pagination.has_more yanlıştır. API anahtarınızı asla desteğe göndermeyin.
İlk API çağrısı
Hızlı İstek
İlk kesit olduğu gibi çalışır: USD verileri için anahtar gerekmez, yayınlanışından 15 dakika sonra sunulur. Ekleyin X-API-Key tüm 22 para birimleri ve bir sunucudan, betikten veya not defterinden gönderilen gerçek zamanlı teslimat için.
# USD inflation, no key: 15-minute delay, most recent 90 days
curl "https://api.fxmacrodata.com/v1/announcements/usd/inflation?limit=5"
# 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 istekleri
Kopyalanabilir Python API istekleri
SDK sarmalayıcısı yerine ham API isteği istediğinizde bu doğrudan REST örneklerini kullanın. YOUR_API_KEY değerini yalnızca korumalı rotalarda değiştirin.
USD enflasyon piyasa konsensüsü
Konsensüs, anket, merkez bankası, IMF ve FXMacroData tahminlerinin gerçekleşen duyurularla birleştirilmesi.
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))
bilindiği andaki zaman damgalarıyla USD enflasyon
Belirli bir andaki backtestler için kamuya açık USD enflasyon kayıtları.
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 spot geçmişi
Çift grafikler, modeller ve yayın katmanları için günlük FX fiyat geçmişi.
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 politika faizi geçmişi
Geleceği görmeden (no-lookahead) araştırma için yayın zamanlamasıyla birlikte Merkez bankası karar geçmişi.
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 yaklaşan yayın takvimi
Uyarı planlaması, model yenilemeleri ve ticaret incelemeleri için UTC, piyasa-yerel ve istenen-saat dilimi alanlarına sahip yaklaşan makro olaylar.
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))
Altın emtia fiyatları
Günlük değerler ve değişim alanları ile resmi değerli metaller zaman serisi.
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))
Python
Resmi olanı yükleyin fxmacrodata PyPI'dan (1.2.x) paket. Senkron ve asenkron istemciler, doğrudan pandas içine yüklenen düz JSON sözlükleri döndürür. Client() anahtar okuması olmadan ücretsiz USD katmanını okur; geç api_key diğer her para birimi ve gerçek zamanlı teslimat için.
SDK kullanarak
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 doğrudan kullanılıyor
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])
Tam geçmişte sayfalama yapılıyor
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 istemci
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())
Tahminler & Tahminler
O /v1/predictions/{currency}/{indicator} uç noktaları piyasa konsensüs anketlerinden, merkez bankası projeksiyonlarından, IMF Dünya Ekonomik Görünümü'nden ve profesyonel tahminci anketlerinden gelen tahmin verilerini sunar. Tahminler belirli bir para birimi ve gösterge için istenir, örneğin https://api.fxmacrodata.com/v1/predictions/usd/inflation; yalnızca para birimine yönelik tahmin istekleri desteklenmez. Her tahmin, duyurusuyla bağlantılıdır announcement_id, böylece tahminleri gerçekleşen gözlemlerle birleştirebilirsiniz.
prediction_type="fxmacrodata" bir FXMacroData tarafından oluşturulan tahmindir; gerçek derlenmiş konsensüs şu şekilde etiketlenir market_consensus. Tahmin kullanılabilirliği yayına göre değişir — kontrol edin kapsam matrisi. Geleceğe bakışsız (look-ahead-free) araştırma için, takip edin anlık (point-in-time) backtesting kılavuzu.
/v1/predictions/coverage/{currency}. Bir deneme veya ücretli anahtar, tahmin değerlerini döndürür.
Python — tahminleri getir ve gerçekleşenlerle birleştir
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 — türe göre tahminleri getir
# 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"
Tahmin türleri referansı
| tahmin_türü | Açıklama |
|---|---|
| market_consensus | Mevcut olduğunda, derlenmiş market veya ekonomist olay konsensüsü |
| market_prediction | Profesyonel-tahminci nokta tahmini |
| model_nowcast | Merkez bankası veya rezerv bankası modeli nowcast |
| anket | Profesyonel tahmincilerin merkez bankası anketi (örneğin ECB SPF) |
| central_bank_forecast | Resmi merkez bankası projeksiyonu (örneğin RBNZ MPS, BoC MPR) |
| central_bank_projection | Resmi merkez bankası projeksiyonu |
| imf_weo | IMF Dünya Ekonomik Görünümü projeksiyonu |
| fxmacrodata | Merkez bankası rehberliği, anketler ve tarihsel eğilimleri birleştiren FXMacroData tarafından oluşturulan tahmin |
cURL
Kurulum gerekmez. Herhangi bir terminalden çalışır.
# 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 ve Bun'da sunucu tarafında çalışır. API CORS başlıkları göndermez, bu nedenle onu tarayıcı kodu yerine arka ucunuzdan çağırın.
Resmi npm istemcisi
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);
Doğrudan Fetch kullanarak
// 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());
Git
Harici paket gerekmez — standart kütüphane her şeyi halleder.
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
Gerektirir httr ve 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
Kullanımlar java.net.http (Java 11+). Harici kütüphaneye gerek yoktur.
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
Kullanımlar 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
Yerleşik olanı kullanır webread fonksiyonu.
% 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);
Herhangi bir dil için tiplendirilmiş bir istemci oluşturun
FXMacroData API eksiksiz bir OpenAPI 3.1 spesifikasyonu. Onu kullanarak openapi-generator Kotlin, Swift, Rust, Dart, Ruby, PHP ve 40+ diğer diller için tam türlendirilmiş istemciler üretmek için.
# 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
İnşa etmeye hazır mısınız?
USD yayın verileri, günde 100 isteğe kadar ve yayınlanmanın 15 dakika gerisinden anahtar olmadan çalışır. Gerçek zamanlı yayınlar, tahmin değerleri, tam geçmiş, daha yüksek limitler ve her para birimi için abone olun.