त्वरित प्रारंभः Node.js के साथ FXMacroData से कनेक्ट करें banner image

By Language

Quick Start Guides

त्वरित प्रारंभः Node.js के साथ FXMacroData से कनेक्ट करें

मिनटों में नोड.जेएस में FXMacroData के साथ ऊपर और चल रहा है। अंतर्निहित फ़ेच एपीआई, असिंक्रोनस / प्रतीक्षा पैटर्न, बहु-निर्देशक अनुरोध, और केंद्रीय बैंक डेटा खींचने के लिए एक तैयार-टू-रन स्क्रिप्ट को कवर करता है।

इसमें भी उपलब्ध है English

FXMacroData REST API को किसी भी भाषा से खपत करने के लिए डिज़ाइन किया गया है जो HTTP GET अनुरोध कर सकता है. Node.js एक अंतर्निहित के साथ जहाज करता है fetch v18 से लागू करने के लिए आगे, तो वहाँ बुनियादी उपयोग के लिए स्थापित करने के लिये कुछ भी अतिरिक्त नहीं है सिर्फ अपने एपीआई कुंजी और जावास्क्रिप्ट की कुछ पंक्तियों. यह गाइड आप शून्य से एक काम कर रहे बहु-निर्देशक स्क्रिप्ट के लिए दस मिनट से कम में चलता है.

आप क्या बनाएंगे

एक आत्मनिर्भर Node.js स्क्रिप्ट जो FXMacroData REST API के खिलाफ प्रमाणीकरण करती है, समानांतर में कई G10 मुद्राओं के लिए नीति दर और मुद्रास्फीति डेटा प्राप्त करती है और कंसोल में एक साफ सारांश तालिका प्रिंट करती है किसी भी बैकएंड, सर्वरलेस फ़ंक्शन या स्वचालन पाइपलाइन में ड्रॉप करने के लिए तैयार है।

पूर्व शर्तें

  • Node.js 18 या बाद का संस्करण v18 ने वैश्विक fetch एपीआई; उत्पादन के लिए वी20+ की सिफारिश की जाती है
  • npm (नोड.जेएस के साथ बंडल) केवल आवश्यक है यदि आप वैकल्पिक पैकेज जोड़ने के लिए चुनते हैं
  • FXMacroData एपीआई कुंजी पर साइन अप करें /अपना नाम लिखें और डैशबोर्ड से अपनी कुंजी की प्रतिलिपि

अपने Node.js संस्करण की जाँच करेंः

node --version   # should print v18.x.x or later

चरण 1 अपनी एपीआई कुंजी सुरक्षित रूप से स्टोर करें

कभी भी स्रोत फ़ाइलों में एपीआई कुंजी को हार्ड-कोड न करें जो संस्करण नियंत्रण के लिए प्रतिबद्ध हो सकती है। सबसे सरल सुरक्षित दृष्टिकोण रनटाइम पर पढ़ा गया एक पर्यावरण चर है।

लिनक्स/मैकओएस पर, अपनी खोल प्रोफ़ाइल में जोड़ें (~/.bashrc या ~/.zshrc):

export FXMD_API_KEY="your_actual_api_key_here"

विंडोज (पावरशेल) परः

$env:FXMD_API_KEY = "your_actual_api_key_here"

Node.js परियोजनाओं के लिए, एक .env फाइल के साथ डोटेनव इस सेटअप के लिए चरण 6 देखें।

चरण 2 एपीआई आकार को समझें

प्रत्येक FXMacroData सूचक अंत बिंदु एक ही पैटर्न का पालन करता है, जो एक सामान्य फ़ेच सहायक बनाने के लिए सरल बनाता है। यहाँ आधार संरचना हैः

GET https://fxmacrodata.com/api/v1/announcements/{currency}/{indicator}?api_key=YOUR_API_KEY

उत्तर शीर्ष स्तर के साथ JSON है data प्रत्येक तत्व में एक dateएक संख्यात्मक val, और (ज्यादातर संकेतकों के लिए) एक announcement_datetime जो सही सेकंड मान जारी किया गया था इंगित करता हैः

