Live release feed
Sub-second macro releases for FX backtests
Point-in-time history
Official CPI, jobs, GDP, and central-bank events with point-in-time history.
$25/month 14-day free trial
Start Free Trial
How To Query Fxmacrodata Via Graphql image
Share headline card X LinkedIn Email
Download

Implementation

How-To Guides

How To Query Fxmacrodata Via Graphql

Batch multiple indicator queries, discover the full data catalogue, and retrieve release calendars in a single HTTP round-trip using the FXMacroData GraphQL endpoint — with Python and JavaScript examples.

इसमें भी उपलब्ध है English
Share article X LinkedIn Email

इस गाइड के अंत तक आप किसी भी मैक्रोइकॉनॉमिक इंडिकेटर को क्वेरी कर सकेंगे, उपलब्ध डेटा का पूरा कैटलॉग खोज पाएंगे, और आगामी रिलीज की तारीखों की जांच कर सकंगे सभी FXMacroData GraphQL अंत बिंदु से अधिक कुछ नहीं का उपयोग कर curl, पायथन, या जावास्क्रिप्ट. आप भी एक ही राउंड-ट्रिप में कई प्रश्नों बैच करने के लिए कैसे पता चल जाएगा ताकि अपने स्क्रिप्ट दुबला और तेजी से रहते हैं.

पूर्व शर्तें

पूर्व शर्तें

  • FXMacroData एपीआई कुंजी USD संकेतक और डेटा कैटलॉग कुंजी के बिना मुफ्त हैं; अन्य सभी मुद्राओं के लिए एक की आवश्यकता होती है। fxmacrodata.com
  • curl (या किसी भी HTTP क्लाइंट) प्रारंभिक परीक्षण कॉल के लिए
  • पायथन 3.9+ के साथ requests पुस्तकालय (pip install requests) पायथन उदाहरणों के लिए
  • जावास्क्रिप्ट उदाहरणों के लिए Node.js 18+
  • GraphQL क्वेरी सिंटैक्स (क्रेल ब्रैकेट के अंदर एक फ़ील्ड सूची) के साथ बुनियादी परिचितता

REST के बजाय GraphQL क्यों?

FXMacroData REST API प्रत्येक संकेतक को अपने स्वयं के अंत बिंदु पर प्रति मुद्रा/संकेतक संयोजन के लिए एक राउंड-ट्रिप सेवा देता है। GraphQL आपको अपनी आवश्यकता के फ़ील्ड को ठीक से घोषित करने और एक ही HTTP अनुरोध में कई स्वतंत्र क्वेरी को जोड़ने की अनुमति देता है. यदि आप EUR मुद्रास्फीति श्रृंखला चाहते हैं और GBP नीतिगत दर और दोनों मुद्राओं के लिए आगामी रिलीज कैलेंडर, यानी चार GET अनुरोधों के बजाय एक POST।

GraphQL सतह सार्वजनिक REST अंत बिंदुओं को ठीक से दर्शाता हैः एक ही प्रमाणीकरण नियम, एक ही डेटा और एक ही क्षेत्र नाम सिर्फ एक ही के माध्यम से सेवा POST /api/v1/graphql JSON शरीर के साथ अंत बिंदु।

सूचना कॉलआउट

एक नज़र में GraphQL अंत बिंदु

  • URL: https://fxmacrodata.com/api/v1/graphql
  • विधि: पोस्ट
  • लेखक: ?api_key=YOUR_API_KEY क्वेरी पैरामीटर
  • सामग्री-प्रकारः application/json
  • निःशुल्क पहुँच: अमरीकी डालर के संकेतक और dataCatalogue / calendar (कोई कुंजी आवश्यक नहीं)
  • क्वेरी फ़ील्डः announcements, dataCatalogue, calendar

चरण 1 अपना पहला GraphQL क्वेरी भेजें

प्रत्येक GraphQL अनुरोध एक JSON ऑब्जेक्ट है query key जिसका मान आपके GraphQL क्वेरी स्ट्रिंग है. एक मुफ्त USD मुद्रास्फीति क्वेਰੀ के साथ शुरू करें कोई एपीआई कुंजी की आवश्यकता नहीं हैः

