Оғози зуд
Дар ҳар як забон оғоз кунед
FXMacroData API як як стандартӣ JSON REST API барои истифода дар сервер аст. Ҳар як забон бо дастгирии HTTP кор мекунад. маълумоти эълоноти USD, тақвими нашри USD ва каталоги маълумот бе калид ройгон ҳастанд: 90 рӯзи охирин, бо таъхири нашри 15-дақиқа, то 100 дархост дар як рӯз. Қиматҳои пешбинӣ (аз ҷумла USD), ҳамаи асъорҳои дигар, нашрҳои вақти воқеӣ ва таърихи пурра калиди API-ро талаб мекунанд, ки дар X-API-Key header. Бубинед, ки чӣ ройгон аст
Базовии URL
https://api.fxmacrodata.com
Аутентификатсия
X-API-Калид: YOUR_API_KEY
Authorization: Bearer YOUR_API_KEY
Қадимии ?api_key= параметри пурсиш аз модафъат баромад: калидҳо дар URL-ҳо ба логҳо ворид мешаванд.
Формати ҷавоб
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-ро аз коди қисми мизоҷ (client-side) дур нигоҳ доред.
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 объект. Барои backtest-ҳо ва ҳисоботи институтсионалӣ, санҷед point_in_time_safe, has_announcement_datetime, source_type, ва is_stale. point_in_time_safe ҳар вақте ки ҳар як сатр дар тиреза вақти нашри аз таъхири эълони ченшудаи силсила гирифташударо дорад, false аст, бинобар ин санҷед assumed_release_time_count ва барои ҳар як сатр release_time_assumed flag пеш аз он ки хаторо ҳамчун ғайриاستфодашаванда муайян кунед.
Дастрасӣ ба Marketplace
Истифодаи FXMacroData тавассути RapidAPI
RapidAPI як канали ихтиёрӣ дар бозор барои FXMacroData REST API мебошад. FXMacroData маълумотро таъмин мекунад; RapidAPI обунаи бозори шумо, калиди API, квотаи дархост ва пардохтро идора мекунад. Барои дархостҳо тавассути ин канал ҳисоби алоҳидаи FXMacroData ё калид лозим нест.
- Кушодан рӯйхати расмии FXMacroData ва нақшаро интихоб кунед. Барои фарогирии ҷорӣ, квотаҳо ва маҳдудиятҳои ставр ба сарлавҳаи нархгузорӣ муроҷиат кунед.
- Калиди RapidAPI-и худро аз майдони санҷиши нуқта (endpoint playground) нусхабардорӣ кунед ва онро дар муҳити сервери худ ҳамчун
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"
Фарогирии нуқтаҳои воридшавии Marketplace
Рӯйхат эълонҳо, тақвимҳои нашр, каталоги маълумот, курсҳои рӯзии FX, мавқеъгирии COT, хабарҳои бонки марказӣ, ҷанбаҳои бозор ва санҷиши ҳолатро дар бар мегирад. Дастрасӣ ба асъор ва таърих ба нақшаи RapidAPI-и шумо вобаста аст. Барои ёфтани slug-ҳои нишондиҳандаҳои дастгиришуда аз каталог истифода баред.
Дастрасии мустақими FXMacroData
Мисолҳои дигари дар ин саҳифа омада аз api.fxmacrodata.com ва як FXMacroData X-API-Key вақте ки талаб карда мешавад. Калидҳо ва обунаҳо байни каналҳо ҷудо мебошанд. Обунаи RapidAPI нуқтаҳои воридшавии рӯйхатшудаи REST-ро фаро мегирад; обунаҳои вебсайт, MCP, пешгӯиҳо, стриминг ва вебхукҳо пешниҳодҳои алоҳида мебошанд.
Калиди худро аз коди браузер ва репозиториҳои общеӣ дур нигоҳ доред. Барои маҷмӯи натиҷаҳои дарозтар, иҷро кунед pagination.next_offset until pagination.has_more дуруст нест. Ҳеҷ гоҳ калиди API худро ба дастгирӣ нафиристед.
Аввалин занги API
Дархости зуд
Қисми аввал чунин кор мекунад: барои маълумоти USD калид лозим нест, ки 15 дақиқа пас аз нашр пешниҳод мешавад. Илова кунед X-API-Key барои ҳамаи асъорҳои 22 ва интиқоли дар вақти воқеӣ, ки аз сервер, скрипт ё дафтарча (notebook) фиристода мешавад.
# 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-ро танҳо дар масирҳои ҳифзшуда иваз кунед.
консенсуси бозори инфлятсияи 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")
Клиенти асинхронӣ
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} нуқтаи пайваст додаҳои пешбиниро аз назарсанҷиҳои консенсуси бозор, пешбиниҳои бонки марказӣ, Outlook-и иқтисодиёти ҷаҳонии IMF ва назарсанҷиҳои пешбиникорони касбӣ пешниҳод мекунад. Пешбиниҳо барои асъор ва нишондиҳандаи мушаххас дархост карда мешаванд, масалан https://api.fxmacrodata.com/v1/predictions/usd/inflation; дархостҳои пешбинии танҳо асъор дастгирӣ намешаванд. Ҳар як пешбинии ба эълони худ тавассути пайваст аст announcement_id, то шумо тавонед пешбиниҳоро бо мушоҳидаҳои амалӣ пайваст кунед.
prediction_type="fxmacrodata" тахмини тавлидшудаи FXMacroData аст; консенсуси воқеии ҷамъоваришуда бо тамғаи market_consensus. Дастрасии пешбинӣ вобаста ба шурӯ тафовут мекунад — санҷед матритсаи фарогирӣ. Барои тадқиқоти бепешбинӣ, аз дастури 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 | Пешбинии Outlook-и иқтисодиёти ҷаҳонии 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-ро намефиристад, бинобаро онро аз 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());
Рафтан
Ҳеҷ gói-и беруна лозим нест — китобхонаи стандартӣ ҳама чизро идора мекунад.
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 бе калид, то 100 дархост/рӯз ва бо таъхири 15 дақиқа аз нашр кор мекунад. Барои нашрҳои вақти воқеӣ, қиматҳои пешбинӣ, таърихи пурра, маҳдудиятҳои баландтар ва ҳамаи асъор обуна шавед.