{
  "data": [
    { "date": "2025-03-19", "val": 4.25, "announcement_datetime": "2025-03-19T18:00:00Z" },
    { "date": "2025-01-29", "val": 4.25, "announcement_datetime": "2025-01-29T19:00:00Z" },
    { "date": "2024-12-18", "val": 4.25, "announcement_datetime": "2024-12-18T19:00:00Z" }
  ]
}

इस स्वच्छ, सुसंगत संरचना को व्यावसायिक तर्क, डेटाबेस या डाउनस्ट्रीम एपीआई में उपयोग करने से पहले लगभग कोई परिवर्तन की आवश्यकता नहीं है।

चरण 3 आपका पहला फोन

नामक एक फ़ाइल बनाएँ fxmd.js और निम्नलिखित जोड़ें. यह Node.js के अंतर्निहित का उपयोग कर पिछले दो वर्षों के लिए अमेरिकी फेडरल रिजर्व नीति दर लाता है fetch

// fxmd.js  —  requires Node.js 18+
const API_KEY = process.env.FXMD_API_KEY;
const BASE    = "https://fxmacrodata.com/api/v1";

async function getIndicator(currency, indicator, startDate) {
  const url = new URL(`${BASE}/announcements/${currency}/${indicator}`);
  url.searchParams.set("api_key", API_KEY);
  if (startDate) url.searchParams.set("start", startDate);

  const res = await fetch(url.toString());
  if (!res.ok) {
    throw new Error(`API error ${res.status}: ${await res.text()}`);
  }
  const json = await res.json();
  return json.data ?? [];
}

// Fetch the Fed policy rate
const data = await getIndicator("usd", "policy_rate", "2023-01-01");
console.log(`Latest USD policy rate: ${data[0]?.val}% on ${data[0]?.date}`);

चलाएँ:

FXMD_API_KEY=your_key node fxmd.js

शीर्ष स्तर का इंतजार उपरोक्त उदाहरण में शीर्ष स्तर का प्रयोग किया गया है awaitयह काम करता है .mjs फाइलें या जब "type": "module" आपके में सेट है package.json. कॉमनजेएस मॉड्यूल के लिए कॉल को एक में लपेटें async कार्य और इसे तुरंत कॉल करें (चरण 5 में पूर्ण उदाहरण देखें) ।

चरण 4 समानांतर में कई संकेतक प्राप्त करें

Promise.all एक बार में कई मुद्राओं और संकेतकों को खींचने के लिए एक पुनः प्रयोज्य पैटर्न हैः

const CURRENCIES  = ["usd", "eur", "gbp", "aud", "jpy"];
const INDICATORS  = ["policy_rate", "inflation"];
const START       = "2024-01-01";

// Build a flat list of [currency, indicator] pairs
const pairs = CURRENCIES.flatMap(c => INDICATORS.map(i => [c, i]));

// Fire all requests in parallel
const results = await Promise.all(
  pairs.map(([currency, indicator]) =>
    getIndicator(currency, indicator, START)
      .then(data => ({ currency, indicator, latest: data[0] ?? null }))
      .catch(err => ({ currency, indicator, latest: null, error: err.message }))
  )
);

// Print a quick summary
for (const row of results) {
  if (row.error) {
    console.log(`${row.currency.toUpperCase()} ${row.indicator}: ERROR — ${row.error}`);
  } else if (row.latest) {
    console.log(
      `${row.currency.toUpperCase()} ${row.indicator}: ${row.latest.val} (${row.latest.date})`
    );
  }
}

.catch प्रति अनुरोध का अर्थ है कि एक भी गलत प्रतिक्रिया पूरे बैच को समाप्त नहीं करती है रात्रि कार्यों को चलाने के लिए उपयोगी है जहां आंशिक डेटा अभी भी कार्रवाई योग्य है।

चरण 5 पूर्ण उत्पादन-तैयार स्क्रिप्ट

नीचे एक पूर्ण CommonJS- संगत स्क्रिप्ट है जिसमें उचित त्रुटि हैंडलिंग, विन्यास योग्य मुद्रा और संकेतक सूचियों और लॉगिंग या डाउनस्ट्रीम प्रसंस्करण के लिए स्वरूपित आउटपुट हैः

// macro-snapshot.js  —  CommonJS, Node.js 18+
"use strict";

const API_KEY = process.env.FXMD_API_KEY;
const BASE    = "https://fxmacrodata.com/api/v1";

