Hızlı Başlangıç
Herhangi bir dilde başlayın
FXMacroData API, standart bir JSON REST API'dir. HTTP desteği olan her dil çalışır. En güncel 90 gün için anahtar olmadan freemium zaman serisi uç noktaları mevcuttur. Tam geçmişin ve ücretli uç nokta ailelerinin kilidini açmak için bir Bireysel API anahtarı ekleyin.
Temel URL
https://api.fxmacrodata.com
Kimlik Doğrulama
X-API-Anahtar: YOUR_API_KEY
Yetkilendirme: Bearer YOUR_API_KEY
?api_key=YOUR_API_KEY
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 →
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. Bir 404 ile 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'ı değiştirmek yerine.
data_quality nesnesi. Backtestler ve kurumsal raporlama için inceleyin point_in_time_safe, has_announcement_datetime, source_type, ve is_stale.
İlk API çağrısı
Hızlı İstek
Canlı bir duyuru uç noktası ile başlayın. Kimlik doğrulama şurada kalır: api_key doğrudan tarayıcı ve betik testi için sorgu parametresi.
curl "https://api.fxmacrodata.com/v1/announcements/eur/inflation?api_key=YOUR_API_KEY"
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"
response = requests.get(url, 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"
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 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"
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 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",
"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))
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"
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))
Python
Resmi olanı yükleyin fxmacrodata PyPI'den paket. Senkron ve asenkron istemciler, pandas uyumlu çıktı.
SDK kullanarak
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 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])
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.
Python — tahminleri getir ve gerçekleşenlerle birleştir
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 — türe göre tahminleri getir
# 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"
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 — 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 ve Fetch API içeren modern tarayıcılarda çalışır.
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 = "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());
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", query = list(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); url = 'https://api.fxmacrodata.com/v1/announcements/eur/policy_rate?api_key=YOUR_API_KEY'; 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 uç noktaları, 100 isteğe/gün kadar anahtarsız değerlendirmeyi destekler. Daha yüksek limitler ve çoklu para birimi erişimi için abone olun.