Démarrage rapide
Commencer dans n'importe quelle langue
Le API de FXMacroData est un JSON REST API standard. Tout langage avec un support HTTP fonctionne. Les endpoints de séries temporelles freemium sont disponibles pour les 90 jours les plus récents sans clé. Ajoutez une clé Individual API pour débloquer l'historique complet et les familles d'endpoints payants.
URL de base
https://api.fxmacrodata.com
Authentification
X-API-Clé : YOUR_API_KEY
Authorization: Bearer YOUR_API_KEY
?api_key=YOUR_API_KEY
Format de réponse
JSON (Content-Type: application/json)
openapi-generator-cli pour auto-générer des clients dans 40+ langues.
Accept-Encoding: gzip sur chaque requête (8–12× charges utiles plus petites), réutilisez le ETag en-tête de réponse dans If-None-Match sur des sondages répétés (renvoie 304 Not Modified sans corps), et passer ?limit=50 sur des points de terminaison à indicateur unique tels que /v1/announcements/usd/inflation ou /v1/predictions/usd/inflation lorsque vous n'avez besoin que des lignes récentes. Voir la référence complète →
core_pce existe pour USD mais pas pour chaque devise. Listez chaque slug supporté par une devise avec GET /v1/data_catalogue/{currency}, par exemple /v1/data_catalogue/usd. Un 404 avec error_code: NO_DATA_IN_REQUESTED_WINDOW signifie que le slug est valide et que seule la fenêtre de date demandée est vide — élargir start_date/end_date plutôt que de changer le URL.
data_quality objet. Pour les backtests et le reporting institutionnel, inspectez point_in_time_safe, has_announcement_datetime, source_type, et is_stale.
Premier appel API
Requête rapide
Commencez par un point de terminaison d'annonce en direct. L'authentification reste dans le api_key paramètre de requête pour les tests directs via navigateur et script.
curl "https://api.fxmacrodata.com/v1/announcements/eur/inflation?api_key=YOUR_API_KEY"
Requêtes Python
Requêtes Python API copiables
Utilisez ces exemples REST directs lorsque vous voulez la requête API brute au lieu d'un wrapper SDK. Remplacez YOUR_API_KEY uniquement sur les routes protégées.
consensus du marché de l'inflation USD
Prévisions de consensus, d'enquêtes, de banques centrales, de IMF, et de FXMacroData jointes aux annonces réalisées.
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 inflation avec des horodatages connus
Enregistrements d'inflation USD publics pour les backtests à un instant T.
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))
historique spot EUR/USD FX
Historique quotidien des prix FX pour les graphiques de paires, les modèles et les superpositions de publication.
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))
historique du taux directeur AUD
Historique des décisions de la banque centrale avec l'horodatage de publication pour une recherche sans anticipation.
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))
Calendrier des prochaines publications JPY
Événements macroéconomiques à venir avec des champs UTC, market-local et fuseau horaire demandé pour la planification des alertes, les mises à jour de modèles et les revues 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))
Prix des matières premières (or)
Séries temporelles officielles des métaux précieux avec valeurs quotidiennes et champs de variation.
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
Installer l'officiel fxmacrodata package de PyPI. Clients synchrone et asynchrone, sortie prête pour pandas.
Utilisation 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")
Utilisation directe du 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 asynchrone
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())
Prédictions & Prévisions
Le /v1/predictions/{currency}/{indicator} l'endpoint fournit des données de prévision provenant des enquêtes de consensus du marché, des projections des banques centrales, de l'IMF World Economic Outlook et des enquêtes de prévisionistes professionnels. Les prédictions sont demandées pour une devise et un indicateur spécifiques, tels que https://api.fxmacrodata.com/v1/predictions/usd/inflation; les requêtes de prédiction uniquement pour la devise ne sont pas supportées. Chaque prédiction est liée à son annonce via announcement_id, afin que vous puissiez joindre les prévisions aux observations réalisées.
prediction_type="fxmacrodata" est une estimation générée par FXMacroData ; un véritable consensus compilé est étiqueté market_consensus. La disponibilité des prévisions varie selon la publication — consultez le matrice de couverture. Pour une recherche sans anticipation, suivez le guide de backtesting point-in-time.
Python — récupérer les prévisions et les joindre aux valeurs réelles
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 — récupérer les prédictions par type
# 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"
Référence des types de prédiction
| prediction_type | Description |
|---|---|
| market_consensus | Consensus compilé des événements de marché ou d'économistes, si disponible |
| market_prediction | Prédiction ponctuelle de professionnel de la prévision |
| model_nowcast | Nowcast de modèle de banque centrale ou de banque de réserve |
| enquête | Enquête de la banque centrale auprès des prévisionistes professionnels (ex. ECB SPF) |
| central_bank_forecast | Projection officielle de la banque centrale (ex: RBNZ MPS, BoC MPR) |
| central_bank_projection | Projection officielle de la banque centrale |
| imf_weo | Projection IMF World Economic Outlook |
| fxmacrodata | Prédiction générée par FXMacroData combinant les orientations des banques centrales, les enquêtes et les tendances historiques |
cURL
Aucune installation requise. Fonctionne depuis n'importe quel 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
Fonctionne dans Node.js (18+), Deno, Bun, et les navigateurs modernes avec Fetch API.
Client npm officiel
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);
Utilisation directe de Fetch
// 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());
Aller
Aucun package externe nécessaire — la bibliothèque standard s'occupe de tout.
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
Nécessite httr et 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
Utilisations java.net.http (Java 11+). Aucune bibliothèque externe n'est nécessaire.
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
Utilisations 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
Utilise le intégré webread fonction.
% 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);
Générer un client typé pour n'importe quel langage
Le API de FXMacroData publie un complet Spécification OpenAPI 3.1. Utilisez-le avec openapi-generator pour produire des clients entièrement typés pour Kotlin, Swift, Rust, Dart, Ruby, PHP, et 40 + d'autres langages.
# 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
Prêt à construire ?
Les points de terminaison USD permettent une évaluation sans clé jusqu'à 100 requêtes/jour. Abonnez-vous pour des limites plus élevées et un accès multi-devises.