if (!API_KEY) {
  console.error("Error: FXMD_API_KEY environment variable is not set.");
  process.exit(1);
}

// ── Configuration ──────────────────────────────────────────────────────────
const CURRENCIES = ["usd", "eur", "gbp", "cad", "jpy", "aud", "nzd", "chf"];
const INDICATORS = ["policy_rate", "inflation", "unemployment"];
const START_DATE = "2024-01-01";
// ───────────────────────────────────────────────────────────────────────────

async function getIndicator(currency, indicator, startDate) {
  const url = new URL(`${BASE}/announcements/${currency}/${indicator}`);
  url.searchParams.set("api_key", API_KEY);
  if (startDate) url.searchParams.set("start", startDate);

  const res = await fetch(url.toString());
  if (!res.ok) {
    const body = await res.text().catch(() => "");
    throw new Error(`HTTP ${res.status}${body ? ": " + body.slice(0, 120) : ""}`);
  }
  const json = await res.json();
  return Array.isArray(json.data) ? json.data : [];
}

async function main() {
  const pairs = CURRENCIES.flatMap(c => INDICATORS.map(i => [c, i]));

  const results = await Promise.all(
    pairs.map(async ([currency, indicator]) => {
      try {
        const data = await getIndicator(currency, indicator, START_DATE);
        return { currency, indicator, latest: data[0] ?? null, error: null };
      } catch (err) {
        return { currency, indicator, latest: null, error: err.message };
      }
    })
  );

  // Group by currency for readable output
  const byCurrency = {};
  for (const row of results) {
    if (!byCurrency[row.currency]) byCurrency[row.currency] = [];
    byCurrency[row.currency].push(row);
  }

  console.log("\n=== FXMacroData Macro Snapshot ===\n");
  for (const [currency, rows] of Object.entries(byCurrency)) {
    console.log(`  ${currency.toUpperCase()}`);
    for (const row of rows) {
      if (row.error) {
        console.log(`    ${row.indicator.padEnd(20)} — error: ${row.error}`);
      } else if (row.latest) {
        console.log(
          `    ${row.indicator.padEnd(20)} ${String(row.latest.val).padStart(8)}  (${row.latest.date})`
        );
      } else {
        console.log(`    ${row.indicator.padEnd(20)} — no data`);
      }
    }
    console.log();
  }
}

main().catch(err => {
  console.error("Fatal:", err.message);
  process.exit(1);
});

स्क्रिप्ट चलाएँः

FXMD_API_KEY=your_key node macro-snapshot.js

नमूना आउटपुटः

=== FXMacroData Macro Snapshot ===

  USD
    policy_rate             4.25  (2025-03-19)
    inflation               2.40  (2025-04-10)
    unemployment            4.20  (2025-04-04)

  EUR
    policy_rate             2.40  (2025-04-17)
    inflation               2.20  (2025-04-16)
    unemployment            6.10  (2025-03-31)

  GBP
    policy_rate             4.50  (2025-03-20)
    inflation               2.60  (2025-03-26)
    unemployment            4.40  (2025-04-15)
  ...

चरण 6 स्थानीय विकास के लिए डॉटेंव का उपयोग करना

जब एक बड़ी Node.js परियोजना का निर्माण यह एक में अपने एपीआई कुंजी रखने के लिए अधिक सुविधाजनक है .env फ़ाइल और इसे स्वचालित रूप से लोड करें डोटेनव पैकेजः

npm install dotenv

एक .env फ़ाइल को अपने प्रोजेक्ट रूट में (इसे में जोड़ें) .gitignore तुरंत):

FXMD_API_KEY=your_actual_api_key_here

अपनी स्क्रिप्ट के शीर्ष पर एक पंक्ति जोड़ेंः

require("dotenv").config();   // CommonJS
// or
import "dotenv/config";       // ES module

बाकी स्क्रिप्ट पढ़ती है process.env.FXMD_API_KEY पहले की तरह ही कोई और बदलाव आवश्यक नहीं।

उत्पादन में (क्लाउड फंक्शंस, AWS लैम्ब्डा, वर्सेल, रेंडर, आदि) इंजेक्ट करें FXMD_API_KEY एक सुरक्षित वातावरण चर के रूप में मंच के रहस्य प्रबंधक के माध्यम से. कभी नहीं एक .env स्रोत नियंत्रण के लिए फ़ाइल.

