Quickstart
کسی بھی زبان میں شروع کریں
FXMacroData API ایک معیاری JSON REST API ہے جو سرور سائیڈ استعمال کے لیے ہے۔ کوئی بھی زبان جس میں HTTP سپورٹ ہو، کام کرتی ہے۔ USD اعلان کا ڈیٹا، USD ریلیز کیلنڈر، اور ڈیٹا کیٹلاگ بغیر کسی کی (key) کے مفت ہیں: حالیہ 90 دن، 15 منٹ کی ریلیز تاخیر کے ساتھ، روزانہ 100 درخواستوں تک۔ پیشن گوئی کی اقدار (USD سمیت)، ہر دوسری کرنسی، ریئل ٹائم ریلیزز، اور مکمل تاریخ کے لیے ایک API کی (key) کی ضرورت ہوتی ہے، جو کہ بھیجی جاتی ہے X-API-Key header. دیکھیں کہ کیا مفت ہے
بیس URL
https://api.fxmacrodata.com
تصدیق
X-API-Key: YOUR_API_KEY
Authorization: Bearer YOUR_API_KEY
پرانا ?api_key= کوئری پیرامیٹر اب استعمال میں نہیں ہے: URLs میں موجود کیز لاگز میں محفوظ ہو جاتی ہیں۔
جواب کا فارمیٹ
JSON (Content-Type: application/json)
openapi-generator-cli 40+ زبانوں میں کلائنٹس کو خودکار طور پر تیار کرنے کے لیے۔
Accept-Encoding: gzip ہر درخواست پر (8–12× چھوٹے پے لوڈز)، دوبارہ استعمال کریں ETag رسپانس ہیڈر میں If-None-Match دہرائے جانے والے پولز پر (واپس کرتا ہے 304 Not Modified بغیر کسی باڈی کے)، اور پاس کریں ?limit=50 سنگل-انڈیکیٹر اینڈ پوائنٹس پر جیسے کہ /v1/announcements/usd/inflation یا /v1/predictions/usd/inflation جب آپ کو صرف حالیہ قطاروں (rows) کی ضرورت ہو۔ مکمل حوالہ دیکھیں →
limit 100. تک قبول کرتا ہے۔ مکمل رینج جمع کرنے کے لیے، درخواست کو اس کے ساتھ دہرائیں offset پر سیٹ کریں pagination.next_offset until pagination.has_more is false. Python لوپ دیکھیں ↓
fetch() ویب پیج سے رسائی براؤزر کے ذریعے بلاک کر دی گئی ہے۔ اپنے بیک اینڈ سے FXMacroData کو کال کریں اور API کی (key) کو کلائنٹ سائیڈ کوڈ سے باہر رکھیں۔
core_pce USD کے لیے موجود ہے لیکن ہر کرنسی کے لیے نہیں۔ ہر اس سلگ (slug) کی فہرست نکالیں جسے کرنسی سپورٹ کرتی ہے GET /v1/data_catalogue/{currency}مثال کے طور پر، /v1/data_catalogue/usd. ایک 200 جس کا data ایرے خالی ہے اور جو لے کر چلتا ہے no_data.error_code: NO_DATA_IN_REQUESTED_WINDOW کا مطلب ہے کہ سلگ (slug) درست ہے اور صرف مطلوبہ تاریخ کی ونڈو خالی ہے — وسیع کریں start_date/end_date بجائے اس کے کہ URL کو تبدیل کیا جائے یا دوبارہ کوشش کی جائے۔ 404 کا مطلب ہے کہ کرنسی یا انڈیکیٹر کا سلگ (slug) غلط ہے۔
data_quality آبجیکٹ۔ بیک ٹیسٹ اور ادارتی رپورٹنگ کے لیے، معائنہ کریں point_in_time_safe, has_announcement_datetime, source_type، اور is_stale. point_in_time_safe ہے غلط جب بھی ونڈو میں کوئی بھی لائن ایسی اشاعت کا وقت رکھتی ہے جو سیریز کے ماپے گئے ریلیز لیگ سے اخذ کیا گیا ہو، لہذا چیک کریں assumed_release_time_count اور فی لائن release_time_assumed کسی غلط کو ناقابل استعمال سمجھنے سے پہلے نشان زد کریں۔
مارکیٹ پلیس تک رسائی
FXMacroData سے RapidAPI تک استعمال کریں
RapidAPI FXMacroData REST API کے لیے ایک اختیاری مارکیٹ پلیس چینل ہے۔ FXMacroData ڈیٹا فراہم کرتا ہے؛ RapidAPI آپ کی مارکیٹ پلیس سبسکرپشن، API کی، درخواست کوٹہ اور بلنگ کا انتظام کرتا ہے۔ اس چینل کے ذریعے درخواستوں کے لیے کسی علیحدہ FXMacroData اکاؤنٹ یا کی کی ضرورت نہیں ہے۔
- کھولیں سرکاری FXMacroData لسٹنگ اور ایک پلان منتخب کریں۔ موجودہ کوریج، کوٹہ اور ریٹ کی حدود کے لیے پرائسنگ ٹیب چیک کریں۔
- اینڈ پوائنٹ پلے گراؤنڈ سے اپنی RapidAPI کی (key) کاپی کریں اور اسے اپنے سرور ماحول میں اس طرح محفوظ کریں
RAPIDAPI_KEY. - درخواستیں بھیجیں
https://fxmacrodata1.p.rapidapi.comدونوں RapidAPI ہیڈرز کے ساتھ، جیسا کہ نیچے دکھایا گیا ہے۔
curl --request GET \ --url "https://fxmacrodata1.p.rapidapi.com/v1/announcements/usd/inflation?limit=3" \ --header "X-RapidAPI-Key: $RAPIDAPI_KEY" \ --header "X-RapidAPI-Host: fxmacrodata1.p.rapidapi.com"
مارکیٹ پلیس اینڈ پوائنٹ کوریج
لسٹ میں اعلانات، ریلیز کیلنڈر، ڈیٹا کیٹلاگ، روزانہ FX شرحیں، COT پوزیشننگ، مرکزی بینک کی خبریں، مارکیٹ سیشنز اور ہیلتھ چیک شامل ہیں۔ کرنسی اور تاریخ تک رسائی آپ کے RapidAPI پلان پر منحصر ہے۔ معاون انڈیکیٹر سلگز تلاش کرنے کے لیے کیٹلاگ استعمال کریں۔
براہ راست FXMacroData رسائی
اس صفحے پر دیگر مثالیں استعمال کرتی ہیں api.fxmacrodata.com اور ایک FXMacroData X-API-Key جب ضرورت ہو۔ چینلز کے درمیان کیز اور سبسکرپشنز الگ الگ ہیں۔ ایک RapidAPI سبسکرپشن فہرست میں دیے گئے REST اینڈ پوائنٹس کو کور کرتی ہے؛ ویب سائٹ سبسکرپشنز، MCP، پیشین گوئیاں، اسٹریمنگ اور ویب ہکس الگ پیشکش ہیں۔
اپنی کی (key) کو براؤزر کوڈ اور عوامی ریپوزٹریز سے دور رکھیں۔ طویل نتائج کے سیٹس کے لیے، عمل کریں pagination.next_offset until pagination.has_more غلط ہے۔ اپنی API کی (key) کبھی بھی سپورٹ کو نہ بھیجیں۔
پہلی API کال
کوئیک ریکویسٹ
پہلا حصہ اسی طرح چلتا ہے: USD ڈیٹا کے لیے کسی کلید کی ضرورت نہیں ہے، جو ریلیز کے 15 منٹ بعد فراہم کیا جاتا ہے۔ شامل کریں X-API-Key تمام 22 کرنسیوں اور ریئل ٹائم ڈیلیوری کے لیے، جو سرور، اسکرپٹ، یا نوٹ بک سے بھیجی جاتی ہے۔
# USD inflation, no key: 15-minute delay, most recent 90 days
curl "https://api.fxmacrodata.com/v1/announcements/usd/inflation?limit=5"
# EUR inflation: add X-API-Key for all 22 currencies and real-time releases
curl -H "X-API-Key: YOUR_API_KEY" "https://api.fxmacrodata.com/v1/announcements/eur/inflation"
Python درخواستیں
کاپی کے قابل Python API درخواستیں
ان براہ راست REST مثالوں کو استعمال کریں جب آپ کو SDK ریپر کے بجائے خام API ریکویسٹ چاہیے ہو۔ YOUR_API_KEY کو صرف محفوظ راستوں (protected routes) پر تبدیل کریں۔
USD افلاسیون مارکیٹ اتفاق رائے
کنسنسس، سروے، مرکزی بینک، IMF، اور FXMacroData کی پیش گوئیاں جو حقیقت میں ہونے والے اعلانات سے منسلک ہیں۔
import requests
url = "https://api.fxmacrodata.com/v1/predictions/usd/inflation"
headers = {"X-API-Key": "YOUR_API_KEY"}
response = requests.get(url, headers=headers, timeout=20)
response.raise_for_status()
payload = response.json()
print(payload.get("data", payload))
known-at ٹائم اسٹیمپس کے ساتھ USD افراطِ زر
پوائنٹ-ان-ٹائم بیک ٹیسٹ کے لیے عوامی USD افراط زر کے ریکارڈز۔
import requests
url = "https://api.fxmacrodata.com/v1/announcements/usd/inflation"
response = requests.get(url, timeout=20)
response.raise_for_status()
payload = response.json()
print(payload.get("data", payload))
EUR/USD FX اسپاٹ ہسٹری
جوڑوں کے چارٹس، ماڈلز، اور ریلیز اوورلے کے لیے روزانہ FX قیمت کی تاریخ۔
import requests
url = "https://api.fxmacrodata.com/v1/forex/eur/usd"
headers = {"X-API-Key": "YOUR_API_KEY"}
response = requests.get(url, headers=headers, timeout=20)
response.raise_for_status()
payload = response.json()
print(payload.get("data", payload))
AUD پالیسی ریٹ کی تاریخ
بغیر لک-اہیڈ ریسرچ کے لیے ریلیز ٹائمنگ کے ساتھ مرکزی بینک کے فیصلے کی تاریخ۔
import requests
url = "https://api.fxmacrodata.com/v1/announcements/aud/policy_rate"
headers = {"X-API-Key": "YOUR_API_KEY"}
response = requests.get(url, headers=headers, timeout=20)
response.raise_for_status()
payload = response.json()
print(payload.get("data", payload))
JPY آنے والے ریلیز کا شیڈول
آنے والے میکرو ایونٹس جن میں الرٹس کی منصوبہ بندی، ماڈل ریفریش، اور ٹریڈنگ ریویوز کے لیے UTC، مارکیٹ-لوکل، اور مطلوبہ ٹائم زون فیلڈز شامل ہیں۔
import requests
url = "https://api.fxmacrodata.com/v1/calendar/jpy"
params = {
"timezone": "Asia/Tokyo",
}
headers = {"X-API-Key": "YOUR_API_KEY"}
response = requests.get(url, params=params, headers=headers, timeout=20)
response.raise_for_status()
payload = response.json()
print(payload.get("data", payload))
سونے کی کموڈٹی قیمتیں
روزانہ اقدار اور تبدیلی کے فیلڈز کے ساتھ سرکاری قیمتی دھاتوں کی ٹائم سیریز۔
import requests
url = "https://api.fxmacrodata.com/v1/commodities/gold"
headers = {"X-API-Key": "YOUR_API_KEY"}
response = requests.get(url, headers=headers, timeout=20)
response.raise_for_status()
payload = response.json()
print(payload.get("data", payload))
Python
سرکاری انسٹال کریں fxmacrodata PyPI (1.2.x) سے پیکیج۔ سنک (Sync) اور اسنک (async) کلائنٹس سادہ JSON ڈکشنریز واپس کرتے ہیں جو براہ راست pandas میں لوڈ ہو جاتی ہیں۔ Client() بغیر کسی کی کے مفت USD درجے کو پڑھتا ہے؛ پاس api_key ہر دوسری کرنسی اور ریئل ٹائم ڈیلیوری کے لیے۔
SDK کا استعمال کرتے ہوئے
from fxmacrodata import Client # USD inflation — no key needed: 15-minute delay, most recent 90 days data = Client().get_indicator("usd", "inflation") print(data["data"][0]) # Add X-API-Key for all 22 currencies and real-time releases client = Client(api_key="YOUR_API_KEY") # EUR policy rate — requires API key rate = client.get_indicator("eur", "policy_rate") # Forex price data — requires API key fx = client.get_fx_price("usd", "jpy")
براہ راست REST API استعمال کر رہے ہیں
import requests resp = requests.get( "https://api.fxmacrodata.com/v1/announcements/usd/inflation", timeout=30, ) resp.raise_for_status() payload = resp.json() print(payload["data_quality"]["point_in_time_safe"], payload["data"][0])
مکمل تاریخ کے ذریعے پیجنگ کرنا
import requests URL = "https://api.fxmacrodata.com/v1/announcements/eur/inflation" HEADERS = {"X-API-Key": "YOUR_API_KEY"} rows, offset = [], 0 while True: resp = requests.get( URL, params={"limit": 100, "offset": offset}, headers=HEADERS, timeout=30, ) resp.raise_for_status() page = resp.json() rows.extend(page["data"]) if not page["pagination"]["has_more"]: break offset = page["pagination"]["next_offset"] print(len(rows), "rows")
ایسنک کلائنٹ
import asyncio from fxmacrodata import AsyncClient async def main(): async with AsyncClient(api_key="YOUR_API_KEY") as client: data = await client.get_indicator("eur", "inflation") print(data) asyncio.run(main())
پیش گوئیاں & پیش گوئیاں
دی /v1/predictions/{currency}/{indicator} اینڈ پوائنٹ مارکیٹ کنسنسس سروے، مرکزی بینک کی پیش گوئیوں، IMF ورلڈ اکنامک آؤٹ لک، اور پیشہ ور پیش گوئی کرنے والوں کے سروے سے فورکاسٹ ڈیٹا فراہم کرتا ہے۔ پیش گوئیاں ایک مخصوص کرنسی اور انڈیکیٹر کے لیے طلب کی جاتی ہیں، جیسے کہ https://api.fxmacrodata.com/v1/predictions/usd/inflation; صرف کرنسی کی پیش گوئی کی درخواستیں سپورٹڈ نہیں ہیں۔ ہر پیش گوئی اپنے اعلان سے منسلک ہے بذریعہ announcement_id، تاکہ آپ فورکاسٹ کو حقیقت پسندانہ مشاہدات کے ساتھ جوڑ سکیں۔
prediction_type="fxmacrodata" ایک FXMacroData-تولید شدہ تخمینہ ہے؛ ایک حقیقی مرتب شدہ اتفاقِ رائے کو لیبل کیا گیا ہے market_consensus. پیش گوئی کی دستیابی ریلیز کے لحاظ سے مختلف ہوتی ہے — چیک کریں کوریج میٹرکس. لک-اہیڈ-فری ریسرچ کے لیے، اس کی پیروی کریں پوائنٹ-ان-ٹائم بیک ٹیسٹنگ گائیڈ.
/v1/predictions/coverage/{currency}. ٹرائل یا پیڈ کی (key) پیشن گوئی کی اقدار فراہم کرتی ہے۔
Python — پیش گوئیاں حاصل کریں اور انہیں اصل اقدار کے ساتھ جوڑیں
import requests HEADERS = {"X-API-Key": "YOUR_API_KEY"} # Predictions for USD inflation — requires API key preds = requests.get( "https://api.fxmacrodata.com/v1/predictions/usd/inflation", headers=HEADERS, timeout=30, ).json() for group in preds["data"]: print(group["announcement_id"], group["date"]) for p in group["predictions"]: print(f" {p['prediction_source_label']}: {p['predicted_value']}") # Filter by prediction type market = requests.get( "https://api.fxmacrodata.com/v1/predictions/usd/inflation", params={"prediction_type": "market_consensus"}, headers=HEADERS, timeout=30, ).json() # Join predictions with actuals using announcement_id actuals = requests.get( "https://api.fxmacrodata.com/v1/announcements/usd/inflation", headers=HEADERS, timeout=30, ).json() actuals_by_id = {row["announcement_id"]: row for row in actuals["data"]} for group in preds["data"]: actual = actuals_by_id.get(group["announcement_id"]) if actual: print(f"{group['date']}: actual={actual['val']}, forecast={group['predictions'][0]['predicted_value']}")
cURL — قسم کے لحاظ سے پیش گوئیاں حاصل کریں
# Which sources forecast USD indicators — free, no key curl "https://api.fxmacrodata.com/v1/predictions/coverage/usd" # All USD inflation predictions — requires API key curl -H "X-API-Key: YOUR_API_KEY" "https://api.fxmacrodata.com/v1/predictions/usd/inflation" # Filter by prediction type: market_consensus, imf_weo, central_bank_forecast, survey curl -H "X-API-Key: YOUR_API_KEY" "https://api.fxmacrodata.com/v1/predictions/usd/inflation?prediction_type=market_consensus" # EUR policy-rate predictions curl -H "X-API-Key: YOUR_API_KEY" "https://api.fxmacrodata.com/v1/predictions/eur/policy_rate"
پیش گوئی کی اقسام کا حوالہ
| prediction_type | تفصیل |
|---|---|
| market_consensus | مرکب مارکیٹ یا ماہر اقتصادیات کے ایونٹ کا اتفاقِ رائے، جہاں دستیاب ہو |
| market_prediction | پروفیشنل فورکاسٹر پوائنٹ پریڈکشن |
| model_nowcast | مرکزی بینک یا ریزرو بینک ماڈل ناؤ کاسٹ |
| سروے | پروفیشنل پیشن گوئی کرنے والوں کا مرکزی بینک سروے (مثلاً ECB SPF) |
| central_bank_forecast | سرکاری مرکزی بینک کی پیش گوئی (مثلاً RBNZ MPS, BoC MPR) |
| central_bank_projection | سرکاری مرکزی بینک کا تخمینہ |
| imf_weo | IMF ورلڈ اکنامک آؤٹ لک پیش گوئی |
| fxmacrodata | FXMacroData کی تیار کردہ پیش گوئی جس میں مرکزی بینک کی رہنمائی، سروے، اور تاریخی رجحانات شامل ہیں |
cURL
کسی انسٹالیشن کی ضرورت نہیں ہے۔ کسی بھی ٹرمینل سے کام کرتا ہے۔
# USD inflation — no-key evaluation, up to 100 requests/day curl "https://api.fxmacrodata.com/v1/announcements/usd/inflation" # EUR policy rate — send your API key in the X-API-Key header curl -H "X-API-Key: YOUR_API_KEY" "https://api.fxmacrodata.com/v1/announcements/eur/policy_rate" # Release calendar for Australia — requires API key curl -H "X-API-Key: YOUR_API_KEY" "https://api.fxmacrodata.com/v1/calendar/aud" # Release calendar converted to a requested IANA timezone curl "https://api.fxmacrodata.com/v1/calendar/usd?indicator=gdp&timezone=America/Sao_Paulo" # Forex price history — requires API key curl -H "X-API-Key: YOUR_API_KEY" "https://api.fxmacrodata.com/v1/forex/usd/jpy" # Data catalogue (discover available indicators for USD) curl "https://api.fxmacrodata.com/v1/data_catalogue/usd"
JavaScript / TypeScript
Node.js (18+), Deno, اور Bun میں سرور سائیڈ پر کام کرتا ہے۔ API کے ذریعے CORS ہیڈرز نہیں بھیجے جاتے، اس لیے اسے براؤزر کوڈ کے بجائے اپنے بیک اینڈ سے کال کریں۔
سرکاری npm کلائنٹ
import { FXMacroDataClient } from "@fxmacrodata/client"; const client = new FXMacroDataClient({ apiKey: "YOUR_API_KEY", }); // Public endpoint example const usdInflation = await client.announcements("usd", "inflation"); // Non-USD endpoint example (requires paid key) const eurRate = await client.announcements("eur", "policy_rate"); console.log(usdInflation, eurRate);
براہ راست Fetch کا استعمال کرتے ہوئے
// USD inflation — no-key evaluation, up to 100 requests/day const res = await fetch( "https://api.fxmacrodata.com/v1/announcements/usd/inflation" ); const data = await res.json(); console.log(data); // With API key for non-USD const API_KEY = process.env.FXMD_API_KEY; const eur = await fetch( "https://api.fxmacrodata.com/v1/announcements/eur/policy_rate", { headers: { "X-API-Key": API_KEY } } ); console.log(await eur.json());
جائیں
کسی بیرونی پیکیج کی ضرورت نہیں ہے — اسٹینڈرڈ لائبریری سب کچھ سنبھال لیتی ہے۔
package main import ( "encoding/json" "fmt" "net/http" "io" ) func main() { // USD inflation — no-key evaluation, up to 100 requests/day resp, err := http.Get("https://api.fxmacrodata.com/v1/announcements/usd/inflation") if err != nil { panic(err) } defer resp.Body.Close() body, _ := io.ReadAll(resp.Body) var result map[string]interface{} json.Unmarshal(body, &result;) fmt.Println(result) }
R
ضرورت ہے httr اور jsonlite.
library(httr) library(jsonlite) # USD inflation — no-key evaluation, up to 100 requests/day res <- GET("https://api.fxmacrodata.com/v1/announcements/usd/inflation") data <- fromJSON(content(res, "text", encoding = "UTF-8")) # Convert to data frame df <- as.data.frame(data$data) head(df) # With API key for non-USD eur <- GET( "https://api.fxmacrodata.com/v1/announcements/eur/policy_rate", add_headers(`X-API-Key` = "YOUR_API_KEY") ) print(fromJSON(content(eur, "text")))
Java
استعمالات java.net.http (Java 11+). کسی بیرونی لائبریری کی ضرورت نہیں ہے۔
import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; public class FXMacroDataExample { public static void main(String[] args) throws Exception { var client = HttpClient.newHttpClient(); var request = HttpRequest.newBuilder() .uri(URI.create("https://api.fxmacrodata.com/v1/announcements/usd/inflation")) .build(); var response = client.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.body()); } }
C# / .NET
استعمالات HttpClient (.NET 6+).
using System.Net.Http; using System.Text.Json; var client = new HttpClient(); // USD inflation — no-key evaluation, up to 100 requests/day var json = await client.GetStringAsync( "https://api.fxmacrodata.com/v1/announcements/usd/inflation" ); var doc = JsonDocument.Parse(json); Console.WriteLine(doc.RootElement);
MATLAB
بلٹ-ان استعمال کرتا ہے webread فنکشن۔
% USD inflation — no-key evaluation, up to 100 requests/day data = webread('https://api.fxmacrodata.com/v1/announcements/usd/inflation'); disp(data); % With API key for non-USD opts = weboptions('Timeout', 30, 'HeaderFields', {'X-API-Key', 'YOUR_API_KEY'}); url = 'https://api.fxmacrodata.com/v1/announcements/eur/policy_rate'; eur = webread(url, opts); disp(eur);
کسی بھی زبان کے لیے ٹائپڈ کلائنٹ جنریٹ کریں
FXMacroData API ایک مکمل شائع کرتا ہے OpenAPI 3.1 تفصیلات. اسے استعمال کریں openapi-generator Kotlin, Swift, Rust, Dart, Ruby, PHP, اور 40+ دیگر زبانوں کے لیے مکمل طور پر ٹائپڈ کلائنٹس تیار کرنے کے لیے۔
# Install the openapi-generator CLI npm install @openapitools/openapi-generator-cli -g # Generate a Go client openapi-generator-cli generate \ -i https://api.fxmacrodata.com/openapi.json \ -g go \ -o ./fxmacrodata-go-client # Generate a Java client openapi-generator-cli generate \ -i https://api.fxmacrodata.com/openapi.json \ -g java \ -o ./fxmacrodata-java-client
بلڈ کرنے کے لیے تیار ہیں؟
USD ریلیز ڈیٹا بغیر کسی کی (key) کے کام کرتا ہے، روزانہ 100 درخواستوں تک اور اشاعت سے 15 منٹ پیچھے۔ ریئل ٹائم ریلیزز، پیشن گوئی کی اقدار، مکمل تاریخ، زیادہ حدود، اور ہر کرنسی کے لیے سبسکرائب کریں۔