Greitasis pradžia
Pradėkite naudoti bet kuria kalba
FXMacroData API yra standartinis JSON REST API. Tinka bet kuri kalba su HTTP palaikymu. Nemokami laiko serijų galutiniai taškai paskutinėms 90 dienoms prieinami be rakto. Pridėkite Individualų API raktą, kad atrakintumėte visą istoriją ir mokamų galutinių taškų šeimas.
Bazinis URL
https://api.fxmacrodata.com
Autentifikavimas
X-API-Raktas: YOUR_API_KEY
Autorizacija: Bearer YOUR_API_KEY
?api_key=YOUR_API_KEY
Atsakymo formatas
JSON (Content-Type: application/json)
openapi-generator-cli kad automatiškai generuotų klientus 40+ kalbomis.
Accept-Encoding: gzip kiekvienai užklausai (8–12× mažesnių duomenų paketų), pernaudokite ETag atsakymo antraštė If-None-Match nuolatiniais pakartotais užklausomis (grąžina 304 Not Modified be kūno), ir perduoti ?limit=50 vienjungčių galvos taškų, tokių kaip /v1/announcements/usd/inflation arba /v1/predictions/usd/inflation kai jums reikia tik naujausių eilučių. Peržiūrėti pilną nuorodą →
core_pce egzistuoja USD, bet ne kiekvienai valiutai. Išvardykite kiekvieną slug, kurį palaiko valiuta su GET /v1/data_catalogue/{currency}, pavyzdžiui /v1/data_catalogue/usd. 404 su error_code: NO_DATA_IN_REQUESTED_WINDOW reiškia, kad slugas yra galiojantis ir tik prašomas datos langas yra tuščias — išplėsti start_date/end_date vietoj to keičiant URL.
data_quality objektas. Backtestams ir institucinei ataskaitomybei peržiūrėkite point_in_time_safe, has_announcement_datetime, source_type, ir is_stale.
Pirmasis API skambutis
Greita užklausa
Pradėkite nuo gyvos paskelbimo galūnės. Autentifikavimas išlieka api_key užklausos parametras tiesioginiam naršyklės ir skripto testavimui.
curl "https://api.fxmacrodata.com/v1/announcements/eur/inflation?api_key=YOUR_API_KEY"
Python užklausos
Kopijuojamos Python API užklausos
Naudokite šiuos tiesioginius REST pavyzdžius, kai norite grynojo API užklausos, o ne SDK apvalgio. Pakeiskite YOUR_API_KEY tik apsaugotose maršrutuose.
USD infliacijos rinkos konsensusas
Konsensuso, apklausų, centrinio banko, IMF ir FXMacroData prognozės, sujungtos su įvykusiais paskelbimais.
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 infliacija su žinomais laiko žymėmis
Vieši USD infliacijos įrašai tiksliesiems laiko taškų atgaliniams testavimams.
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 spot istorija
Kasdienė FX kainų istorija porų grafikai, modeliams ir išleidimo sluoksniams.
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 politikos kainos istorija
Centrinio banko sprendimų istorija su išleidimo laiku tyrimams be ateities duomenų naudojimo.
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 būsimų išleidimų tvarkaraštis
Artimieji makro įvykiai su UTC, rinkos vietos ir prašomų laiko zonas laukais pranešimų planavimui, modelių atnaujinimui ir prekybos peržiūrai.
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))
Aukso prekių kainos
Oficialios brangiųjų metalų laiko serijos su dieninėmis vertėmis ir pokyčių laukais.
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
Įsidiekite oficialųjį fxmacrodata paketas iš PyPI. Sinchronizuojami ir asinkronizuojami klientai, „pandas“ formatą palaikantis išvestis.
Naudojant 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")
Naudojant REST API tiesiogiai
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])
Asinchronus klientas
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())
Prognozės & Prognozės
Tai /v1/predictions/{currency}/{indicator} endpoint paviršiai prognozuoja duomenis iš rinkos konsensuso apklausų, centrinio banko prognozių, IMF World Economic Outlook ir profesionalių prognozavimo specialistų apklausų. Prognozės prašomos konkrečiai valiutai ir rodiklio, pavyzdžiui, https://api.fxmacrodata.com/v1/predictions/usd/inflation; tik valiutų prognozių užklausos nėra palaikomos. Kiekviena prognozė yra susijusi su savo paskelbimu per announcement_id, kad galėtumėte sujungti prognozes su tiksliais stebėjimais.
prediction_type="fxmacrodata" yra FXMacroData sugeneruota numatoma vertė; tikras surinktas konsensusas yra pažymėtas kaip market_consensus. Prognozės prieinamumas skiriasi priklausomai nuo išleidimo — patikrinkite apimties matrice. Norint atlikti tyrimus be ateities duomenų nutekėjimo, sekite point-in-time backtesting vadovas.
Python — atsiimti prognozes ir sujungti su tikraisiais duomenimis
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 — ištraukti prognozes pagal tipą
# 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"
Prognozės tipų nuoroda
| prognozės_tipas | Aprašymas |
|---|---|
| market_consensus | Surinktas rinkos arba ekonomistų įvykių konsensusas, jei jis yra prieinamas |
| market_prediction | Profesionalaus prognozatoria taikslinė prognozė |
| model_nowcast | Centrinio banko arba rezervų banko modelio prognozė (nowcast) |
| tiriamasis tyrimas | Centrinio banko profesionalių prognozavimo specialistų apklausa (pvz., ECB SPF) |
| central_bank_forecast | Oficialus centrinio banko prognozės (pvz., RBNZ MPS, BoC MPR) |
| central_bank_projection | Oficiali centrinio banko prognozė |
| imf_weo | IMF World Economic Outlook prognozė |
| fxmacrodata | FXMacroData sugeneruota prognozė, apjunganti centrinio banko vadovavimą, apklausas ir istorinius tendencijas |
cURL
Instaliuoti nereikia. Veikia iš bet kokio terminalo.
# 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
Veikia Node.js (18+), Deno, Bun ir šiuolaikinėse naršyklėse su Fetch API.
Oficialus npm klientas
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);
Naudojant Fetch tiesiogiai
// 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());
Eiti
Jokių išorinių paketų nereikia — standartinė biblioteka viską tvarko.
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
Reikalinga httr ir 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
Naudojimai java.net.http (Java 11+). Jokių išorinių bibliotekų nereikia.
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
Naudojimai 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
Naudoja įprastą webread funkcija.
% 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);
Generuoti tipizuotą klientą bet kokia kalba
FXMacroData API skelbia pilną OpenAPI 3.1 specifikacija. Naudokite jį su openapi-generator kad sugeneruotų visiškai tipizuotus klientus Kotlin, Swift, Rust, Dart, Ruby, PHP ir 40+ kitoms kalbomis.
# 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
Pasiruošę kurti?
USD galutiniai taškai palaiko be rakto naudojimą iki 100 užklausų/dieną. Prenumeruokite dėl didesnių limitų ir daugiaskaitų prieigos.