Жылдам бастау
Кез келген тілде бастаңыз
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 жауап тақырыбы (header) мынада If-None-Match қайталанатын сауалнамаларда (қайтарады 304 Not Modified денесіз), және өткізу ?limit=50 мынадай бір индикаторлы endpoint-тер бойынша: /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 валютаның немесе индикатордың slug-ы қате екенін білдіреді.
data_quality объектісі. Backtest-тер және институционалдық есептеулер үшін тексеріңіз 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 ұсынады; сіздің маркетплейс жазылымыңызды, API кілтін, сұрау квотасын және төлемді RapidAPI басқарады. Бұл арна арқылы сұраулар жіберу үшін бөлек FXMacroData аккаунты немесе кілті қажет емес.
- Ашу ресми FXMacroData тізілімі және жоспарды таңдаңыз. Қазіргі қамтуды, квоталарды және мөлшерлеме шектеулерін бағалау қосымшасынан тексеріңіз.
- Endpoint playground-дан 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"
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 валюталары және серверден, скрипттен немесе ноутбуктен жіберілетін нақты уақыт режиміндегі жеткізу үшін.
# 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 сұраныстары
SDK орамасының орнына шикі API сұранысын алғыңыз келгенде, осы тікелей REST мысалдарын қолданыңыз. 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 инфляциясы
Уақыт бойынша 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 спот тарихы
Жұп chart-тары, модельдер және релиз қабаттары үшін күнделікті 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). Синхронды және асинхронды клиенттер тікелей pandas жүктейтін қарапайым JSON сөздіктерін қайтарады. 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 клиент
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())
Болжамдар & Болжамдар
The /v1/predictions/{currency}/{indicator} endpoint нарықтық консенсус сауалнамаларынан, орталық банктің болжамдарынан, 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 | 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());
Бару
Сыртқы пакеттер қажет емес — стандартты кітапхана бәрін реттейді.
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 минут кешігумен жұмыс істейді. Нақты уақыттағы шығарылымдар, болжам мәндері, толық тарих, жоғары лимиттер және барлық валюталар үшін жазылыңыз.