curl -s -X POST "https://fxmacrodata.com/api/v1/graphql" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "{ announcements(currency: \"USD\", indicator: \"inflation\") { currency indicator data { date val pctChange } } }"
  }'

प्रतिक्रिया मानक GraphQL JSON है जो एक में लिपटे हुए है data लिफाफाः

{
  "data": {
    "announcements": {
      "currency": "USD",
      "indicator": "inflation",
      "data": [
        { "date": "2025-01-01", "val": 3.0, "pctChange": null },
        { "date": "2025-02-01", "val": 2.8, "pctChange": -6.67 },
        { "date": "2025-03-01", "val": 2.4, "pctChange": -14.29 }
      ]
    }
  }
}

किसी भी गैर-USD मुद्रा के लिए, अपने एपीआई कुंजी को एंडपॉइंट यूआरएल पर क्वेरी पैरामीटर के रूप में जोड़ें:

https://fxmacrodata.com/api/v1/graphql?api_key=YOUR_API_KEY
टिप कॉलआउट
टिप: pctChange पिछले डेटा बिंदु के सापेक्ष मासिक (या अवधि-समय) परिवर्तन है। श्रृंखला में पहला बिंदु हमेशा लौटाता है null क्योंकि तुलना करने के लिए कोई पूर्व मूल्य नहीं है।

चरण 2 उपलब्ध संकेतकों की खोज करें dataCatalogue

किसी विशेष संकेतक को क्वेरी करने से पहले आप एपीआई से पूछ सकते हैं कि किसी भी मुद्रा के लिए उसके पास क्या डेटा है। dataCatalogue क्वेरी प्रत्येक उपलब्ध सूचक स्लग, इसके मानव-पठनीय नाम, इकाई, रिलीज़ आवृत्ति, और क्या केंद्रीय बैंक इसके लिए आधिकारिक पूर्वानुमान प्रकाशित करता है, को लौटाता है।

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

उदाहरण उत्तर (संक्षिप्त):

{
  "data": {
    "dataCatalogue": {
      "currency": "EUR",
      "indicators": [
        { "slug": "inflation",    "name": "Inflation (CPI)", "unit": "%",    "frequency": "monthly",   "hasOfficialForecast": false },
        { "slug": "policy_rate",  "name": "Policy Rate",     "unit": "%",    "frequency": "irregular",  "hasOfficialForecast": true  },
        { "slug": "gdp",          "name": "GDP Growth",      "unit": "%",    "frequency": "quarterly", "hasOfficialForecast": false },
        { "slug": "unemployment", "name": "Unemployment",    "unit": "%",    "frequency": "monthly",   "hasOfficialForecast": false }
      ]
    }
  }
}

slug मानों के रूप में आप पारित सटीक स्ट्रिंग हैं indicator बाद में तर्क announcements आप पूर्ण सूचक सूची को इंटरैक्टिव रूप से एपीआई डेटा डॉक्स. .


चरण 3 वैकल्पिक दिनांक फ़िल्टर के साथ ऐतिहासिक डेटा प्राप्त करें

announcements क्वेरी स्वीकार करता है वैकल्पिक startDate और endDate तर्क में YYYY-MM-DD श्रृंखला के साथ केंद्रीय बैंक के लक्ष्य को भी अनुरोध कर सकते हैं, जो कि आधिकारिक दर लक्ष्य के साथ लाइव रीडिंग की तुलना करते समय उपयोगी है।