चरण 7 पूर्ण सूचक सूची का अन्वेषण करें

ऊपर दी गई मैक्रो स्नैपशॉट में तीन संकेतकों को शामिल किया गया है, लेकिन FXMacroData 14 प्रमुख मुद्रा ब्लॉक में 80 से अधिक समय श्रृंखलाओं को उजागर करता है। getIndicator सहायक उन सभी के लिए काम करता है बस मुद्रा और संकेतक स्लग का आदान-प्रदान करें। विदेशी मुद्रा व्यापारियों के लिए कुछ उच्च मूल्य उदाहरणः

  • वास्तविक दरें घटाएँ inflation से policy_rate दो मुद्राओं के बीच वास्तविक दर अंतर की गणना करने के लिए, मध्यम अवधि के विदेशी मुद्रा दिशा के एक मुख्य चालक। अमरीकी डालर नीतिगत दर डॉक्स अंत बिंदु विवरण के लिए।
  • श्रम डेटा unemployment, non_farm_payrolls, और average_hourly_earnings (USD) केंद्रीय बैंक की प्रतिक्रिया कार्यों पर प्रारंभिक संकेत देते हैं।
  • भाव consumer_confidence, pmi, और business_confidence दरों के निर्णयों में मुद्रा के बदलावों से पहले ही एक से दो महीने की अग्रिमता प्राप्त कर सकते हैं।
  • व्यापार प्रवाह trade_balance, exports, और imports व्यापार की शर्तों में बदलाव के लिए कमोडिटी-मुद्रा जोड़े (AUD, NZD, CAD) को जोड़ें।

किसी भी मुद्रा के लिए पूर्ण सूची देखें https://fxmacrodata.com/api/v1/catalogue/{currency}?api_key=YOUR_API_KEY, या पर इंटरैक्टिव डॉक्स का अन्वेषण करें एपीआई-डेटा-डॉक्स. .

सारांश

अब आपके पास Node.js से FXMacroData का उपभोग करने के लिए आवश्यक सब कुछ हैः

  • एक सामान्य getIndicator(currency, indicator, startDate) सहायक जो सत्यापन और त्रुटि जाँच को संभालता है
  • समानांतर बहु-निर्देशक अनुरोध Promise.all प्रति अनुरोध त्रुटि अलगाव के साथ
  • एक उत्पादन के लिए तैयार स्क्रिप्ट आप एक सर्वरलेस फ़ंक्शन में शेड्यूल, तैनात, या एक मौजूदा Node.js बैकएंड में एकीकृत कर सकते हैं
  • पर्यावरण चर या के माध्यम से सुरक्षित एपीआई कुंजी प्रबंधन dotenv

स्वाभाविक अगले चरणः एक क्रॉन नौकरी या कार्य धावक के साथ स्नैपशॉट स्क्रिप्ट शेड्यूल करें जैसे n8n, परिणामों को डेटाबेस में धकेलें, या उन्हें ट्रेडिंग एल्गोरिथ्म में फ़ीड करें. स्क्रिप्ट पढ़ता है वही साफ JSON संरचना समान रूप से काम करता है चाहे आप एक प्रतिक्रिया डैशबोर्ड, एक एक्सप्रेस एपीआई, या एक क्लाउड फ़ंक्शन ट्रिगर बना रहे हों।

अधिक भाषा-विशिष्ट मार्गदर्शिकाओं के लिए देखें त्वरित प्रारंभ गाइड पायथन और आर के मार्गदर्शक विश्लेषण और विज़ुअलाइज़ेशन के लिए पारिस्थितिकी तंत्र-विशिष्ट उपकरण के साथ एक ही संकेतक सेट को कवर करते हैं।

AI Answer-Ready

Key Facts

Page
Quick Start Nodejs FXmacrodata
Section
Articles
Canonical URL
https://fxmacrodata.com/articles/quick-start-nodejs-fxmacrodata
Source
FXMacroData editorial and official publisher references
Last Updated
2026-04-22 12:37 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 Quick Start Nodejs FXmacrodata 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.

Blogroll