Die FXMacroData GraphQL API ist nun live. Neben den bestehenden REST-Endpunkten ist nun jede Kerndatenoberfläche Indikatorzeitreihe, Datenkatalogabfragen und Release-Kalendersuche ?? über ein einziges, eingetipptes GraphSQL-Schema verfügbar. Holen Sie genau die benötigten Felder in einer Rundreise ab, komponieren Sie Multi-Währungs-Abfragen in einem einzigen Anforderungskörper und erkunden Sie das gesamte Schema interaktiv über die integrierte GraphiQL IDE.
Was gibt's Neues?
Der GraphQL-Endpunkt ist auf POST /api/v1/graphql und zeigt drei Wurzel-Abfragefelder, die die Produktions-REST-Oberfläche widerspiegeln:
announcements
Holen Sie historische makroökonomische Indikatordaten für jede unterstützte Währung und Indikatorschlange ab. Gibt die gleiche date- Ich weiß . valUnd ...
announcement_datetime Feld als REST-Endpunkt, plus optionale
pct_change Und ... pct_change_12m - Die Felder.
dataCatalogue
Liste alle verfügbaren Indikatoren für eine Währung, einschließlich der Indikator-Schlange, des für den Menschen lesbaren Namens, der Einheit, der Häufigkeit der Aktualisierung und der Verfügbarkeit einer offiziellen Zentralbankprognose.
calendar
Abfragt bevorstehende Zeitstempel für die wirtschaftliche Veröffentlichung für jede unterstützte Währung, mit einem optionalen Indikatorfilter. Gibt Unix-Zeitstempel zurück, damit Sie die Nachbeobachtung von Daten genau planen können.
Die Authentifizierung verwendet denselben API-Schlüssel wie die REST-Oberfläche wird als api_key
Das Schema ist stark geschrieben: jedes Feld, jedes Argument und jedes zurückgegebene Objekt wird direkt im Schema dokumentiert, so dass die Introspektion und die IDE-Autoauffüllung sofort funktionieren.
Warum es für Händler und Entwickler wichtig ist
REST-Endpunkte sind effizient für Single-Indicator-Lookups. GraphQL wird wertvoll, wenn Ihr Workflow mehrere Währungen, mehrere Indikatoren oder mehrere Datenflächen in einem einzigen Analysezyklus umfasst.
Betrachten wir ein Modell mit einer Währungsspread, bei dem die Inflation und die Kursgeschichte für sechs G10-Währungen gleichzeitig benötigt werden. Mit REST werden zwölf HTTP-Anfragen ausgegeben. Mit GraphQL wird ein Anforderungskörper mit sechs announcements Die Daten werden in einem einzigen Hin- und Rücklauf über die Feld-Alias-Lösungen erfasst, wodurch die Latenzzeit reduziert, die Verbindungsüberlast reduzierte und der Clientcode linear gehalten wird.
Präzise Feldwahl
Fragen Sie nur nach den Feldern, die Ihr Modell verwendet.
date Und ... val Der Server überspringt alles, was nicht in Ihrem Auswahlsatz steht.
Integration mit einem einzigen Endpunkt
Ein Basis-URL, ein Auth-Mechanismus, ein Antwort-Envelope. Werkzeug, das bereits GraphQL Apollo Client, graphql-Request, Python gql, R's ghql integriert ohne jede benutzerdefinierte REST-Adapter-Schicht spricht.
Erstplaner-Beförderung
Eine Introspektionsanfrage wird ausgeführt, um jede verfügbare Währung, Indikator und Feldart programmatisch aufzulisten ohne separates Dokumentationsschrauben erforderlich.
Zielkontext der Zentralbank
Die ... announcements Abfrage gibt eine optionale Antwort zurück.
cbTarget Objekt neben der Datenreihe , die Ihnen die aktuelle Zielgruppe der Zentralbank, das Wirksamkeitsdatum und die Quelle in derselben Antwort gibt.
Praktische Beispiele: Mehrwährungsinflationenfrage
Angenommen, Sie bauen ein G3-Inflation-Dashboard und benötigen die letzten zwölf Monate der CPI-Daten für den USD, EUR und GBP in einem Schuss.
announcements Feld drei Mal in einem einzigen GraphQL-Dokument:
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 } } }"
}'
Die Antwort der Vertreter:
{
"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 }
]
}
}
}
Drei Währungen, eine HTTP Hin- und Rückreise. announcementDatetime Die Epoche in jedem Datenpunkt gibt Ihnen die genaue Sekunde, in der der Druck veröffentlicht wurde, so dass Sie die Serie an der Ereigniszeit anstelle des Kalendermonats ausrichten können, wenn Sie Marktreaktionen modellieren.
Endpunkt für den Kurs der USD-Policy
und ihre EUR- und GBP-Äquivalente, um die Zinsdifferenzschicht hinzuzufügen.
Praktisches Beispiel: Entdecken Sie verfügbare Indikatoren
Vor dem Erstellen eines neuen Modells können Sie über GraphQL den Datenkatalog abfragen, um alle für eine Währung verfügbaren Indikatoren aufzulisten, einschließlich der Häufigkeit ihrer Aktualisierung und der Frage, ob eine offizielle Zentralbankprognose die Veröffentlichung begleitet:
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 } } }"
}'
Repräsentative Antwort (abgeschnitten):
{
"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
}
]
}
}
}
Die zurückgekehrten Kugeln führen direkt zur indicator Argumentation der
announcements Sie können den Entdeckungsschritt schreiben und automatisch eine Anfrage-Bundesgruppe für alle Indikatoren erstellen, die Ihr Modell benötigt.
AUD-API-Dokumentation- Ich weiß .
Praktisches Beispiel: Kalendersuche für die Veröffentlichung
Die Frage, wann der nächste hochwirksame Druck fällig ist, ist entscheidend für die Positionsgröße des Ereignisrisikos. calendar Abfrage zeigt bevorstehende Freigabezeitstempel für jede unterstützte Währung mit einem optionalen Indikatorfilter, um die Ergebnisse einzugrenzen:
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 } } }"
}'
Die Antwort der Vertreter:
{
"data": {
"calendar": {
"currency": "CAD",
"indicator": "policy_rate",
"data": [
{
"release": "policy_rate",
"announcementDatetime": 1747400400
},
{
"release": "policy_rate",
"announcementDatetime": 1752580800
}
]
}
}
}
Die ... announcementDatetime Die Werte sind Unix-Epochen-Vollzahlen lassen sie direkt in einen Planer oder Alarmsystem ohne Datumsparsing-Schritt fallen. calendar - Wie Sie es tun würden . announcements: eine Abfrage zu CAD-, AUD- und NZD-Leitzinsdaten erstellen und eine einzige konsolidierte Kalenderantwort erhalten.
Referenzkurs der CAD-Policy
für das REST-Äquivalent.
GraphQL vs REST: Wann beide verwendet werden
Beide Schnittstellen stammen aus demselben Firestore-unterstützten Datenspeicher und tragen identische
announcement_datetime Die Wahl ist eine Entscheidung des Arbeitsablaufs:
| Szenario | Empfohlene Schnittstelle |
|---|---|
| Einheitlicher Indikator, einheitliche Währung | REST einfache URL, lockfreundlich |
| Mehrere Währungen oder Indikatoren in einem Antrag | GraphQL Feldaliasing eliminiert mehrere Hin- und Rückfahrten |
| Ein sehr typischer Client (TypeScript, Kotlin, Swift) | GraphQL erzeugt automatisch Typen aus der Introspektion |
| Notebook oder Skriptumgebung | REST oder GraphQL sind beide einzeln curl Oder ... requests.get() Anrufe |
| Schemaerforschung / Katalogerfortschung | GraphQL Introspektion gibt das vollständige Schema zurück, ohne Dokumente zu schaben |
| Bestehende REST-basierte Pipeline | REST keine Migration erforderlich; beide Oberflächen werden parallel gehalten |
Beginnen Sie
Der GraphQL-Endpunkt ist für alle Abonnenten auf demselben API-Schlüssel verfügbar, der für die REST-Oberfläche verwendet wird.
Erste Schritte
- Führen Sie Ihre erste Abfrage aus:
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 } } }"}' - Erforschen Sie das Live-Schema mit dem API-Dokumentationszentrum
- Alle unterstützten Indikatoren pro Währung finden Sie unter die API-Dokumente
- Noch kein API-Schlüssel? Abonnieren Sie den Start eine kostenlose Stufe zur Verfügung steht.