Quickstart
Comience en cualquier lenguaje
El API de FXMacroData es un JSON estándar REST API. Cualquier lenguaje con soporte HTTP funciona. Los endpoints de series temporales freemium están disponibles para los últimos 90 días sin una clave. Agregue una clave API Individual para desbloquear el historial completo y las familias de endpoints de pago.
URL base
https://api.fxmacrodata.com
Autenticación
X-API-Clave: YOUR_API_KEY
Autorización: Bearer YOUR_API_KEY
?api_key=YOUR_API_KEY
Formato de respuesta
JSON (Content-Type: application/json)
openapi-generator-cli para autogenerar clientes en 40+ idiomas.
Accept-Encoding: gzip en cada solicitud (8–12× cargas de datos más pequeñas), reutilice el ETag encabezado de respuesta en If-None-Match en encuestas repetidas (devuelve 304 Not Modified sin cuerpo), y pasar ?limit=50 en endpoints de un solo indicador como /v1/announcements/usd/inflation o /v1/predictions/usd/inflation cuando solo necesita filas recientes. Ver la referencia completa →
core_pce existe para USD pero no para todas las monedas. Liste cada slug que una moneda soporta con GET /v1/data_catalogue/{currency}, por ejemplo /v1/data_catalogue/usd. Un 404 con error_code: NO_DATA_IN_REQUESTED_WINDOW significa que el slug es válido y solo la ventana de fecha solicitada está vacía — ampliar start_date/end_date en lugar de cambiar el URL.
data_quality objeto. Para backtests e informes institucionales, inspeccione point_in_time_safe, has_announcement_datetime, source_type, y is_stale.
Primera llamada API
Solicitud rápida
Comience con un endpoint de anuncios en vivo. La autenticación permanece en el api_key parámetro de consulta para pruebas directas en navegador y script.
curl "https://api.fxmacrodata.com/v1/announcements/eur/inflation?api_key=YOUR_API_KEY"
solicitudes de Python
Solicitudes de API en Python copiables
Use estos ejemplos directos de REST cuando desee la solicitud API pura en lugar de un wrapper de SDK. Reemplace YOUR_API_KEY solo en rutas protegidas.
consenso de mercado de inflación de USD
Pronósticos de consenso, encuestas, bancos centrales, IMF y FXMacroData unidos a anuncios realizados.
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ón con marcas de tiempo conocidas
Registros públicos de inflación USD para backtests en un punto en el tiempo.
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))
historial spot EUR/USD FX
Historial de precios diario de FX para gráficos de pares, modelos y superposiciones de lanzamientos.
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 de tasa de política de AUD
Historial de decisiones de bancos centrales con tiempos de lanzamiento para investigación sin anticipación (no-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))
Calendario de próximas publicaciones de JPY
Próximos eventos macroeconómicos con UTC, campos de mercado local y de zona horaria solicitada para la planificación de alertas, actualizaciones de modelos y revisiones 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))
Precios de la materia prima oro
Series temporales oficiales de metales preciosos con valores diarios y campos de cambio.
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
Instalar el oficial fxmacrodata paquete de PyPI. Clientes sync y async, salida lista para pandas.
Usando el 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")
Usando el REST API directamente
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])
Cliente 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())
Predicciones & Pronósticos
El /v1/predictions/{currency}/{indicator} el endpoint ofrece datos de pronóstico de superficies provenientes de encuestas de consenso de mercado, proyecciones de bancos centrales, IMF World Economic Outlook y encuestas de pronosticadores profesionales. Las predicciones se solicitan para una moneda e indicador específicos, tales como https://api.fxmacrodata.com/v1/predictions/usd/inflation; las solicitudes de predicción de solo moneda no son compatibles. Cada predicción está vinculada a su anuncio a través de announcement_id, para que pueda combinar pronósticos con observaciones realizadas.
prediction_type="fxmacrodata" es una estimación generada por FXMacroData; un consenso compilado real se etiqueta como market_consensus. La disponibilidad de los pronósticos varía según el lanzamiento; consulte el matriz de cobertura. Para una investigación sin sesgo de anticipación (look-ahead-free), siga el guía de backtesting point-in-time.
Python — obtener predicciones y unir con valores reales
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 — obtener predicciones por tipo
# 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"
Referencia de tipos de predicción
| prediction_type | Descripción |
|---|---|
| market_consensus | Consenso de eventos de mercado o economistas compilado, donde esté disponible |
| market_prediction | Predicción puntual de pronosticador profesional |
| model_nowcast | Nowcast de modelo de banco central o banco de reserva |
| encuesta | Encuesta de bancos centrales a pronosticadores profesionales (ej. ECB SPF) |
| central_bank_forecast | Proyección oficial del banco central (p. ej., RBNZ MPS, BoC MPR) |
| central_bank_projection | Proyección oficial del banco central |
| imf_weo | proyección IMF World Economic Outlook |
| fxmacrodata | Predicción generada por FXMacroData que combina la orientación del banco central, encuestas y tendencias históricas |
cURL
No se requiere instalación. Funciona desde cualquier 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 y navegadores modernos con el Fetch API.
Cliente 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);
Usando Fetch directamente
// 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());
Ir
No se necesitan paquetes externos; la biblioteca estándar lo maneja todo.
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
Requiere httr y 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 se necesitan librerías externas.
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
Utiliza el integrado webread función.
% 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);
Generar un cliente tipado para cualquier lenguaje
El API de FXMacroData publica un completo Especificación OpenAPI 3.1. Úselo con openapi-generator para producir clientes totalmente tipados para Kotlin, Swift, Rust, Dart, Ruby, PHP, y 40+ otros idiomas.
# 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
¿Listo para construir?
Los endpoints de USD admiten evaluación sin clave hasta 100 solicitudes/día. Suscríbase para obtener límites más altos y acceso multi-moneda.