Introduction de l'API FXMacroData GraphQL qui est utilisée par les utilisateurs banner image

Platform News

Product Updates

Introduction de l'API FXMacroData GraphQL qui est utilisée par les utilisateurs

L'API FXMacroData GraphQL est maintenant en ligne. Série de temps d'indicateur de requête, catalogues de données et calendriers de sortie dans plusieurs devises dans une seule demande saisie les mêmes données, la même précision, un nouveau point final.

Également disponible en English

L'API FXMacroData GraphQL est maintenant en ligne. En plus des terminaux REST existants, chaque surface de données de base séries temporelles d'indicateurs, requêtes de catalogue de données et recherches de calendrier de sortie est désormais disponible via un schéma GraphSQL unique, tapé. Retrouvez exactement les champs dont vous avez besoin en un aller-retour, composez des requêtes multi-monnaies dans un seul corps de requête et explorez le schéma complet de manière interactive via l'IDE GraphiQL intégré.

Quoi de neuf ?

Le point final de GraphQL est monté à POST /api/v1/graphql et expose trois champs de requête racine qui reflètent la surface REST de production:

announcements

Retrouvez les données historiques des indicateurs macroéconomiques pour toute devise et toute baguette d'indicateur supportés. dateJe suis désolé . val, et announcement_datetime champs comme point final REST, plus optionnel pct_change Je suis désolé . pct_change_12m Les champs.

dataCatalogue

Indiquez tous les indicateurs disponibles pour une devise, y compris le slug de l'indicateur, le nom lisible par l'homme, l'unité, la fréquence de mise à jour et la disponibilité d'une prévision officielle de la banque centrale.

calendar

Requête des horodatages de sortie économique à venir pour toute devise prise en charge, avec un filtre d'indicateur optionnel. Retourne les horodatage d'époque Unix afin que vous puissiez planifier les récupérations de données de suivi avec précision.

L'authentification utilise la même clé API que la surface REST la passe comme la api_key Le schéma est fortement typé: chaque champ, argument et objet de retour est documenté directement dans le schéma, de sorte que l'introspection et l'autocomplétion IDE fonctionnent de la boîte.


Pourquoi cela importe aux commerçants et aux promoteurs

Les points de terminaison REST sont efficaces pour les recherches à indicateur unique. GraphQL devient précieux au moment où votre flux de travail couvre plusieurs devises, plusieurs indicateurs ou plusieurs surfaces de données dans un seul cycle d'analyse.

Considérez un modèle de spread croisé qui nécessite l'historique de l'inflation et des taux de la politique pour six devises du G10 simultanément. announcements Les utilisateurs peuvent utiliser des alias de champ et recevoir la réponse combinée en un seul aller-retour réduisant la latence, réduisant les frais généraux de connexion et gardant le code client linéaire.

Sélection précise des champs

Demandez seulement les champs utilisés par votre modèle. date Je suis désolé . val Le serveur saute tout ce qui n'est pas dans votre sélection.

Intégration à un seul point de terminaison

Un URL de base, un mécanisme d'authentification, une enveloppe de réponse. Outils qui parlent déjà GraphQL Apollo Client, graphql-request, gql de Python, ghql de R intègre sans aucune couche d'adaptateur REST personnalisée.

Exploration par schéma

Faites une requête d'introspection pour énumérer toutes les devises, indicateurs et types de champs disponibles de manière programmatique sans besoin de grattage de documentation séparé.

Contextes de la banque centrale

Le announcements La requête renvoie une option cbTarget objet à côté de la série de données vous donnant la fourchette cible actuelle de la banque centrale, la date d'entrée en vigueur et la source dans la même réponse.


Exemple pratique: requête d'inflation en plusieurs devises

Supposons que vous construisez un tableau de bord d'inflation G3 et que vous ayez besoin des données de l'IPC des douze derniers mois pour l'USD, l'EUR et la GBP en une seule prise. announcements champ trois fois dans un seul document GraphQL:

curl -X POST "https://fxmacrodata.com/api/v1/graphql?api_key=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "{ usd: announcements(currency: \"USD\", indicator: \"inflation\", startDate: \"2025-04-01\") { currency indicator data { date val announcementDatetime } } eur: announcements(currency: \"EUR\", indicator: \"inflation\", startDate: \"2025-04-01\") { currency indicator data { date val announcementDatetime } } gbp: announcements(currency: \"GBP\", indicator: \"inflation\", startDate: \"2025-04-01\") { currency indicator data { date val announcementDatetime } } }"
  }'

Réponse du représentant:

{
  "data": {
    "usd": {
      "currency": "USD",
      "indicator": "inflation",
      "data": [
        { "date": "2026-03-01", "val": 2.8, "announcementDatetime": 1743253200 },
        { "date": "2026-02-01", "val": 3.0, "announcementDatetime": 1740747600 }
      ]
    },
    "eur": {
      "currency": "EUR",
      "indicator": "inflation",
      "data": [
        { "date": "2026-03-01", "val": 2.3, "announcementDatetime": 1743340800 },
        { "date": "2026-02-01", "val": 2.4, "announcementDatetime": 1740834000 }
      ]
    },
    "gbp": {
      "currency": "GBP",
      "indicator": "inflation",
      "data": [
        { "date": "2026-03-01", "val": 2.6, "announcementDatetime": 1743253200 },
        { "date": "2026-02-01", "val": 2.8, "announcementDatetime": 1740747600 }
      ]
    }
  }
}

Trois devises, un aller-retour HTTP. announcementDatetime L'époque de chaque point de données vous donne la seconde exacte de la publication de l'impression, de sorte que vous pouvez aligner la série sur l'heure de l 'événement plutôt que sur le mois de calendrier lors de la modélisation des réactions du marché. Points de départ du taux directeur en USD et ses équivalents en EUR et en GBP pour ajouter la couche de différentiel de taux.


Exemple pratique: découvrir les indicateurs disponibles

Avant de créer un nouveau modèle, vous pouvez consulter le catalogue de données via GraphQL pour énumérer tous les indicateurs disponibles pour une monnaie, y compris sa fréquence de mise à jour et si une prévision officielle de la banque centrale accompagne la publication:

curl -X POST "https://fxmacrodata.com/api/v1/graphql?api_key=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "{ dataCatalogue(currency: \"AUD\") { currency indicators { slug name unit frequency hasOfficialForecast } } }"
  }'

Réponse représentative (trimée):

{
  "data": {
    "dataCatalogue": {
      "currency": "AUD",
      "indicators": [
        {
          "slug": "policy_rate",
          "name": "Cash Rate Target",
          "unit": "%",
          "frequency": "irregular",
          "hasOfficialForecast": false
        },
        {
          "slug": "inflation",
          "name": "CPI Inflation",
          "unit": "%",
          "frequency": "quarterly",
          "hasOfficialForecast": false
        },
        {
          "slug": "unemployment",
          "name": "Unemployment Rate",
          "unit": "%",
          "frequency": "monthly",
          "hasOfficialForecast": false
        }
      ]
    }
  }
}

Les balles retournées vont directement à la indicator L'argumentation du announcements vous pouvez scripter l'étape de découverte et créer automatiquement un lot de requêtes pour les indicateurs que votre modèle nécessite. Documentation sur l'API du DEAJe suis désolé .


Exemple pratique: recherche de calendrier de sortie

La connaissance de la date d'émission de la prochaine impression à fort impact est essentielle pour la détermination de la position en fonction du risque d'événement. calendar la requête expose les étiquettes de date de sortie à venir pour toute devise prise en charge, avec un filtre d'indicateur optionnel pour affiner les résultats:

curl -X POST "https://fxmacrodata.com/api/v1/graphql?api_key=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "{ calendar(currency: \"CAD\", indicator: \"policy_rate\") { currency indicator data { release announcementDatetime } } }"
  }'

Réponse du représentant:

{
  "data": {
    "calendar": {
      "currency": "CAD",
      "indicator": "policy_rate",
      "data": [
        {
          "release": "policy_rate",
          "announcementDatetime": 1747400400
        },
        {
          "release": "policy_rate",
          "announcementDatetime": 1752580800
        }
      ]
    }
  }
}

Le announcementDatetime Les valeurs sont des entiers d'époque Unix les déposer directement dans un planificateur ou un système d'alerte sans aucune étape d'analyse de date. calendar Je suis un homme de terrain , comme vous . announcements: composez une requête couvrant les dates des taux directeurs en CAD, AUD et NZD et recevez une réponse unique consolidée dans le calendrier. Taux de référence de la politique CAD pour l'équivalent REST.


GraphQL vs REST: quand utiliser chacun

Les deux interfaces tirent du même stock de données soutenu par Firestore et portent des données identiques. announcement_datetime Le choix est une décision de flux de travail:

Scénario Interface recommandée
Indicateur unique, monnaie unique REST URL simple, adapté aux boucles
Plusieurs devises ou indicateurs dans une même demande GraphQL aliasing de champ élimine les allers-retours multiples
Client fortement typé (TypeScript, Kotlin, Swift) GraphQL génère automatiquement des types à partir de l'introspection
Environnement de travail de bloc-notes ou de script REST ou GraphQL sont tous deux simples curl ou ... requests.get() appels
Exploration de schéma / découverte de catalogue GraphQL introspection renvoie le schéma complet sans grattage de documents
Pipeline existant basé sur le REST REST aucune migration n'est nécessaire; les deux surfaces sont maintenues en parallèle

Commencez à écrire

Le point de terminaison GraphQL est disponible pour tous les abonnés sur la même clé API utilisée pour la surface REST. Aucune configuration supplémentaire n'est requise.

Premières étapes

  • Exécutez votre première requête: curl -X POST "https://fxmacrodata.com/api/v1/graphql?api_key=YOUR_API_KEY" -H "Content-Type: application/json" -d '{"query":"{ dataCatalogue(currency: \"USD\") { indicators { slug name } } }"}'
  • Explorez le schéma en direct en utilisant le Centre de documentation de l'API
  • Parcourez tous les indicateurs pris en charge par devise à les documents de l'API
  • Pas de clé API encore ? Abonnez-vous pour commencer un niveau gratuit est disponible.

Blogroll