Passer au contenu

Démarrage rapide

Commencer dans n'importe quelle langue

Le FXMacroData API est un JSON REST API standard pour une utilisation côté serveur. Tout langage avec un support HTTP fonctionne. Les données d'annonce USD, le calendrier de publication USD et le catalogue de données sont gratuits sans clé : les 90 derniers jours, avec un délai de publication de 15 minutes, jusqu'à 100 requêtes par jour. Les valeurs de prévision (USD incluses), toutes les autres devises, les publications en temps réel et l'historique complet nécessitent une clé API, envoyée dans le X-API-Key header. Voir ce qui est gratuit

URL de base

https://api.fxmacrodata.com

Authentification

X-API-Clé : YOUR_API_KEY

Authorization: Bearer YOUR_API_KEY

L'ancien ?api_key= le paramètre de requête est obsolète : les clés dans les URL se retrouvent dans les journaux.

Format de réponse

JSON (Content-Type: application/json)

Générer automatiquement des clients typés : Utiliser le publié Spécification OpenAPI 3.1 avec openapi-generator-cli pour auto-générer des clients dans 40+ langues.
Gains de performance gratuits : Envoyer 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 →
Appelez le API depuis votre serveur : Le API n'envoie pas d'en-têtes CORS aux origines du navigateur, donc un fetch() depuis une page web est bloqué par le navigateur. Appelez FXMacroData depuis votre backend et gardez la clé API hors du code côté client.
Découvrez les slugs d'indicateurs avant de coder les chemins en dur : Les slugs d'indicateurs varient selon la devise — 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 200 dont le data le tableau est vide et qui transporte no_data.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 modifier le URL ou de réessayer. Un 404 signifie que l'identifiant de la devise ou de l'indicateur est incorrect.
Vérifier la qualité de la réponse : Les points de terminaison basés sur les sources renvoient un niveau supérieur data_quality objet. Pour les backtests et le reporting institutionnel, inspectez point_in_time_safe, has_announcement_datetime, source_type, et is_stale. point_in_time_safe est faux dès qu'une ligne dans la fenêtre comporte une heure de publication dérivée du délai de publication mesuré de la série, donc vérifiez assumed_release_time_count et le par-ligne release_time_assumed drapeau avant de traiter un faux comme inutilisable.

Accès à la place de marché

Utiliser FXMacroData via RapidAPI

RapidAPI est un canal de place de marché optionnel pour le FXMacroData REST API. FXMacroData fournit les données ; RapidAPI gère votre abonnement à la place de marché, votre clé API, votre quota de requêtes et la facturation. Aucun compte ou clé FXMacroData distinct n'est nécessaire pour les requêtes via ce canal.

  1. Ouvrir le liste officielle FXMacroData et choisissez un forfait. Consultez l'onglet des tarifs pour la couverture actuelle, les quotas et les limites de débit.
  2. Copiez votre clé RapidAPI depuis le playground de l'endpoint et stockez-la dans l'environnement de votre serveur sous la forme RAPIDAPI_KEY.
  3. Envoyer les requêtes à https://fxmacrodata1.p.rapidapi.com avec les deux en-têtes RapidAPI, comme illustré ci-dessous.
curl --request GET \
  --url "https://fxmacrodata1.p.rapidapi.com/v1/announcements/usd/inflation?limit=3" \
  --header "X-RapidAPI-Key: $RAPIDAPI_KEY" \
  --header "X-RapidAPI-Host: fxmacrodata1.p.rapidapi.com"

Couverture des points de terminaison du Marketplace

La liste comprend les annonces, les calendriers de publication, le catalogue de données, les taux FX quotidiens, le positionnement COT, les actualités des banques centrales, les sessions de marché et un contrôle de santé. L'accès aux devises et à l'historique dépend de votre forfait RapidAPI. Utilisez le catalogue pour trouver les slugs d'indicateurs pris en charge.

Accès direct FXMacroData

Les autres exemples sur cette page utilisent api.fxmacrodata.com et un FXMacroData X-API-Key lorsque nécessaire. Les clés et les abonnements sont distincts entre les canaux. Un abonnement RapidAPI couvre les points de terminaison REST listés ; les abonnements au site web, MCP, les prévisions, le streaming et les webhooks sont des offres distinctes.

