תחילת עבודה מהירה
התחל בכל שפה
ה-FXMacroData API הוא JSON REST API סטנדרטי לשימוש בצד השרת. כל שפה עם תמיכה ב-HTTP עובדת. נתוני הודעות USD, לוח השחרור של USD, וקטלוג הנתונים הם בחינם ללא מפתח: ה-90 ימים האחרונים, בעיכוב שחרור של 15 דקות, עד 100 בקשות ליום. ערכי תחזית (כולל USD), כל מטבע אחר, שחרורים בזמן אמת, והיסטוריה מלאה דורשים מפתח API, שנשלח ב- X-API-Key header. ראה מה בחינם
בסיס URL
https://api.fxmacrodata.com
אימות (Authentication)
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 כאשר אתה זקוק רק לשורות אחרונות. ראה את הייחוס המלא →
limit מקבל עד 100. כדי לאסוף טווח מלא, חזור על הבקשה עם offset מוגדר ל pagination.next_offset until pagination.has_more is false. ראה את לולאת ה-Python ↓
fetch() מדף אינטרנט נחסם על ידי הדפדפן. קרא ל-FXMacroData מה-backend שלך ושמור את מפתח ה-API מחוץ לקוד בצד הלקוח.
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 פירושו שהמזהה של המטבע או האינדיקטור שגוי.
data_quality אובייקט. עבור בדיקות לאחור ודיווח מוסדי, בדוק point_in_time_safe, has_announcement_datetime, source_type, ו- is_stale. point_in_time_safe הוא false בכל פעם שכל שורה בחלון נושאת זמן פרסום הנגזר מפיגור הפרסום הנמדד של הסדרה, אז בדוק assumed_release_time_count ועבור כל שורה release_time_assumed דגל לפני התייחסות לטעות כבלתי שמישה.
גישה לזירת המסחר
השתמש ב-FXMacroData דרך RapidAPI
RapidAPI הוא ערוץ שוק (marketplace) אופציונלי עבור ה-FXMacroData REST API. FXMacroData מספק את הנתונים; RapidAPI מנהל את מנוי השוק שלך, מפתח API, מכסת בקשות וחיוב. אין צורך בחשבון FXMacroData או מפתח נפרד עבור בקשות דרך ערוץ זה.
- פתח את ה- רישום FXMacroData רשמי ובחר תוכנית. בדוק את לשונית התמחור לכיסוי נוכחי, מכסות ומגבלות קצב.
- העתק את מפתח ה-RapidAPI שלך ממרחב הניסוי של נקודת הקצה ושמור אותו בסביבת השרת שלך כ-
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, תחזיות, סטרימינג ו-webhooks הם הצעות נפרדות.
שמור את המפתח שלך מחוץ לקוד הדפדפן וממאגרים ציבוריים. עבור קבוצות תוצאות ארוכות יותר, עקוב אחר pagination.next_offset until pagination.has_more הוא false. לעולם אל תשלח את מפתח ה-API שלך לתמיכה.
קריאת 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 ישירות אלו כאשר ברצונך בבקשת API גולמית במקום מעטפת SDK. החלף את YOUR_API_KEY רק בנתיבים מוגנים.
קונסנזוס שוק אינפלציה של 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))
אינפלציית 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
היסטוריית החלטות של בנקים מרכזיים עם תזמון פרסום למחקר ללא מבט קדימה (no-lookahead).
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). לקוחות סינכרוניים ואסינכרוניים מחזירים מילטי 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")
לקוח אסינכרוני (Async client)
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 World Economic Outlook וסקרי חזאים מקצועיים. תחזיות מבוקשות עבור מטבע ואינדיקטור ספציפיים, כגון https://api.fxmacrodata.com/v1/predictions/usd/inflation; בקשות תחזית למטבע בלבד אינן נתמכות. כל תחזית מקושרת להכרזה שלה באמצעות announcement_id, כך שתוכל לחבר תחזיות עם תצפיות שהתממשו.
prediction_type="fxmacrodata" היא הערכה שנוצרה על ידי FXMacroData; קונסנזוס מהודר אמיתי מסומן כ- market_consensus. זמינות התחזיות משתנה לפי פרסום — בדוק את ה- מטריצת כיסוי. למחקר ללא מבט קדימה (look-ahead-free), עקוב אחר ה- מדריך backtesting של נקודת זמן.
/v1/predictions/coverage/{currency}. מפתח ניסיון או מפתח בתשלום מחזירים את ערכי התחזית.
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 | תחזית מיידית (nowcast) של מודל בנק מרכזי או בנק רזרבה |
| סקר | סקר בנק מרכזי של חזאים מקצועיים (למשל ECB SPF) |
| central_bank_forecast | תחזית רשמית של הבנק המרכזי (למשל RBNZ MPS, BoC MPR) |
| central_bank_projection | תחזית רשמית של בנק מרכזי |
| imf_weo | תחזית IMF World Economic Outlook |
| 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, לכן קרא לו מה-backend שלך ולא מקוד דפדפן.
לקוח 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
משתמש ב-built-in 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);
צור לקוח מוקלד לכל שפה
ה-API של FXMacroData מפרסם מפרט 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 בקשות/יום ו-15 דקות אחרי הפרסום. הירשם לשחרורים בזמן אמת, ערכי תחזית, היסטוריה מלאה, מגבלות גבוהות יותר, וכל מטבע.