Inicio rápido
Comeza en calquera linguaxe
O API de FXMacroData é un JSON estándar REST API. Calquera linguaxe con soporte para HTTP funciona. Os endpoints de series temporais freemium están dispoñibles para os últimos 90 días sen unha chave. Engade unha chave individual de API para desbloquear o historial completo e as familias de endpoints de pago.
URL base
https://api.fxmacrodata.com
Autenticación
X-API-Chave: YOUR_API_KEY
Autorización: Bearer YOUR_API_KEY
?api_key=YOUR_API_KEY
Formato de resposta
JSON (Content-Type: application/json)
openapi-generator-cli para xerar automaticamente clientes en 40+ idiomas.
Accept-Encoding: gzip en cada solicitude (8–12× carga útil máis pequena), reutiliza o ETag cabecera de resposta en If-None-Match en sondaxes repetidas (devolucións 304 Not Modified sen corpo), e pasar ?limit=50 en endpoints de un só indicador como /v1/announcements/usd/inflation ou /v1/predictions/usd/inflation cando só necesites filas recentes. Ver a referencia completa →
core_pce existe para USD pero non para todas as moedas. Liste cada slug que unha moeda soporta con GET /v1/data_catalogue/{currency}, por exemplo /v1/data_catalogue/usd. Un 404 con error_code: NO_DATA_IN_REQUESTED_WINDOW significa que o slug é válido e só a xanxa de data solicitada está vacía — ampliar start_date/end_date en lugar de cambiar o URL.
data_quality obxecto. Para backtests e informes institucionais, inspeccione point_in_time_safe, has_announcement_datetime, source_type, e is_stale.
Primeira chamada de API
Petición rápida
Comece cun endpoint de anuncio en vivo. A autenticación permanece no api_key parámetro de consulta para probas directas de navegador e script.
curl "https://api.fxmacrodata.com/v1/announcements/eur/inflation?api_key=YOUR_API_KEY"
Solicitudes de Python
Solicitudes de Python API copiable
Use estes exemplos directos de REST cando queira a petición bruta de API en lugar dun wrapper de SDK. Substitúa YOUR_API_KEY só en rutas protexidas.
Consenso de mercado de inflación de USD
Consenso, enquisita, banco central, IMF e prevesións de FXMacroData unidas 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 tempo coñecidas
Registros públicos de inflación de USD para backtests de punto no tempo.
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 de EUR/USD FX
Historial diario de prezos de FX para gráficos de pars, modelos e superposicións de lanzamento.
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 da taxa de política de AUD
Historial de decisións do banco central con cronoloxía de lanzamentos para investigación sen anticipación.
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 publicacións próximas JPY
Próximos eventos macro cun campos de UTC, local de mercado e fuso horario solicitado para a planificación de alertas, actualizacións de modelos e revisións 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))
Prezos da materia prima ouro
Series temporais oficiais de metais preciosos con valores diarios e 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 o oficial fxmacrodata paquete de PyPI. Clientes sincrónicos e asincrónicos, saída compatible con pandas.
Usando o 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")
Usar o 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 asíncrono
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())
Predicións & Prevesións
O /v1/predictions/{currency}/{indicator} os endpoints predicen datos de consenso de mercado a través de enquisas, proxeccións do banco central, o IMF World Economic Outlook e enquisas de previsores profesionais. As predicións solicítanse para unha moeda e un indicador específicos, como https://api.fxmacrodata.com/v1/predictions/usd/inflation; as solicitudes de predicción só de moeda non están soportadas. Cada predicción está vinculada ao seu anuncio mediante announcement_id, así que podes xuntar previsións con observacións realizadas.
prediction_type="fxmacrodata" é unha estimación xerada por FXMacroData; un verdadeiro consenso compilado está etiquetado como market_consensus. A dispoñibilidade de previsións varía segundo o comunicado — comprueba o matriz de cobertura. Para investigación sen anticipación, segue o guía de backtesting de punto no tempo.
Python — obter prevesións e unir con datos reais
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 — obter prediccións 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
| tipo_de_predición | Descrición |
|---|---|
| market_consensus | Consenso de eventos de mercado ou de economistas compilado, cando está dispoñible |
| market_prediction | Predición de punto profesional de previsionista |
| model_nowcast | Nowcast de modelo de banco central ou banco de reserva |
| enxeito | Pesquisa de bancos centrais a previsores profesionais (ex. ECB SPF) |
| central_bank_forecast | Proxección oficial do banco central (por exemplo, RBNZ MPS, BoC MPR) |
| central_bank_projection | Proxección oficial do banco central |
| imf_weo | Proxección IMF World Economic Outlook |
| fxmacrodata | Predición xerada por FXMacroData que combina orientación do banco central, enquisas e tendencias históricas |
cURL
Non necesita instalación. Funciona desde calquera 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 e navegadores modernos con 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);
Usar 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
Non son necesarios paquetes externos — a biblioteca estándar xestiona 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
Requires httr e 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+). Non se precisan librarí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 o 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);
Xenerar un cliente tipado para calquera linguaxe
O API de FXMacroData publica un completo especificación OpenAPI 3.1. Úsao con openapi-generator para producir clientes totalmente tipados para Kotlin, Swift, Rust, Dart, Ruby, PHP, e outros 40+ 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
¿Preparado para construír?
Os endpoints de USD admiten a avaliación sen chave ata 100 solicitudes/día. Subscríbete para obter límites máis altos e acceso multi-divisa.