Quickstart
Începeți în orice limbaj
Interfața API de la FXMacroData este un API REST JSON standard. Orice limbaj cu suport HTTP funcționează. Punctele terminale de serii temporale freemium sunt disponibile pentru cele mai recente 90 zile fără o cheie. Adăugați o cheie API Individuală pentru a debloca istoricul complet și familiile de puncte terminale plătite.
Bază URL
https://api.fxmacrodata.com
Autentificare
X-API-Cheie: YOUR_API_KEY
Authorization: Bearer YOUR_API_KEY
?api_key=YOUR_API_KEY
Format răspuns
JSON (Content-Type: application/json)
openapi-generator-cli pentru a genera automat clienți în limbaje 40+.
Accept-Encoding: gzip la fiecare cerere (8–12× payload-uri mai mici), reutilizați ETag antetul răspunsului în If-None-Match la sondajele repetate (returnează 304 Not Modified fără corp), și transmite ?limit=50 pe endpoint-uri de indicator unic precum /v1/announcements/usd/inflation sau /v1/predictions/usd/inflation când aveți nevoie doar de rândurile recente. Vezi referința completă →
core_pce există pentru USD, dar nu pentru fiecare valută. Listați fiecare slug pe care o valută îl suportă cu GET /v1/data_catalogue/{currency}, de exemplu /v1/data_catalogue/usd. Un 404 cu error_code: NO_DATA_IN_REQUESTED_WINDOW înseamnă că slug-ul este valid și doar fereastra de date solicitată este goală — lărgiți start_date/end_date în loc să schimbi URL.
data_quality obiect. Pentru backtest-uri și raportare instituțională, inspectați point_in_time_safe, has_announcement_datetime, source_type, și is_stale.
Primul apel API
Cerere Rapidă
Începeți cu un endpoint de anunț live. Autentificarea rămâne în api_key parametru de interogare pentru testarea directă în browser și script.
curl "https://api.fxmacrodata.com/v1/announcements/eur/inflation?api_key=YOUR_API_KEY"
cereri Python
Cereri Python API copiabile
Utilizați aceste exemple directe REST atunci când doriți cererea brută API în loc de un wrapper SDK. Înlocuiți YOUR_API_KEY doar pe rutele protejate.
consensul pieței de inflație USD
Consens, sondaje, bănci centrale, IMF și prognoze FXMacroData unite cu anunțurile realizate.
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))
inflația USD cu marcaje temporale known-at
Înregistrări publice de inflație USD pentru backtest-uri point-in-time.
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))
istoric spot EUR/USD FX
Istoricul zilnic al prețurilor FX pentru grafice de perechi, modele și suprapuneri de lansare.
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))
istoricul ratei politicii monetare AUD
Istoricul deciziilor băncilor centrale cu momentul publicării pentru cercetare fără lookahead.
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))
programul viitoarelor publicații JPY
Evenimente macro viitoare cu câmpuri UTC, locale de piață și fusul orar solicitat pentru planificarea alertelor, actualizarea modelelor și revizuirile de trading.
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))
Prețuri mărfuri aur
Serii temporale oficiale pentru metale prețioase cu valori zilnice și câmpuri de modificare.
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
Instalează versiunea oficială fxmacrodata pachet de pe PyPI. Clienți sincroni și asincroni, output gata pentru pandas.
Utilizarea SDK
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")
Utilizarea directă a REST API
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])
Client Async
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())
Predicții & Prognoze
Cel /v1/predictions/{currency}/{indicator} endpoint-ul furnizează date de prognoză din sondajele de consens de piață, proiecțiile băncii centrale, IMF World Economic Outlook și sondajele de prognoză profesionale. Predicțiile sunt solicitate pentru o valută și un indicator specific, cum ar fi https://api.fxmacrodata.com/v1/predictions/usd/inflation; cererile de predicție doar pentru valută nu sunt suportate. Fiecare predicție este legată de anunțul său prin announcement_id, astfel încât să puteți uni prognozele cu observațiile realizate.
prediction_type="fxmacrodata" este o estimare generată de FXMacroData; un consens compilat real este etichetat market_consensus. Disponibilitatea prognozelor variază în funcție de publicare — verificați matrice de acoperire. Pentru cercetare fără look-ahead, urmați ghid de backtesting point-in-time.
Python — preia prognozele și unește-le cu valorile reale
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 — preluarea predicțiilor după tip
# 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"
Referință tipuri de predicții
| prediction_type | Descriere |
|---|---|
| market_consensus | Consensul compilat al pieței sau al economiștilor, unde este disponibil |
| market_prediction | Predicție punctuală de prognozator profesionist |
| model_nowcast | Nowcast model bancă centrală sau bancă de rezervă |
| sondaj | Sondaj al băncii centrale asupra prognozatorilor profesioniști (ex. ECB SPF) |
| central_bank_forecast | Proiecție oficială a băncii centrale (ex. RBNZ MPS, BoC MPR) |
| central_bank_projection | Proiecție oficială a băncii centrale |
| imf_weo | proiecția IMF World Economic Outlook |
| fxmacrodata | predicție generată de FXMacroData care combină orientările băncii centrale, sondajele și tendințele istorice |
cURL
Nu este necesară instalarea. Funcționează din orice terminal.
# 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
Funcționează în Node.js (18+), Deno, Bun și browsere moderne cu API Fetch.
Client npm oficial
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);
Utilizarea Fetch direct
// 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());
Go
Nu sunt necesare pachete externe — biblioteca standard gestionează totul.
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
Necesită httr și 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
Utilizări java.net.http (Java 11+). Nu sunt necesare biblioteci externe.
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
Utiliză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
Utilizează webread funcție.
% 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);
Generați un client tipizat pentru orice limbaj
FXMacroData API publică un Specificația OpenAPI 3.1. Utilizați-l cu openapi-generator pentru a produce clienți complet tipizați pentru Kotlin, Swift, Rust, Dart, Ruby, PHP și alte 40+ limbaje.
# 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
Pregătit să construiești?
Endpoint-urile USD acceptă evaluarea fără cheie până la 100 cereri/zi. Abonați-vă pentru limite mai mari și acces multi-valutar.