Greitasis pradžia
Pradėkite naudoti bet kuria kalba
FXMacroData API yra standartinis JSON REST API naudojimui serverio pusėje. Tinka bet kuri kalba su HTTP palaikymu. USD pranešimų duomenys, USD išleidimo kalendorius ir duomenų katalogas yra nemokami be raktų: naujausi 90 dienos, su 15 minučių išleidimo vėlavimu, iki 100 užklausų per dieną. Prognozės reikšmės (įskaitant USD), visos kitos valiutos, realaus laiko išleidimai ir visa istorija reikalauja API rakto, siunčiamo per X-API-Key header. Žiūrėti, kas yra nemokamai
Bazinis URL
https://api.fxmacrodata.com
Autentifikavimas
X-API-Raktas: YOUR_API_KEY
Autorizacija: Bearer YOUR_API_KEY
Pasenęs ?api_key= užklausros parametras yra pasenęs: raktuose URL adresu patekia į žurnalus.
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ą →
limit priima iki 100. Norint surinkti visą diapazoną, pakartokite užklausą su offset nustatyta į pagination.next_offset until pagination.has_more is false. Žiūrėkite Python ciklą ↓
fetch() iš tinklalapio yra blokuojama naršyklės. Kvieskite FXMacroData iš savo galinio galo (backend) ir laikykite API raktą nuošaliai nuo kliento pusės kodo.
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. 200, kurio data masyvas yra tuščias ir kuris nešasi no_data.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 užuot keitę URL arba bandę dar kartą. 404 reiškia, kad valiutos arba rodiklio slaptažodis yra klaidingas.
data_quality objektas. Backtestams ir institucinei ataskaitomybei peržiūrėkite point_in_time_safe, has_announcement_datetime, source_type, ir is_stale. point_in_time_safe yra „false“, kai kurią lango eilutę lydi publikavimo laikas, gautas iš serijos matuojamo išleidimo vėlavimo, todėl patikrinkite assumed_release_time_count ir kiekvienos eilutės release_time_assumed žymėti prieš traktuojant klaidingą kaip nenaudotiną.
Pasiekiamumas Marketplace
Naudoti FXMacroData per RapidAPI
RapidAPI yra neprivalomas rinkos kanalas FXMacroData REST API. FXMacroData teikia duomenis; RapidAPI valdo jūsų rinkos prekybos prenumeratą, API raktą, užklausų kvotą ir mokėjimų išrašus. Nereikia atskiro FXMacroData paskyros ar rakto užklausoms per šį kanalą.
- Atidarykite oficialus FXMacroData sąrašas ir pasirinkite planą. Peržiūrėkite kainų skiltį, kad sužinotumėte apie esamą apimtis, kvotas ir greičio apribojimus.
- Nukopijuokite savo RapidAPI raktą iš galinio taško (endpoint) žaidimo aikštelės ir išsaugokite jį savo serverio aplinkoje kaip
RAPIDAPI_KEY. - Siųsti užklausas į
https://fxmacrodata1.p.rapidapi.comsu abiem RapidAPI antraštėmis, kaip parodyta žemiau.
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 galimybių apimtis
Sąrašas apima pranešimus, išleidimo kalendorius, duomenų katalogą, kasdienius FX kursus, COT pozicionavimą, centrinio banko naujienas, rinkos sesijas ir būklės patikrą. Prieiga prie valiutų ir istorijos priklauso nuo jūsų RapidAPI plano. Naudokite katalogą, kad rastumėte palaikomas rodiklių pavadinimus.
Tiesioginė FXMacroData prieiga
Kiti šioje puslapio pavyzdžiai naudoja api.fxmacrodata.com ir FXMacroData X-API-Key kai reikia. Raktai ir prenumeratos yra atskiri skirtingiems kanalams. RapidAPI prenumerata apima išvardytus REST galutinės taškai; svetainių prenumeratos, MCP, prognozės, srautavimas ir „webhooks“ yra atskiri pasiūlymai.
Saugokite savo raktą nuo naršyklės kodo ir viešųjų saugyklų. Ilgesniems rezultatų rinkiniams sekite pagination.next_offset until pagination.has_more yra klaidingas. Niekada nesiųskite savo API raksto palaikymui.
Pirmasis API skambutis
Greita užklausa
Pirmasis fragmentas veikia taip, kaip yra: USD duomenims rakto nereikia, pateikiami 15 minutes po išleidimo. Pridėti X-API-Key visoms 22 valiutoms ir realaus laiko pristatymui, siunčiamam iš serverio, skripto ar knygyno.
# 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 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"
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 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"
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 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"
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 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",
}
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))
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"
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
Įsidiekite oficialųjį fxmacrodata paketas iš PyPI (1.2.x). Sinchronizuojami ir asinchronizuojami klientai grąžina paprastus JSON žodynus, kurie iškart įkeliami į pandas. Client() be rakto skaitant nemokamą USD lygį; perduoti api_key kiekvienai kitai valiutai ir realaus laiko pristatymui.
Naudojant 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")
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])
Naršymas per visą istoriją
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")
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.
/v1/predictions/coverage/{currency}. Bandomasis arba apmokamas raktas grąžina prognozių reikšmes.
Python — atsiimti prognozes ir sujungti su tikraisiais duomenimis
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 — ištraukti prognozes pagal tipą
# 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"
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 — 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
Veikia serverio pusėje Node.js (18+), Deno ir Bun. API nesiunčia CORS antraščių, todėl kvieskite jį iš savo galinio galo, o ne iš naršyklės kodo.
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 = 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());
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", add_headers(`X-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, 'HeaderFields', {'X-API-Key', 'YOUR_API_KEY'}); url = 'https://api.fxmacrodata.com/v1/announcements/eur/policy_rate'; 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 išleidimo duomenys veikia be rakto, iki 100 užklausų/dieną ir 15 minučių vėliau nei publikacija. Prenumeruokite realaus laiko išleidimams, prognozių reikšmėms, visai istorijai, didesnėms limitams ir visoms valiutoms.