Quickstart
کسی بھی زبان میں شروع کریں
FXMacroData API ایک معیاری JSON REST API ہے۔ کوئی بھی زبان جس میں HTTP سپورٹ ہو، کام کرتی ہے۔ فری میئم ٹائم سیریز اینڈ پوائنٹس کسی کی (key) کے بغیر حالیہ 90 دنوں کے لیے دستیاب ہیں۔ مکمل تاریخ اور پیڈ اینڈ پوائنٹ فیملیز کو ان لاک کرنے کے لیے انفرادی API کی (key) شامل کریں۔
بیس URL
https://api.fxmacrodata.com
تصدیق
X-API-Key: YOUR_API_KEY
Authorization: Bearer YOUR_API_KEY
?api_key=YOUR_API_KEY
جواب کا فارمیٹ
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) کی ضرورت ہو۔ مکمل حوالہ دیکھیں →
core_pce USD کے لیے موجود ہے لیکن ہر کرنسی کے لیے نہیں۔ ہر اس سلگ (slug) کی فہرست نکالیں جسے کرنسی سپورٹ کرتی ہے GET /v1/data_catalogue/{currency}مثال کے طور پر، /v1/data_catalogue/usd. ایک 404 جس کے ساتھ error_code: NO_DATA_IN_REQUESTED_WINDOW کا مطلب ہے کہ سلگ (slug) درست ہے اور صرف مطلوبہ تاریخ کی ونڈو خالی ہے — وسیع کریں start_date/end_date بجائے اس کے کہ URL کو تبدیل کیا جائے۔
data_quality آبجیکٹ۔ بیک ٹیسٹ اور ادارتی رپورٹنگ کے لیے، معائنہ کریں point_in_time_safe, has_announcement_datetime, source_type، اور is_stale.
پہلی API کال
کوئیک ریکویسٹ
ایک لائیو اعلان endpoint سے شروع کریں۔ تصدیق (Authentication) اس میں رہتی ہے api_key براؤزر اور اسکرپٹ کی براہ راست ٹیسٹنگ کے لیے کوئری پیرامیٹر۔
curl "https://api.fxmacrodata.com/v1/announcements/eur/inflation?api_key=YOUR_API_KEY"
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"
response = requests.get(url, 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"
params = {
"api_key": "YOUR_API_KEY",
}
response = requests.get(url, params=params, 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"
params = {
"api_key": "YOUR_API_KEY",
}
response = requests.get(url, params=params, 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",
"api_key": "YOUR_API_KEY",
}
response = requests.get(url, params=params, timeout=20)
response.raise_for_status()
payload = response.json()
print(payload.get("data", payload))
سونے کی کموڈٹی قیمتیں
روزانہ اقدار اور تبدیلی کے فیلڈز کے ساتھ سرکاری قیمتی دھاتوں کی ٹائم سیریز۔
import requests
url = "https://api.fxmacrodata.com/v1/commodities/gold"
params = {
"api_key": "YOUR_API_KEY",
}
response = requests.get(url, params=params, timeout=20)
response.raise_for_status()
payload = response.json()
print(payload.get("data", payload))
Python
سرکاری انسٹال کریں fxmacrodata PyPI سے پیکیج۔ سنک اور اسنک کلائنٹس، pandas-ready آؤٹ پٹ۔
SDK کا استعمال کرتے ہوئے
from fxmacrodata import Client client = Client(api_key="YOUR_API_KEY") # USD inflation — no-key evaluation, up to 100 requests/day data = client.get_indicator("usd", "inflation") # 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 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. پیش گوئی کی دستیابی ریلیز کے لحاظ سے مختلف ہوتی ہے — چیک کریں کوریج میٹرکس. لک-اہیڈ-فری ریسرچ کے لیے، اس کی پیروی کریں پوائنٹ-ان-ٹائم بیک ٹیسٹنگ گائیڈ.
Python — پیش گوئیاں حاصل کریں اور انہیں اصل اقدار کے ساتھ جوڑیں
import requests # Predictions for USD inflation — no-key evaluation, up to 100 requests/day preds = requests.get( "https://api.fxmacrodata.com/v1/predictions/usd/inflation", 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"}, timeout=30, ).json() # Join predictions with actuals using announcement_id actuals = requests.get( "https://api.fxmacrodata.com/v1/announcements/usd/inflation", 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 — قسم کے لحاظ سے پیش گوئیاں حاصل کریں
# All USD inflation predictions — free curl "https://api.fxmacrodata.com/v1/predictions/usd/inflation" # Filter by prediction type: market_consensus, imf_weo, central_bank_forecast, survey curl "https://api.fxmacrodata.com/v1/predictions/usd/inflation?prediction_type=market_consensus" # EUR predictions — requires API key curl "https://api.fxmacrodata.com/v1/predictions/eur/inflation?api_key=YOUR_API_KEY" # USD policy-rate predictions curl "https://api.fxmacrodata.com/v1/predictions/usd/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 — pass your API key as a query parameter curl "https://api.fxmacrodata.com/v1/announcements/eur/policy_rate?api_key=YOUR_API_KEY" # Release calendar for Australia curl "https://api.fxmacrodata.com/v1/calendar/aud?api_key=YOUR_API_KEY" # 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 "https://api.fxmacrodata.com/v1/forex/usd/jpy?api_key=YOUR_API_KEY" # Data catalogue (discover available indicators for USD) curl "https://api.fxmacrodata.com/v1/data_catalogue/usd"
JavaScript / TypeScript
Node.js (18+), Deno, Bun، اور جدید براؤزرز میں Fetch API کے ساتھ کام کرتا ہے۔
سرکاری 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 = "YOUR_API_KEY"; const eur = await fetch( `https://api.fxmacrodata.com/v1/announcements/eur/policy_rate?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", query = list(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); url = 'https://api.fxmacrodata.com/v1/announcements/eur/policy_rate?api_key=YOUR_API_KEY'; 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 اینڈ پوائنٹس 100 درخواستوں/دن تک بغیر کی (no-key) تشخیص کی سپورٹ کرتے ہیں۔ زیادہ حد اور ملٹی کرنسی رسائی کے لیے سبسکرائب کریں۔