curl -s -X POST "https://fxmacrodata.com/api/v1/graphql?api_key=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "query { announcements(currency: \"AUD\", indicator: \"policy_rate\", startDate: \"2024-01-01\") { currency indicator hasOfficialForecast cbTarget { description current { effectiveFrom target } } data { date val announcementDatetime } } }"
  }'

प्रतिक्रियाओं के मुख्य बिंदुः

{
  "data": {
    "announcements": {
      "currency": "AUD",
      "indicator": "policy_rate",
      "hasOfficialForecast": true,
      "cbTarget": {
        "description": "RBA cash rate target band",
        "current": { "effectiveFrom": "2023-11-07", "target": 4.35 }
      },
      "data": [
        { "date": "2024-02-06", "val": 4.35, "announcementDatetime": 1707199200 },
        { "date": "2024-03-19", "val": 4.35, "announcementDatetime": 1710813600 }
      ]
    }
  }
}

announcementDatetime आधिकारिक प्रकाशन का एक यूनिक्स टाइमस्टैम्प (सेकंड, यूटीसी) है। आप एयूडी संकेतकों के लिए क्षेत्र स्तर के प्रलेखन को एयूडी नीतिगत दरें. .


चरण 4 रिलीज कैलेंडर की क्वेरी करें

calendar क्वेरी किसी दिए गए मुद्रा के लिए प्रत्येक आगामी संकेतक रिलीज के लिए निर्धारित UTC घोषणा समय लौटाता है। एक वैकल्पिक पास करें indicator परिणामों को एक ही सूचक तक सीमित करने का तर्क।

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

परिवर्तित करें announcementDatetime के साथ पायथन में मानव-पठनीय UTC समय के लिए datetime.utcfromtimestamp(1745917200), या जावास्क्रिप्ट में के साथ new Date(1745917200 * 1000).toISOString()GBP मुद्रास्फीति सूचक के विवरण के लिए देखें GBP मुद्रास्फीति दस्तावेज. .


चरण 5 एक अनुरोध में कई प्रश्नों का बैच

GraphQL का सबसे बड़ा व्यावहारिक लाभ एक ही HTTP POST में कई स्वतंत्र क्वेरी का नाम और भेजने की क्षमता है। फ़ील्ड नाम संघर्ष से बचने के लिए क्वेરી उपनामों का उपयोग करें प्रत्येक उपनाम में एक अलग कुंजी बन जाता है data प्रतिक्रिया वस्तु।

curl -s -X POST "https://fxmacrodata.com/api/v1/graphql?api_key=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "query MultiIndicator { eurInflation: announcements(currency: \"EUR\", indicator: \"inflation\") { currency indicator data { date val } } gbpRate: announcements(currency: \"GBP\", indicator: \"policy_rate\") { currency indicator data { date val } } audCalendar: calendar(currency: \"AUD\") { currency data { release announcementDatetime } } }"
  }'

प्रतिक्रिया एक पेलोड में तीनों परिणामों को ले जाती हैः

{
  "data": {
    "eurInflation": { "currency": "EUR", "indicator": "inflation", "data": [ ... ] },
    "gbpRate":      { "currency": "GBP", "indicator": "policy_rate", "data": [ ... ] },
    "audCalendar":  { "currency": "AUD", "data": [ ... ] }
  }
}
टिप कॉलआउट
टिप: बैचिंग विशेष रूप से सर्वरलेस और एज वातावरण में मूल्यवान है जहां कनेक्शन ओवरहेड महंगा है। एक POST तीन अनुक्रमिक REST कॉल की जगह लेता है और प्रतिक्रिया एक DNS + TLS हैंडशेक के बाद आती है।

चरण 6 पायथन क्लाइंट

नीचे दिया गया पैटर्न GraphQL अनुरोधों को एक छोटे से सहायक में लपेटता है ताकि आपका एप्लिकेशन कोड पठनीय रहे. यह समान कार्य के साथ एकल क्वेरी और बैच किए गए उपनाम क्वेरि का समर्थन करता है.

import requests

GRAPHQL_URL = "https://fxmacrodata.com/api/v1/graphql"
API_KEY = "YOUR_API_KEY"   # leave empty for free USD/catalogue endpoints

def gql(query: str) -> dict:
    """Send a GraphQL query and return the parsed `data` object."""
    params = {"api_key": API_KEY} if API_KEY else {}
    resp = requests.post(
        GRAPHQL_URL,
        params=params,
        json={"query": query},
        headers={"Content-Type": "application/json"},
        timeout=15,
    )
    resp.raise_for_status()
    payload = resp.json()
    if "errors" in payload:
        raise RuntimeError(f"GraphQL errors: {payload['errors']}")
    return payload["data"]


# ── Discover indicators for AUD ──────────────────────────────────────────────
catalogue = gql('{ dataCatalogue(currency: "AUD") { indicators { slug name frequency } } }')
for ind in catalogue["dataCatalogue"]["indicators"]:
    print(f"  {ind['slug']:25s}  {ind['name']}  ({ind['frequency']})")

# ── Fetch EUR inflation + GBP policy rate in one round-trip ─────────────────
batch = gql('''
query {
  eurInflation: announcements(currency: "EUR", indicator: "inflation") {
    currency indicator data { date val pctChange }
  }
  gbpRate: announcements(currency: "GBP", indicator: "policy_rate") {
    currency indicator data { date val }
  }
}
''')

eur_latest = batch["eurInflation"]["data"][-1]
gbp_latest = batch["gbpRate"]["data"][-1]
print(f"EUR CPI   {eur_latest['date']}: {eur_latest['val']}%  ({eur_latest['pctChange']:+.2f}% MoM)")
print(f"GBP Rate  {gbp_latest['date']}: {gbp_latest['val']}%")

चरण 7 जावास्क्रिप्ट / नोड.जेएस क्लाइंट

मूल निवासी fetch एपीआई (नोड.जेएस 18+) न्यूनतम बॉयलरप्लेट के साथ GraphQL अनुरोधों को संभालता है। पैटर्न ऊपर पायथन सहायक को दर्शाता है.

const GRAPHQL_URL = "https://fxmacrodata.com/api/v1/graphql";
const API_KEY = "YOUR_API_KEY"; // set to "" for free USD/catalogue endpoints

async function gql(query) {
  const url = API_KEY ? `${GRAPHQL_URL}?api_key=${API_KEY}` : GRAPHQL_URL;
  const resp = await fetch(url, {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({ query }),
  });
  if (!resp.ok) throw new Error(`HTTP ${resp.status}`);
  const payload = await resp.json();
  if (payload.errors) throw new Error(JSON.stringify(payload.errors));
  return payload.data;
}

// Batched query: EUR inflation + calendar
const data = await gql(`
  query {
    eurInflation: announcements(currency: "EUR", indicator: "inflation") {
      data { date val pctChange }
    }
    eurCalendar: calendar(currency: "EUR", indicator: "inflation") {
      data { release announcementDatetime }
    }
  }
`);

const latest = data.eurInflation.data.at(-1);
const nextRelease = data.eurCalendar.data[0];

console.log(`EUR CPI ${latest.date}: ${latest.val}% (${latest.pctChange > 0 ? "+" : ""}${latest.pctChange?.toFixed(2)}% MoM)`);
if (nextRelease) {
  const dt = new Date(nextRelease.announcementDatetime * 1000).toISOString();
  console.log(`Next EUR inflation release: ${dt}`);
}

कदम 8 गलतियों से समझदारी से निपटें

GraphQL HTTP 200 को तब भी लौटाता है जब कोई क्वेरी फ़ील्ड विफल हो जाता है. शीर्ष-स्तर में त्रुटियां दिखाई देती हैं errors किसी भी आंशिक के साथ array data जो सफल हुआ. प्रतिक्रिया का उपयोग करने से पहले इस सरणी की जाँच करें एक बैच किए गए क्वेरी में एक असफल उपनाम अन्य उपनामों को डेटा वापस करने से नहीं रोकेगा.

payload = resp.json()

# Partial success: some aliases may have data, others may have errors
if "errors" in payload:
    for err in payload["errors"]:
        print(f"[GraphQL error] {err.get('message')} — path: {err.get('path')}")

data = payload.get("data") or {}
if "eurInflation" in data and data["eurInflation"]:
    process(data["eurInflation"])
सूचना कॉलआउट
संभालने के लिए आम त्रुटियांः
  • बिना समर्थन वाली मुद्रा errors array में एक संदेश होगा जैसे "असमर्थित मुद्राः XYZ"अपनी मुद्रा कोड की जाँच करें एपीआई दस्तावेज.
  • अमान्य संकेतक चलाएँ dataCatalogue पहले जांच करें कि आपके लक्ष्य मुद्रा के लिए सूचक स्लग मौजूद है।
  • प्रमाणीकरण त्रुटि HTTP 401 या एक अमान्य कुंजी का हवाला देने वाला GraphQL त्रुटि. सत्यापित करें api_key URL के साथ जोड़ा जाता है, JSON शरीर नहीं।

संक्षिप्त आह्वान

आपने जो हासिल किया

  • ✓ अपनी पहली GraphQL क्वेरी पर भेजी https://fxmacrodata.com/api/v1/graphql
  • ✓ इस्तेमाल किया dataCatalogue किसी मुद्रा के लिए उपलब्ध प्रत्येक संकेतक का पता लगाने के लिए
  • ✓ फ़िल्टर किए गए ऐतिहासिक डेटा को ✓ startDate और endDate तर्क
  • ✓ ✓ रिलीज़ के समय के साथ आने वाले रिलीज के समय की मुहरें प्राप्त करें calendar प्रश्न
  • ✓ नामित उपनामों का उपयोग करके एक ही HTTP POST में कई स्वतंत्र क्वेरी को बैच किया गया
  • ✓ पायथन और जावास्क्रिप्ट दोनों में निर्मित पुनः प्रयोज्य GraphQL सहायक कार्य
  • ✓ अन्य उपनामों से वैध डेटा को खारिज किए बिना आंशिक त्रुटियों का प्रबंधन किया

अगला कदम

अब जब आप GraphQL अंत बिंदु को धाराप्रवाह रूप से क्वेरी कर सकते हैं, तो कुछ प्राकृतिक एक्सटेंशन आपके एकीकरण को उत्पादन के लिए तैयार करेंगे:

  • रिलीज के समय के आसपास प्रश्नों को शेड्यूल करें। संयोजन calendar में वर्णित अनुसूची पैटर्न के साथ क्वेरी इंडिकेटर फ़ेच शेड्यूल करने के लिए रिलीज़ कैलेंडर एपीआई का उपयोग कैसे करें हर घोषणा से ठीक पहले जागना और अपने आग announcements नए डेटा प्रकाशित होने के क्षण से ही प्रश्न पूछना।
  • पूरी योजना को परस्पर क्रिया से देखें। यदि आप के साथ एक डेवलपर वातावरण तक पहुँच है ENABLE_GRAPHIQL=true, खुला /api/v1/graphql अपने ब्राउज़र में प्रत्येक क्षेत्र के लिए स्वतः पूर्ण और इनलाइन प्रलेखन के साथ अंतर्निहित GraphiQL IDE का उपयोग करने के लिए।
  • अपनी कवरेज को अधिक मुद्राओं तक बढ़ाएं। भाग जाओ। dataCatalogue समर्थित मुद्राओं USD, EUR, GBP, AUD, CAD, JPY, CHF और NZD के लिए जी-8 विदेशी मुद्रा ब्रह्मांड में उपलब्ध डेटा की पूरी तस्वीर बनाने के लिए।

FXMacroData टीम

Blogroll

AI Answer-Ready

Key Facts

Page
How To Query FXmacrodata Via Graphql
Section
Articles
Canonical URL
https://fxmacrodata.com/hi/articles/how-to-query-fxmacrodata-via-graphql
Source
FXMacroData editorial and official publisher references
Last Updated
2026-06-15 11:01 UTC

Provenance And Trust

Cite the canonical URL and source field above. Where available, this page maps to official publisher releases and timestamped updates.

Quick Q&A

What is this page about? This page explains How To Query FXmacrodata Via Graphql with directly usable context for trading, research, and API workflows.

What source should be cited? Use the canonical URL and the listed source field; cite official publisher references when available.

How fresh is this content? The last updated value above reflects the page metadata or latest available data timestamp.

Can this be used in AI assistants? Yes. This section is intentionally structured for retrieval and citation in chat assistants.

Prompt Packs

Use these in ChatGPT, Claude, Gemini, Mistral, Perplexity, or Grok for consistent source-aware outputs.