Тез баштоо
Кайсы тилде болбосун баштаңыз
FXMacroData API — бул стандарттык JSON REST API. HTTP колдоосу бар ар кандай тил иштешет. Freemium убактылуу катар чекиттери ачкычсыз акыркы 90 күн үчүн жеткиликтүү. Толук тарыхты жана акы төлөнүүчү чекиттерди ачуу үчүн Жеке API ачкычын кошуңуз.
Негизги URL
https://api.fxmacrodata.com
Аутентификация
X-API-Ачкыч: YOUR_API_KEY
Авторизация: Bearer YOUR_API_KEY
?api_key=YOUR_API_KEY
Жооп форматы
JSON (Content-Type: application/json)
openapi-generator-cli 40+ тилдерүндө клиенттерди автоматтык түрдө түзүү үчүн.
Accept-Encoding: gzip ар бир суроо боюнча (8–12× кичинекей payload'дар), кайра колдонуңуз ETag жооптун хедери If-None-Match кайталанган сурамдарда (кайтарат 304 Not Modified ден (body жок), жана өткөрүү ?limit=50 мындай бир индикатордук endpoint'терде /v1/announcements/usd/inflation же /v1/predictions/usd/inflation сизге акыркы саптар гана керек болгондо. Толук шилтемени көрүү →
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 объектиси. Backtestтер жана институционалдык отчеттуулук үчүн, текшериңиз point_in_time_safe, has_announcement_datetime, source_type, жана is_stale.
Биринчи API чалуу
Тез суроо
Тирүү жарыя endpoint'и менен баштаңыз. Аутентификация сакталат api_key браузер жана скрипт менен түз тестирлөө үчүн суроо параметри.
curl "https://api.fxmacrodata.com/v1/announcements/eur/inflation?api_key=YOUR_API_KEY"
Python суроо-талаптары
Көчүрүп алууга мүмкүн болгон Python API суроо-талаптары
SDK капсуласынын ордуна чийки API суроосун алгыңыз келгенде бул түз REST мисалдарды колдонуңуз. YOUR_API_KEY тилкесин корголгон маршруттарда гана алмаштырыңыз.
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))
USD инфляцияңызды белгилүү мөөнөттөр менен
Белгилүү бир убактагы backtest'тер үчүн коомдук 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-даяр чыгарылыш.
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} endpointтер рынок консенсус сурамжылоолорунан, борбордук банктын болжолдорунан, IMF World Economic Outlook жана кесипкөй-болжолдоочулардын сурамжылоолорунан болжолдорду чыгарат. Болжоолор белгилүү бир валюта жана индикатор үчүн суратылат, мисалы, https://api.fxmacrodata.com/v1/predictions/usd/inflation; бир гана валютага багытталган прогноз суроо-талаптары колдоого алынбайт. Ар бир прогноз өзүнүн жарыясы менен байланышкан announcement_id, ошондуктан сиз прогноздорду ишке ашкан байкалуулар менен бириктире аласыз.
prediction_type="fxmacrodata" FXMacroData тарабынан түзүлгөн болжол; чыныгы топтолгон консенсус төмөнкүдөй белгиленет market_consensus. Прогноздун жеткиликтүүлүгү чыгарылышка жараша өзгөрөт — текшериңиз камтымын матрицасы. Алдын ала көрүүсүз изилдөө үчүн, төмөнкүдөй белгилүү бир убактагы backtesting колдонмосу.
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 | Борбордук банк же резервдик банктын модели боюнча азыркы баалоо (nowcast) |
| байкоо (survey) | Профессионалдык болжолдоочулардын борбордук банктын сурамжылоосу (мисалы, 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 — 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 суроо-талапка чейин ачкычсыз баалоону колдойт. Жогорку лимиттер жана көп валюталуу жеткиликтүүлүк үчүн жазылыңыз.