Gardez votre clé hors du code du navigateur et des dépôts publics. Pour des ensembles de résultats plus longs, suivez pagination.next_offset until pagination.has_more est faux. N'envoyez jamais votre clé API au support.

Premier appel API

Requête rapide

Le premier extrait s'exécute tel quel : aucune clé n'est nécessaire pour les données USD, servies 15 minutes après la publication. Ajoutez X-API-Key pour toutes les 22 devises et la livraison en temps réel, envoyée depuis un serveur, un script ou un notebook.

Aucune clé · inflation USD GET /v1/announcements/usd/inflation
1 · Aucune clé requise
# USD inflation, no key: 15-minute delay, most recent 90 days
curl "https://api.fxmacrodata.com/v1/announcements/usd/inflation?limit=5"
2 · Avec la clé API · EUR
# EUR inflation: add X-API-Key for all 22 currencies and real-time releases
curl -H "X-API-Key: YOUR_API_KEY" "https://api.fxmacrodata.com/v1/announcements/eur/inflation"

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"
headers = {"X-API-Key": "YOUR_API_KEY"}
response = requests.get(url, headers=headers, 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"
headers = {"X-API-Key": "YOUR_API_KEY"}
response = requests.get(url, headers=headers, 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"
headers = {"X-API-Key": "YOUR_API_KEY"}
response = requests.get(url, headers=headers, 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",
}
headers = {"X-API-Key": "YOUR_API_KEY"}
response = requests.get(url, params=params, headers=headers, 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"
headers = {"X-API-Key": "YOUR_API_KEY"}
response = requests.get(url, headers=headers, timeout=20)
response.raise_for_status()
payload = response.json()

print(payload.get("data", payload))
Officiel SDK

Python

Installer l'officiel fxmacrodata package de PyPI (1.2.x). Les clients synchrone et asynchrone renvoient des dictionnaires JSON simples qui se chargent directement dans pandas. Client() sans clé lit le niveau gratuit USD ; passez api_key pour toutes les autres devises et une livraison en temps réel.

pip install fxmacrodata

Utilisation de SDK

from fxmacrodata import Client

# USD inflation — no key needed: 15-minute delay, most recent 90 days
data = Client().get_indicator("usd", "inflation")
print(data["data"][0])

# Add X-API-Key for all 22 currencies and real-time releases
client = Client(api_key="YOUR_API_KEY")

# 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])

Pagination à travers l'historique complet

import requests

URL = "https://api.fxmacrodata.com/v1/announcements/eur/inflation"
HEADERS = {"X-API-Key": "YOUR_API_KEY"}

rows, offset = [], 0
while True:
    resp = requests.get(
        URL,
        params={"limit": 100, "offset": offset},
        headers=HEADERS,
        timeout=30,
    )
    resp.raise_for_status()
    page = resp.json()
    rows.extend(page["data"])
    if not page["pagination"]["has_more"]:
        break
    offset = page["pagination"]["next_offset"]

print(len(rows), "rows")

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())
Nouveau

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.

Ne traitez pas chaque prévision comme un consensus. 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.
Les valeurs de prévision nécessitent une clé API pour chaque devise, USD inclus. Couverture — quelles sources prévoient chaque indicateur — est gratuit sans clé à /v1/predictions/coverage/{currency}. Une clé d'essai ou payante renvoie les valeurs de prévision.

Python — récupérer les prévisions et les joindre aux valeurs réelles

import requests

HEADERS = {"X-API-Key": "YOUR_API_KEY"}

# Predictions for USD inflation — requires API key
preds = requests.get(
    "https://api.fxmacrodata.com/v1/predictions/usd/inflation",
    headers=HEADERS,
    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"},
    headers=HEADERS,
    timeout=30,
).json()

# Join predictions with actuals using announcement_id
actuals = requests.get(
    "https://api.fxmacrodata.com/v1/announcements/usd/inflation",
    headers=HEADERS,
    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

# Which sources forecast USD indicators — free, no key
curl "https://api.fxmacrodata.com/v1/predictions/coverage/usd"

# All USD inflation predictions — requires API key
curl -H "X-API-Key: YOUR_API_KEY" "https://api.fxmacrodata.com/v1/predictions/usd/inflation"

# Filter by prediction type: market_consensus, imf_weo, central_bank_forecast, survey
curl -H "X-API-Key: YOUR_API_KEY" "https://api.fxmacrodata.com/v1/predictions/usd/inflation?prediction_type=market_consensus"

# EUR policy-rate predictions
curl -H "X-API-Key: YOUR_API_KEY" "https://api.fxmacrodata.com/v1/predictions/eur/policy_rate"

Référence des types de prédiction

prediction_typeDescription
market_consensusConsensus compilé des événements de marché ou d'économistes, si disponible
market_predictionPrédiction ponctuelle de professionnel de la prévision
model_nowcastNowcast de modèle de banque centrale ou de banque de réserve
enquêteEnquête de la banque centrale auprès des prévisionistes professionnels (ex. ECB SPF)
central_bank_forecastProjection officielle de la banque centrale (ex: RBNZ MPS, BoC MPR)
central_bank_projectionProjection officielle de la banque centrale
imf_weoProjection IMF World Economic Outlook
fxmacrodataPré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 — send your API key in the X-API-Key header
curl -H "X-API-Key: YOUR_API_KEY" "https://api.fxmacrodata.com/v1/announcements/eur/policy_rate"

# Release calendar for Australia — requires API key
curl -H "X-API-Key: YOUR_API_KEY" "https://api.fxmacrodata.com/v1/calendar/aud"

# 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 -H "X-API-Key: YOUR_API_KEY" "https://api.fxmacrodata.com/v1/forex/usd/jpy"

# Data catalogue (discover available indicators for USD)
curl "https://api.fxmacrodata.com/v1/data_catalogue/usd"

JavaScript / TypeScript

Fonctionne côté serveur dans Node.js (18+), Deno et Bun. Le API n'envoie pas d'en-têtes CORS, appelez-le donc depuis votre backend plutôt que depuis le code du navigateur.

Client npm officiel

npm install @fxmacrodata/client
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 = process.env.FXMD_API_KEY;
const eur = await fetch(
  "https://api.fxmacrodata.com/v1/announcements/eur/policy_rate",
  { headers: { "X-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.

install.packages(c("httr", "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",
  add_headers(`X-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, 'HeaderFields', {'X-API-Key', 'YOUR_API_KEY'});
url = 'https://api.fxmacrodata.com/v1/announcements/eur/policy_rate';
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 données de publication USD fonctionnent sans clé, jusqu'à 100 requêtes/jour et 15 minutes après la publication. Abonnez-vous pour les publications en temps réel, les valeurs de prévision, l'historique complet, des limites plus élevées et toutes les devises.

AI Prêt pour réponse

Faits clés

Page
Démarrage rapide
Section
Documentation
Canonique URL
https://fxmacrodata.com/fr/documentation/quickstart
Source
Références éditoriales et de l'éditeur officiel FXMacroData
Dernière mise à jour
Voir les métadonnées de la page

Provenance et Confiance

Citez le URL canonique et le champ source ci-dessus. Lorsque cela est possible, cette page correspond aux publications officielles des éditeurs et aux mises à jour horodatées.

Question rapide&A;

De quoi traite cette page ? Cette page explique le Quickstart avec un contexte directement utilisable pour le trading, la recherche et les flux de travail API.

Quelle source doit être citée ? Utilisez le URL canonique et le champ de source répertorié ; citez les références officielles de l'éditeur lorsque cela est possible.

Quelle est la fraîcheur de ce contenu ? La dernière valeur mise à jour ci-dessus reflète les métadonnées de la page ou l'horodatage des dernières données disponibles.

Cela peut-il être utilisé dans des assistants AI ? Oui. Cette section est intentionnellement structurée pour la récupération et la citation dans les assistants de chat.

Packs de prompts

Utilisez-les dans ChatGPT, Claude, Gemini, Mistral, Perplexity ou Grok pour des résultats cohérents et conscients de la source.

Partager la page X LinkedIn Email