Inici ràpid
Comença en qualsevol llenguatge
L'API de FXMacroData és un JSON estàndard REST API. Qualsevol llenguatge amb suport HTTP funciona. Els endpoints de sèries temporals freemium estan disponibles per als 90 dies més recents sense clau. Afegeix una clau API Individual per desbloquejar l'historial complet i les famílies d'endpoints de pagament.
URL Base
https://api.fxmacrodata.com
Autenticació
X-API-Clau: YOUR_API_KEY
Autorització: Bearer YOUR_API_KEY
?api_key=YOUR_API_KEY
Format de resposta
JSON (Content-Type: application/json)
openapi-generator-cli per auto-generar clients en idiomes 40+.
Accept-Encoding: gzip en cada petició (8–12× càregues més petites), reutilitzeu el ETag capçalera de resposta en If-None-Match en enquestes repetides (retorn 304 Not Modified sense cos), i passar ?limit=50 en endpoints de predictor únic com /v1/announcements/usd/inflation o /v1/predictions/usd/inflation quan només necessitis files recents. Veure la referència completa →
core_pce existeix per a USD però no per a totes les monedes. Llista cada slug que una moneda suporta amb GET /v1/data_catalogue/{currency}, per exemple /v1/data_catalogue/usd. Un 404 amb error_code: NO_DATA_IN_REQUESTED_WINDOW significa que el slug és vàlid i només la finestra de data sol·licitada està buida — ampliar start_date/end_date en lloc de canviar el URL.
data_quality objecte. Per a backtests i informes institucionals, inspecciona point_in_time_safe, has_announcement_datetime, source_type, i is_stale.
Primera trucada a API
Petició ràpida
Comença amb un endpoint d'anunci en directe. L'autenticació es manté a la api_key paràmetre de consulta per a proves directes de navegador i script.
curl "https://api.fxmacrodata.com/v1/announcements/eur/inflation?api_key=YOUR_API_KEY"
Peticions Python
Peticions Python API copiables
Utilitzi aquests exemples directes de REST quan vulgui la petició bruta de API en lloc d'un wrapper SDK. Substituiu YOUR_API_KEY només en rutes protegides.
consens del mercat de la inflació de USD
Previsions de consens, enquestes, bancs centrals, IMF i FXMacroData unides als anuncis realitzats.
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))
USD inflació amb marca de temps coneguda
Registres d'inflació públics de USD per a backtests de punt en el temps.
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))
història spot EUR/USD FX
Historial diari de preus FX per a gràfics de parelles, models i superposicions de publicació.
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))
historial del tipus de política de AUD
Historial de decisions del banc central amb el moment de la publicació per a recerca sense anticipació.
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))
Calendari de publicacions pròximes JPY
Esdeveniments macro pròxims amb camps de UTC, local de mercat i fusó horària sol·licitada per a la planificació d'alertes, actualitzacions de models i revisions 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))
Preus de la matèria primera de l'or
Sèries temporals oficials de metalls preciosos amb valors diaris i camps de canvi.
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
Instal·leu l'oficial fxmacrodata paquet de PyPI. Clients sincrònics i asíncronics, sortida preparada per a pandas.
Ús de 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")
Utilitzant el REST API directament
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 asíncron
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())
Predicció & Previsions
El /v1/predictions/{currency}/{indicator} endpoint preveu dades de les enquestes de consens del mercat, les projeccions del banc central, el IMF World Economic Outlook i les enquestes de previsors professionals. Les prediccions es sol·liciten per a una moneda i un indicador específics, com https://api.fxmacrodata.com/v1/predictions/usd/inflation; les sol·licituds de predicció només de moneda no estan suportades. Cada predicció està vinculada al seu anunci via announcement_id, perquè puguis unir previsions amb observacions realitzades.
prediction_type="fxmacrodata" és una estimació generada per FXMacroData; un consens compilat real s'etiqueta com market_consensus. La disponibilitat de les previsions varia segons la publicació — consulta el matriu de cobertura. Per a la recerca sense anticipació, segueix el guia de backtesting de punt en el temps.
Python — recollir previsions i unir amb les reals
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 — recuperar prediccions per tipus
# 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"
Referència de tipus de predicció
| prediction_type | Descripció |
|---|---|
| market_consensus | Consens de l'esdeveniment del mercat o de l'economista compilat, quan està disponible |
| market_prediction | Predicció puntual de pronosticador professional |
| model_nowcast | Nowcast de model de banc central o banc de reserva |
| enquesta | Enquesta de bancs centrals a previsors professionals (p. ex. ECB SPF) |
| central_bank_forecast | Projecció oficial del banc central (p. ex. RBNZ MPS, BoC MPR) |
| central_bank_projection | Projecció oficial del banc central |
| imf_weo | Projecció IMF World Economic Outlook |
| fxmacrodata | Predicció generada per FXMacroData que combina la guia del banc central, enquestes i tendències històriques |
cURL
No cal instal·lar res. Funciona des de qualsevol 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
Funciona en Node.js (18+), Deno, Bun i navegadors moderns amb la Fetch API.
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);
Utilitzant Fetch directament
// 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());
Anar
No cal cap paquet extern: la biblioteca estàndard ho gestiona tot.
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
Requereix 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
Usos java.net.http (Java 11+). No es necessiten llibreries externes.
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
Usos 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
Utilitza l'integrat webread funció.
% 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);
Genereu un client tipat per a qualsevol llenguatge
El API de FXMacroData publica un complet Especificació OpenAPI 3.1. Utilitza'l amb openapi-generator per produir clients totalment tipats per a Kotlin, Swift, Rust, Dart, Ruby, PHP, i 40+ altres idiomes.
# 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
Preparat per construir?
Els endpoints USD permeten l'avaluació sense clau fins a 100 peticions/dia. Subscriu-te per obtenir límits més alts i accés multi-divisa.