इस गाइड के अंत तक आपके पास FXMacroData API में प्रत्येक सार्वजनिक एंडपॉइंट के लिए काम करने वाले उदाहरण होंगे घोषणा श्रृंखला और रिलीज कैलेंडर से लेकर COT पोजिशनिंग, कीमती धातुओं की कीमतों, विदेशी मुद्रा दरों और GraphQL इंटरफ़ेस तक ताकि आप किसी भी मैक्रो डेटा वर्कफ़्लो के लिए सही टूल चुन सकें।
पूर्व शर्तें
- FXMacroData खाता fxmacrodata.com
- गैर-USD और भुगतान किए गए एंडपॉइंट एक्सेस के लिए एक पेशेवर एपीआई कुंजी (अधिकांश एंडपॉट पर यूएसडी अनुरोध मुफ्त हैं)
curlकमांड लाइन उदाहरणों के लिए, या पायथन 3.9+ के साथrequestsपुस्तकालय- REST एपीआई और JSON प्रतिक्रियाओं के साथ बुनियादी परिचितता
| अंत बिंदु परिवार | मार्ग | लेखक |
|---|---|---|
| घोषणाएँ | /api/v1/घोषणाएं/{मुद्रा}/{सूचक} | अन्य के लिए USD मुक्त · प्रो |
| रिलीज कैलेंडर | /api/v1/calendar/{मुद्रा} | मुक्त |
| डेटा कैटलॉग | /api/v1/data_catalogue/{मुद्रा} | मुक्त |
| सीओटी पोजिशनिंग | /api/v1/cot/{मुद्रा} | अन्य के लिए USD मुक्त · प्रो |
| धातु | /api/v1/commodities/{सूचक} | प्रो कुंजी हमेशा आवश्यक है |
| विदेशी मुद्रा दरें | /api/v1/forex/{base}/{quote} | मुक्त |
| बाजार सत्र | /api/v1/बाजार_सेशन | मुक्त |
| GraphQL | /api/v1/graphql | USD + कैटलॉग मुक्त · अन्य के लिए प्रो |
चरण 1 घोषणाएँः ऐतिहासिक सूचक श्रृंखला
घोषणाएं अंत बिंदु FXMacroData का मूल है। यह किसी भी समर्थित मैक्रोइकॉनॉमिक संकेतक के लिए एक सामान्यीकृत, समय-स्टैम्प समय श्रृंखला लौटाता है। प्रत्येक पंक्ति में अवलोकन तिथि, जारी मूल्य और आधिकारिक प्रकाशन का सटीक यूनिक्स टाइमस्टैंप होता है आपको घटना-संचालित अनुसंधान और बैकटेस्टिंग के लिए दूसरे स्तर की सटीकता प्रदान करता है।
USD अनुरोध एपीआई कुंजी के बिना काम करते हैं. किसी अन्य मुद्रा के लिए, अपनी कुंजी को क्वेरी पैरामीटर के रूप में जोड़ें. उपयोग करें start_date और end_date (YYY-MM-DD) विंडो को संकुचित करने के लिए; डिफ़ॉल्ट पिछले 365 दिन है।
# USD inflation series — no key needed
curl "https://fxmacrodata.com/api/v1/announcements/usd/inflation"
# AUD policy rate — Pro key required
curl "https://fxmacrodata.com/api/v1/announcements/aud/policy_rate?api_key=YOUR_API_KEY"
# EUR GDP with a custom date range
curl "https://fxmacrodata.com/api/v1/announcements/eur/gdp?start_date=2024-01-01&end_date=2026-03-01&api_key=YOUR_API_KEY"
{
"currency": "USD",
"indicator": "inflation",
"has_official_forecast": false,
"start_date": "2025-03-01",
"end_date": "2026-03-30",
"data": [
{
"date": "2026-02-01",
"val": 2.8,
"announcement_datetime": 1741082400,
"pct_change": -0.5,
"pct_change_12m": -6.7
}
]
}
announcement_datetime यह फ़ील्ड एक यूनिक्स टाइमस्टैम्प (सेकंड, यूटीसी) है, जो उस समय का है जब डेटा आधिकारिक तौर पर प्रकाशित किया गया था। इसका उपयोग घटना अध्ययन संरेखण के लिए करें और बैकटेस्ट में आगे देखने के पक्षपात से बचने के लिए। किसी भी मुद्रा के लिए उपलब्ध संकेतक स्लग को डेटा कैटलॉग (चरण 3) या पर ब्राउज़ करें। एपीआई डेटा डॉक्स. .
चरण 2 रिलीज कैलेंडरः आगामी घोषणा समय
कैलेंडर एंडपॉइंट किसी दिए गए मुद्रा के लिए प्रत्येक आगामी मैक्रो रिलीज़ के लिए निर्धारित UTC घोषणा समय टिकट लौटाता है. इसका उपयोग लक्षित फ़ेच शेड्यूल करने के लिए करें जो नए डेटा प्रकाशित होने पर जारी रहता है बजाय एक निश्चित अंतराल पर लगातार मतदान करने के.
कोई एपीआई कुंजी आवश्यक नहीं है। फ़िल्टर करें एक विशिष्ट संकेतक के साथ वैकल्पिक indicator विशेष मुद्रा कोड COMM कमोडिटी रिलीज़ शेड्यूल देता है।
# All upcoming releases for USD
curl "https://fxmacrodata.com/api/v1/calendar/usd"
# Filter to a single indicator
curl "https://fxmacrodata.com/api/v1/calendar/usd?indicator=non_farm_payrolls"
# Commodity release schedule
curl "https://fxmacrodata.com/api/v1/calendar/COMM"
{
"currency": "USD",
"indicator": "non_farm_payrolls",
"data": [
{
"release": "non_farm_payrolls",
"announcement_datetime": 1746540600,
"requires_api_key": false
}
]
}
समय-स्टैम्प को मानव-पठनीय UTC समय में परिवर्तित करें datetime.fromtimestamp(ts, tz=timezone.utc) पायथन में या new Date(ts * 1000).toISOString() जावास्क्रिप्ट में. एक पूर्ण शेड्यूलिंग पैटर्न के लिए, देखें रिलीज़ कैलेंडर एपीआई का उपयोग कैसे करें सूचक फ़ेच को शेड्यूल करने के लिए. .
चरण 3 डेटा कैटलॉगः उपलब्ध संकेतकों का पता लगाएं
किसी विशिष्ट संकेतक को लक्षित करने वाले कोड लिखने से पहले, किसी मुद्रा के लिए उपलब्ध क्या है, इसकी पुष्टि करने के लिए कैटलॉग में क्वेरी करें। प्रतिक्रिया प्रत्येक संकेतिक स्लग को इसके मानव-पठनीय नाम, इकाई, रिलीज़ आवृत्ति और क्या केंद्रीय बैंक इसके लिए आधिकारिक पूर्वानुमान प्रकाशित करता है, के लिए मैप करती है।
# List all indicators for EUR — no key required
curl "https://fxmacrodata.com/api/v1/data_catalogue/eur"
# Include routing and auth discovery metadata per indicator
curl "https://fxmacrodata.com/api/v1/data_catalogue/usd?include_capabilities=true"
{
"gdp": {
"name": "GDP Growth",
"unit": "%QoQ",
"frequency": "Quarterly",
"has_official_forecast": false
},
"inflation": {
"name": "Inflation (CPI)",
"unit": "%YoY",
"frequency": "Monthly",
"has_official_forecast": false
},
"policy_rate": {
"name": "Policy Rate",
"unit": "%",
"frequency": "Meeting",
"has_official_forecast": true
}
}
उत्तर में शीर्ष स्तर की कुंजी सटीक हैं {indicator} स्लग्स का उपयोग घोषणा कॉल में करने के लिए। समर्थित मुद्राओं में USD, EUR, GBP, JPY, AUD, CAD, CHF, NZD, CNY, SGD, SEK, DKK, PLN, और BRL शामिल हैं। पास include_coverage=true एक ही प्रतिक्रिया में एक क्रॉस मुद्रा उपलब्धता ग्रिड प्राप्त करने के लिए।
चरण 4 सीओटी पोजिशनिंगः सट्टा वायदा डेटा
ट्रेडर्स के प्रतिबद्धता अंत बिंदु विदेशी मुद्रा वायदा अनुबंधों के लिए CFTC साप्ताहिक पोजिशनिंग डेटा प्रदान करता है। यह गैर-वाणिज्यिक (सट्टा), वाणिज्यिक (हेजर) और गैर-रिपोर्ट करने योग्य प्रतिभागियों के बीच कुल खुले ब्याज विभाजन को दर्शाता है मुद्रा रुझान उलट और भीड़ वाली पोजीशनिंग के लिए एक व्यापक रूप से ट्रैक किया गया प्रमुख संकेतक।
समर्थित मुद्राएँः USD, EUR, GBP, JPY, AUD, CAD, CHF, NZD. USD निःशुल्क है; अन्य सभी के लिए Pro कुंजी की आवश्यकता होती है।
# USD COT history — free
curl "https://fxmacrodata.com/api/v1/cot/usd"
# EUR COT with a custom date range
curl "https://fxmacrodata.com/api/v1/cot/eur?start_date=2025-01-01&api_key=YOUR_API_KEY"
{
"currency": "EUR",
"instrument": "EURO FX - CHICAGO MERCANTILE EXCHANGE",
"fx_overlay": { "pair": "EUR/USD" },
"start_date": "2025-01-07",
"end_date": "2026-03-25",
"data": [
{
"date": "2026-03-18",
"announcement_datetime": 1742493000,
"open_interest": 812345,
"noncommercial_long": 185000,
"noncommercial_short": 92000,
"noncommercial_net": 93000,
"commercial_long": 203000,
"commercial_short": 310000,
"commercial_net": -107000,
"nonreportable_long": 21000,
"nonreportable_short": 9000
}
]
}
noncommercial_net विदेशी मुद्रा व्यापारियों के लिए सबसे अधिक बार उद्धृत पोजिशनिंग गेज (सट्टावादी लंबा शून्य लघु) है। प्रत्येक पंक्ति में एक announcement_datetime for the Friday 3:30 PM ET CFTC publication. For EUR pair context see the यूरो नीतिगत दर डॉक्स. .
चरण 5 धातुएँ: सोने, चांदी और प्लेटिनम की कीमतें
धातु अंत बिंदु रॉयल मिंट (LBMA फिक्स) से प्राप्त की गई कीमती धातुओं के लिए दैनिक मूल्य श्रृंखलाएं लौटाता है। ये श्रृंखलाएं क्रॉस-एसेट मैक्रो इनपुट के रूप में उपयोगी हैं, विशेष रूप से सुरक्षित-स्थान प्रवाह और USD-लिंक्ड गतिशीलता को ट्रैक करने के लिए।
इस अंत बिंदु के लिए हमेशा एक पेशेवर एपीआई कुंजी की आवश्यकता होती है। उपलब्ध संकेतक स्लगः gold, silver, platinum. .
# Gold LBMA PM Fix daily prices
curl "https://fxmacrodata.com/api/v1/commodities/gold?api_key=YOUR_API_KEY"
# Silver with a date range
curl "https://fxmacrodata.com/api/v1/commodities/silver?start_date=2025-01-01&api_key=YOUR_API_KEY"
# Platinum spot
curl "https://fxmacrodata.com/api/v1/commodities/platinum?api_key=YOUR_API_KEY"
{
"currency": "COMM",
"indicator": "gold",
"has_official_forecast": false,
"start_date": "2025-03-30",
"end_date": "2026-03-30",
"data": [
{
"date": "2026-03-28",
"val": 2870.00,
"pct_change": 1.2,
"pct_change_12m": 30.1
}
]
}
प्रतिक्रिया का आकार घोषणाओं के अंत बिंदु के समान है, इसलिए आप एक ही पार्सिंग कोड का पुनः उपयोग कर सकते हैं. ध्यान दें कि announcement_datetime है null दैनिक मूल्य श्रृंखलाओं के लिए और केवल आधिकारिक मासिक प्रकाशन घटनाओं के लिये भरा जाता है।
चरण 6 विदेशी मुद्रा दरें: दैनिक स्पॉट मूल्य श्रृंखला
विदेशी मुद्रा अंत बिंदु किसी भी समर्थित मुद्रा जोड़ी के लिए दैनिक OHLC स्पॉट दर डेटा लौटाता है. कोई एपीआई कुंजी आवश्यक नहीं है. बैकटेस्टिंग या चार्ट विज़ुअलाइज़ेशन वर्कफ़्लो के लिए समकालीन विनिमय दर के साथ मैक्रो संकेतक रिलीज़ को संरेखित करने के लिए इसका उपयोग करें.
अलग-अलग पथ खंडों के रूप में आधार और उद्धरण पास करें (उदाहरण के लिए /forex/eur/usd के साथ तकनीकी संकेतक ओवरले जोड़ें indicators क्वेरी पैरामीटर.
# EUR/USD daily rates — no key required
curl "https://fxmacrodata.com/api/v1/forex/eur/usd"
# AUD/JPY with a custom date range
curl "https://fxmacrodata.com/api/v1/forex/aud/jpy?start_date=2025-01-01"
# GBP/USD with technical indicators overlaid
curl "https://fxmacrodata.com/api/v1/forex/gbp/usd?indicators=sma_20,rsi_14"
{
"base": "EUR",
"quote": "USD",
"start_date": "2025-03-30",
"end_date": "2026-03-30",
"data": [
{
"date": "2026-03-28",
"close": 1.0832,
"open": 1.0821,
"high": 1.0867,
"low": 1.0798
}
]
}
चरण 7 बाजार सत्रः वास्तविक समय सत्र की स्थिति
बाजार सत्र अंत बिंदु सक्रिय ओवरलैप विंडो के साथ सभी चार प्रमुख एफएक्स सत्रों के लिए वर्तमान खुले / बंद स्थिति लौटाता है सिडनी, टोक्यो, लंदन और न्यूयॉर्क । कोई एपीआई कुंजी आवश्यक नहीं है। इसका उपयोग पीक-तरलता विंडो में समय-संवेदनशील स्वचालन गेट करने या सत्र सीमाओं के साथ चार्ट को एनोटेट करने के लिए करें।
# Real-time snapshot — no key required
curl "https://fxmacrodata.com/api/v1/market_sessions"
# Historical snapshot for scheduling or testing
curl "https://fxmacrodata.com/api/v1/market_sessions?at=2026-03-28T12:00:00Z"
{
"now_utc": "2026-03-30T08:47:00Z",
"now_unix": 1743324420,
"is_market_day": true,
"sessions": [
{
"name": "London",
"is_open": true,
"seconds_to_close": 25200,
"currencies": ["EUR", "GBP", "CHF"],
"open_utc": "2026-03-30T07:00:00Z",
"close_utc": "2026-03-30T15:00:00Z"
}
],
"overlaps": [
{
"name": "London / New York",
"is_active": false,
"priority": "high",
"start_utc": "2026-03-30T12:00:00Z",
"end_utc": "2026-03-30T16:00:00Z",
"notable_pairs": ["EUR/USD", "GBP/USD", "USD/CHF"],
"duration_hours": 4
}
]
}
लंदन/न्यूयॉर्क ओवरलैप ट्रेडिंग दिन की सबसे अधिक तरलता वाली खिड़की है और जब मैक्रो रिलीज़ सबसे अधिक बार सबसे बड़े स्पॉट मूव्स का कारण बनती है। उपयोग is_market_day: false सप्ताहांत और प्रमुख बाजार अवकाश पर स्वचालन को छोड़ दें।
चरण 8 GraphQL: एक अनुरोध में कई क्वेरी बैच
FXMacroData एक GraphQL अंत बिंदु को उजागर करता है जो REST सतह को बिल्कुल दर्शाता है समान प्रमाणीकरण नियम, समान फ़ील्ड नाम, समान डेटा लेकिन आपको केवल उन क्षेत्रों को घोषित करने देता है जिनकी आपको आवश्यकता है और एक ही HTTP राउंड-ट्रिप में कई क्वेरी को जोड़ता है। यदि आपको EUR मुद्रास्फीति की आवश्यकता है और GBP नीतिगत दर और एक AUD रिलीज कैलेंडर, कि तीन GETs के बजाय एक POST है।
भेजें POST https://fxmacrodata.com/api/v1/graphql एक JSON शरीर के साथ query कुंजी और आपके एपीआई कुंजी के रूप में एक यूआरएल क्वेरी पैरामीटर. उपलब्ध रूट क्षेत्र हैं announcements, dataCatalogue, और calendar. .
# Single free USD query — no key required
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 } } }"
}'
# Batched: EUR inflation + GBP policy rate in one request
curl -s -X POST "https://fxmacrodata.com/api/v1/graphql?api_key=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "query { eurCPI: announcements(currency: \"EUR\", indicator: \"inflation\") { data { date val } } gbpRate: announcements(currency: \"GBP\", indicator: \"policy_rate\") { data { date val } } }"
}'
{
"data": {
"eurCPI": { "data": [{ "date": "2026-02-28", "val": 2.3 }] },
"gbpRate": { "data": [{ "date": "2026-03-20", "val": 4.5 }] }
}
}
eurCPI: उपरोक्त) से बचने के लिए क्षेत्र नाम संघर्ष जब कई बैच announcements एक ही अनुरोध में प्रश्न. प्रत्येक उपनाम में एक अलग कुंजी बन जाता है data प्रतिक्रिया वस्तु।
GraphQL HTTP 200 को तब भी लौटाता है जब क्वेरी फ़ील्ड विफल हो शीर्ष स्तर में त्रुटियां दिखाई देती हैं errors किसी भी सफल आंशिक डेटा के साथ सरणी. हमेशा प्रतिक्रिया को संसाधित करने से पहले उस सरणी की जांच करें. त्रुटि हैंडलिंग और बैचिंग पैटर्न के साथ पूर्ण पायथन और जावास्क्रिप्ट कार्यान्वयन के लिए, देखें ग्राफ़क्यूएल के माध्यम से FXMacroData कैसे क्वेरी करें. .
चरण 10 पायथन वर्कफ़्लो
नीचे दिए गए स्निपेट में सबसे आम पैटर्न को क्रमशः एक साथ खींचता हैः उपलब्ध संकेतकों की खोज करें, अगली अनुसूचित रिलीज की जांच करें, एक ही GraphQL अनुरोध में दो संकेतकों को प्राप्त करें, और फिर आउटपुट को रूट करने से पहले बाजार सत्र की स्थिति की शर्त पर जांच करें।
import requests
from datetime import datetime, timezone
BASE = "https://fxmacrodata.com/api/v1"
API_KEY = "YOUR_API_KEY"
def params(require_key: bool = True) -> dict:
return {"api_key": API_KEY} if require_key else {}
# 1. Discover available indicators for AUD (free)
catalogue = requests.get(f"{BASE}/data_catalogue/aud", params=params(False), timeout=10)
catalogue.raise_for_status()
print("AUD indicators:", list(catalogue.json().keys())[:5])
# 2. Check the next USD non-farm payrolls release timestamp (free)
cal = requests.get(f"{BASE}/calendar/usd", params={"indicator": "non_farm_payrolls"}, timeout=10)
cal.raise_for_status()
events = cal.json().get("data", [])
if events:
ts = events[0]["announcement_datetime"]
dt = datetime.fromtimestamp(ts, tz=timezone.utc)
print(f"Next NFP release: {dt.strftime('%Y-%m-%d %H:%M UTC')}")
# 3. Fetch EUR inflation + AUD policy rate in one GraphQL request (Pro key)
gql_query = """
query {
eurCPI: announcements(currency: "EUR", indicator: "inflation") {
data { date val pctChange }
}
audRate: announcements(currency: "AUD", indicator: "policy_rate") {
data { date val }
}
}
"""
resp = requests.post(
f"{BASE}/graphql",
params={"api_key": API_KEY},
json={"query": gql_query},
timeout=15,
)
resp.raise_for_status()
payload = resp.json()
if "errors" in payload:
raise RuntimeError(payload["errors"])
data = payload["data"]
eur_latest = data["eurCPI"]["data"][-1]
aud_latest = data["audRate"]["data"][-1]
print(f"EUR CPI {eur_latest['date']}: {eur_latest['val']}%")
print(f"AUD Rate {aud_latest['date']}: {aud_latest['val']}%")
# 4. Check market sessions before triggering a trade alert (free)
sessions_resp = requests.get(f"{BASE}/market_sessions", timeout=10)
sessions_resp.raise_for_status()
session_data = sessions_resp.json()
if session_data["is_market_day"]:
for overlap in session_data.get("overlaps", []):
if overlap["is_active"] and overlap["priority"] == "high":
print(f"High-liquidity window active: {overlap['name']}")
else:
print("Market closed — skipping alert")
आपने जो हासिल किया
- ✓ ✓ ऐतिहासिक सूचक श्रृंखलाओं को ✓ घोषणाएँ अंत बिंदु
- ✓ ✓ से आने वाले रिलीज कार्यक्रमों की जांच की रिलीज कैलेंडर अंत बिंदु
- ✓ ✓ मुद्रा के अनुसार उपलब्ध सूचक स्लग की खोज की गई डेटा कैटलॉग अंत बिंदु
- ✓ ✓ भविष्य के अनुमानों की स्थिति को ✓ सीओटी अंत बिंदु
- ✓ ✓ कीमती धातुओं की कीमत श्रृंखलाओं को ✓ धातु अंत बिंदु
- ✓ समानांतर मैक्रो डेटा विदेशी मुद्रा दरें अंत बिंदु
- ✓ ✓ लाइव सत्र की स्थिति की जांच ✓ बाजार सत्र अंत बिंदु
- ✓ एक ही यात्रा में कई सूचक प्रश्नों को ✓ GraphQL अंत बिंदु
आप आगे क्या बना सकते हैं
अब आपके पास FXMacroData एपीआई में प्रत्येक सार्वजनिक अंत बिंदु के लिए काम करने वाले उदाहरण हैं. कुछ प्राकृतिक अगले चरणः
- अनुक्रमिक REST कॉल को GraphQL बैचिंग से बदलें. जहाँ भी आप तीन या अधिक स्वतंत्र GET अनुरोध करते हैं, एक एकल GraphQL POST उन्हें बदल सकता है. ग्राफ़क्यूएल के माध्यम से FXMacroData कैसे क्वेरी करें.
- दर अंतर पर परत सीओटी स्थिति। जी-8 मुद्रा ब्रह्मांड में एक समग्र मैक्रो संकेत बनाने के लिए सीओटी अंत बिंदु से सट्टा शुद्ध को नीतिगत दर श्रृंखला के साथ मिलाएं।
- मुद्राओं की रिलीज़ के साथ धातुओं की कीमतों को संरेखित करना। समय के साथ सुरक्षित-स्थान और डॉलर सहसंबंधों को ट्रैक करने के लिए धातुओं के अंत बिंदु से AUD या USD घोषणा श्रृंखला के साथ सोने की जोड़ी।
FXMacroData टीम