Sürətli başlanğıc
İstənilən dildə başlayın
FXMacroData API standart JSON REST API -dir. HTTP dəstəyi olan hər hansı dil işləyir. Freemium zaman seriyası son nöqtələri açarsız son 90 gün üçün əlçatandır. Tam tarixçəni və ödənişli son nöqtə ailələrini açmaq üçün Fərdi API açarı əlavə edin.
Əsas URL
https://api.fxmacrodata.com
Autentifikasiya
X-API-Açar: YOUR_API_KEY
Authorization: Bearer YOUR_API_KEY
?api_key=YOUR_API_KEY
Cavab formatı
JSON (Content-Type: application/json)
openapi-generator-cli 40+ dillərdə müştəriləri avtomatik yaratmaq üçün.
Accept-Encoding: gzip hər sorğu üçün (8–12× daha kiçik fayllar), yenidən istifadə edin ETag cavab başlığı If-None-Match təkrarlanan sorğularda (qaytarır 304 Not Modified body olmadan), və ötür ?limit=50 kimi tək indikatorlu endpoint-lərdə /v1/announcements/usd/inflation və ya /v1/predictions/usd/inflation yalnız son sətirlərə ehtiyacınız olduqda. Tam istinada baxın →
core_pce USD üçün mövcuddur, lakin hər bir valyuta üçün deyil. Hər bir valyutanın dəstəklədiyi hər bir slug-ı siyahıya alın: GET /v1/data_catalogue/{currency}, məsələn /v1/data_catalogue/usd. Bir 404 ilə error_code: NO_DATA_IN_REQUESTED_WINDOW deməkdir ki, slug etibarlıdır və yalnız sorğu edilən tarix pəncərəsi boşdur — genişləndirmək start_date/end_date URL dəyişdirmək əvəzinə.
data_quality obyekt. Backtestlər və institusional hesabatlıq üçün, yoxlayın point_in_time_safe, has_announcement_datetime, source_type, və is_stale.
İlk API çağırışı
Sürətli Sorğu
Canlı elan endpointi ilə başlayın. Autentifikasiya qalır api_key birbaşa brauzer və skript testi üçün sorğu parametri.
curl "https://api.fxmacrodata.com/v1/announcements/eur/inflation?api_key=YOUR_API_KEY"
Python sorğuları
Kopyalana bilən Python API sorğuları
SDK wrapper-i əvəzinə xam API sorğusu istədiyinizdə bu birbaşa REST nümunələrindən istifadə edin. YOUR_API_KEY yalnız qorunan marşrutlarda əvəz edin.
USD inflyasiya bazar konsensusu
Konsensus, sorğu, mərkəzi bank, IMF və FXMacroData proqnozlarının reallaşmış elanlarla birləşdirilməsi.
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))
məlum olduğu vaxt etiketləri ilə USD inflyasiyasını
Zaman nöqtəli backtest-lər üçün ictimai USD inflyasiya qeydləri.
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 tarixi
Cütlük qrafikləri, modellər və buraxılış örtükləri üçün gündəlik FX qiymət tarixçəsi.
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 siyasət dərəcəsi tarixçəsi
Gələcəyi görmədən (no-lookahead) tədqiqat üçün buraxılış vaxtı ilə birlikdə Mərkəzi bank qərar tarixçəsi.
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 yaxınlaşan buraxılış cədvəli
Xəbərdarlıqların planlaşdırılması, modellərin yenilənməsi və ticarət nəzərdən keçirmələri üçün UTC, bazar-lokal və sorğulanmış vaxt zonası sahələri ilə gələcək makro hadisələr.
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))
Qızıl əmtəə qiymətləri
Gündəlik dəyərlər və dəyişiklik sahələri ilə rəsmi qiymətli metallar zaman sıralaması.
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
Rəsmi olanı quraşdırın fxmacrodata PyPI-dan paket. Sinxron və asinxron müştərilər, pandas-hazır çıxış.
SDK istifadə edərək
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 birbaşa istifadə etməklə
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 klient
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())
Proqnozlar & Proqnozlar
O /v1/predictions/{currency}/{indicator} endpoint-lər bazar konsensus sorğuları, mərkəzi bank proqnozları, IMF World Economic Outlook və peşəkar proqnozçu sorğularından məlumatları proqnozlaşdırır. Proqnozlar konkret valyuta və indikator üçün tələb olunur, məsələn, https://api.fxmacrodata.com/v1/predictions/usd/inflation; yalnız valyuta proqnoz sorğuları dəstəklənmir. Hər bir proqnoz öz elanı ilə əlaqələndirilir announcement_id, beləliklə proqnozları reallaşmış müşahidələrlə birləşdirə bilərsiniz.
prediction_type="fxmacrodata" FXMacroData tərəfindən yaradılmış təxmindir; əsl toplanmış konsensus adlandırılır market_consensus. Proqnoz əlçatanlığı buraxılışdan asılı olaraq dəyişir — yoxlayın əhatə matrisi. Gələcəyə baxışsız tədqiqat üçün, izləyin zaman kəsiyindəki backtesting bələdçisi.
Python — proqnozları gətirin və faktiki göstəricilərlə birləşdirin
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 — tipə görə proqnozları gətir
# 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"
Proqnoz növləri istinadı
| prediction_type | Təsvir |
|---|---|
| market_consensus | Mövcud olduqda, toplanmış bazar və ya iqtisadçı hadisə konsensusu |
| market_prediction | Peşəkar proqnozçu nöqtə proqnozu |
| model_nowcast | Mərkəzi bank və ya ehtiyat bankı modeli nowcast |
| sorğu | Peşəkar proqnozçuların mərkəzi bank sorğusu (məsələn, ECB SPF) |
| central_bank_forecast | Rəsmi mərkəzi bank proqnozu (məsələn, RBNZ MPS, BoC MPR) |
| central_bank_projection | Rəsmi mərkəzi bank proqnozu |
| imf_weo | IMF World Economic Outlook proqnozu |
| fxmacrodata | Mərkəzi bank rəhbərliyi, sorğular və tarixi tendensiyaları birləşdirən FXMacroData tərəfindən yaradılmış proqnoz |
cURL
Quraşdırma tələb olunmur. İstənilən terminaldan işləyir.
# 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 və Fetch API ilə müasir brauzerlərdə işləyir.
Rəsmi npm müştərisi
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-dən birbaşa istifadə etməklə
// 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());
Get
Xarici paketlərə ehtiyac yoxdur — standart kitabxana hər şeyi idarə edir.
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
Tələb edir httr və 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
İstifadələri java.net.http (Java 11+). Xarici kitabxanalara ehtiyac yoxdur.
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
İstifadələri 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
Daxili istifadə edir webread funksiyası.
% 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);
İstənilən dil üçün tipləndirilmiş müştəri yaradın
FXMacroData API tam bir OpenAPI 3.1 spesifikasiyası. Onu bununla istifadə edin openapi-generator Kotlin, Swift, Rust, Dart, Ruby, PHP və 40+ digər dillər üçün tam tipləndirilmiş müştərilər istehsal etmək üçün.
# 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
Hazırsınızmı?
USD endpointləri 100 sorğusuna qədər açarsız qiymətləndirməni dəstəkləyir. Daha yüksək limitlər və çoxlu valyuta girişi üçün abunə olun.