Hitri začetek
Začnite v katerem koli jeziku
FXMacroData API je standardni JSON REST API za uporabo na strani strežnika. Deluje vsak jezik s podporo za HTTP. Podatki o napovedih USD, koledar objav USD in katalog podatkov so brezplačni brez ključa: zadnjih 90 dni, z zamikom objave 15 minut, do 100 zahtevkov na dan. Napovedne vrednosti (vključno z USD), vse ostale valute, objave v realnem času in celotna zgodovina zahtevajo API ključ, poslan v X-API-Key header. Preveri, kaj je brezplačno
Osnovni URL
https://api.fxmacrodata.com
Avtentikacija
X-API-Ključ: YOUR_API_KEY
Avtorizacija: Bearer YOUR_API_KEY
Zastarela ?api_key= parameter poizvedbe je zastarel: ključi v URL-jih končajo v dnevnikih.
Format odgovora
JSON (Content-Type: application/json)
openapi-generator-cli za samodejno generiranje klijentov v 40+ jezikih.
Accept-Encoding: gzip ob vsaki zahtevi (8–12× manjše naloge), ponovno uporabite ETag zaglavje odziva v If-None-Match pri ponovljenih anketah (vrne 304 Not Modified brez telesa), in pošljite ?limit=50 na končališčah za posamezne indikatorje, kot so /v1/announcements/usd/inflation ali /v1/predictions/usd/inflation ko potrebujete le nedavne vrstice. Poglejte celotno referenco →
limit sprejme do 100. Za zbiranje celotnega razpona ponovite zahtevo z offset nastavljeno na pagination.next_offset until pagination.has_more is false. Glejte Python zanko ↓
fetch() s spletne strani je blokirano s strani brskalnika. Pokličite FXMacroData iz vašega backend-a in ključ API hranite zunaj kode na strani istemlka.
core_pce obstaja za USD, vendar ne za vsako valuto. Na seznamu je vsak slug, ki ga valuta podpira, s GET /v1/data_catalogue/{currency}, na primer /v1/data_catalogue/usd. 200, katerega data niz je prazna in katera nosi no_data.error_code: NO_DATA_IN_REQUESTED_WINDOW pomeni, da je slug veljaven in je le zahtevano časovno okno prazno — razširiti start_date/end_date namesto spreminjanja URL ali ponovnega poskusa. 404 pomeni, da je oznaka valute ali indikatorja napačna.
data_quality objekt. Za backteste in institucionalno poročanje preverite point_in_time_safe, has_announcement_datetime, source_type, in is_stale. point_in_time_safe je netačno, kadar katera koli vrstica v oknu vsebuje čas objave, ki izhaja iz izmerjenega zamude objave serije, zato preverite assumed_release_time_count in po vrstici release_time_assumed oznaka pred obravnavanjem napačne kot neuporabne.
Dostop do tržnice
Uporabi FXMacroData skozi RapidAPI
RapidAPI je neobvezljiv tržni kanal za FXMacroData REST API. FXMacroData zagotavlja podatke; RapidAPI upravlja vašo naročnino na trgu, API ključ, kvoto zahtev in obračunvanje. Za zahteve prek tega kanala ni potreben ločen FXMacroData račun ali ključ.
- Odpri uradni seznam FXMacroData in izberite načrt. Preverite zavihek cenikov za trenutno pokritost, kvote in omejitve stopnje.
- Kopirajte svoj RapidAPI ključ iz igrišča končališča in ga shranite v okolje svojega strežnika kot
RAPIDAPI_KEY. - Pošlji zahteve na
https://fxmacrodata1.p.rapidapi.comz obema RapidAPI glavami, kot je prikazano spodaj.
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"
Pokritost končališč tržnice
Seznam vključuje objave, kalendarje izdaj, katalog podatkov, dnevne FX tečaje, COT pozicioniranje, novice centralnih bank, tržne seje in preverjanje stanja. Dostop do valut in zgodovine je odvisen od vašega RapidAPI načrta. Uporabite katalog za iskanje podporanih oznak indikatorjev.
Neposreden dostop do FXMacroData
Drugi primeri na tej strani uporabljajo api.fxmacrodata.com in FXMacroData X-API-Key ko je to zahtevano. Ključi in naročnine so ločeni med kanali. Naročnina RapidAPI pokriva navedene REST končne točke; naročnine za spletna mesta, MCP, napovedi, pretakanje in spletne klicaje (webhooks) so ločene ponudbe.
Svoj ključ držite stran od kode brskalnika in javnih repozitorijev. Za daljše rezultate sledite pagination.next_offset until pagination.has_more je netačno. Svoj ključ API nikoli ne pošiljajte podpori.
Prvi API klic
Hitra zahteva
Prvi delček deluje takoj: za USD podatke ni potreben ključ, ti pa so na voljo 15 minut po objavi. Dodaj X-API-Key za vse valutne 22 in dostavo v realnem času, poslano s strežnika, skripti ali beležnico.
# 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 zahteve
Python API zahteve, ki se jih da kopirati
Uporabite te neposredne REST primere, ko želite rå API zahtevo namesto SDK obdラッピングa. Zamenjajte YOUR_API_KEY samo na zaščitenih potih.
USD tržni konsenzus o inflaciji
Konsenzus, ankete, centralne banke, IMF in napovedi FXMacroData, združeni z realiziranimi objavami.
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 inflacijo s poznanimi časovnimi žigi
Javni USD zapisi o inflaciji za backteste v določenem trenutku.
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 zgodovina spot tečajev
Dnevna zgodovina cen FX za wykres pare, modele in prekrivanja objav.
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 zgodovina politike obrestnih stop
Zgodovina odločitev centralnih bank z časovnim okvirjem objave za raziskave brez predogleda.
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 načrt prihodnjih objav
Prihajajoči makro dogodki s polji UTC, market-local in requested-timezone za načrtovanje opomnikov, osveževanje modelov in pregled trgovanja.
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))
Cene komoditeta zlato
Uradne časovne serije plemenitih kovin z dnevnimi vrednostmi in polji sprememb.
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
Namestite uradno fxmacrodata paket iz PyPI (1.2.x). Sinhroni in asinkronni klijenti vračajo navadna JSON slovarje, ki se neposredno naložijo v pandas. Client() brez ključa bere brezplačno stopnjo USD; pošljite api_key za vsako drugo valuto in dostavo v realnem času.
Uporaba 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")
Neposredno uporaba 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])
Listanje skozi celotno zgodovino
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")
Asinkronni klijent
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())
Predvidevanja & Napovedi
Ta /v1/predictions/{currency}/{indicator} endpoint površine napovedujejo podatke iz anket o tržnem konsenzusu, projekcij centralnih bank, IMF World Economic Outlook in anket profesionalnih napovedovalcev. Napovedi se zahtevajo za določeno valuto in indikator, kot je https://api.fxmacrodata.com/v1/predictions/usd/inflation; zahtevki za napovedi samo za valute niso podprti. Vsaka napoved je povezana s svojo objavo preko announcement_id, tako da lahko z združite napovedi z uresničeno opazovanjem.
prediction_type="fxmacrodata" je ocena, ki jo je ustvaril FXMacroData; pravi sestavljen konsenzus je označen kot market_consensus. Razpoložljivost napovedi je odvisna od izdaje — preverite matrica pokritja. Za raziskave brez napovednega gledanja, sledite vodnik za point-in-time backtesting.
/v1/predictions/coverage/{currency}. Preizkusni ali plačljivi ključ vrne napovedne vrednosti.
Python — pridobite napovedi in združite z dejanskimi podatki
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 — izvedite napovedi po tipu
# 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"
Referenca za vrste napovedi
| vrsta_napovedi | Opis |
|---|---|
| market_consensus | Zbirni konsenzus dogodkov na trgu ali ekonomistov, če je na voljo |
| market_prediction | Napoved strokovnega napovedovalca |
| model_nowcast | Nowcast model centralne banke ali rezervne banke |
| povprečje | Pregled centralne banke profesionalnih napovedovalcev (npr. ECB SPF) |
| central_bank_forecast | Uradna projekcija centralne banke (npr. RBNZ MPS, BoC MPR) |
| central_bank_projection | Uradna projekcija centralne banke |
| imf_weo | IMF World Economic Outlook projekcija |
| fxmacrodata | Napoved, ki jo je ustvaril FXMacroData, združuje smernice centralnih bank, ankete in zgodovinske trende |
cURL
Ni potrebne namestitve. Deluje iz vsakega terminala.
# 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
Deluje na strani strežnika v Node.js (18+), Deno in Bun. API ne pošilja CORS zaglavij, zato ga pokličite iz vašega backend-a namesto iz kode brskalnika.
Uradni npm klijent
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);
Neposredna uporaba 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());
Pojdi
Ni potrebni nobenih zunanjih paketov — standardna knjižnica naloži vse.
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
Zahteva httr in 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
Uporabe java.net.http (Java 11+). Ni potrebne nobene zunanje knjižice.
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
Uporabe 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
Uporablja vgrajeno webread funkcijo.
% 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);
Generirajte tipiziran klijent za kateri koli jezik
FXMacroData API objavlja celovito OpenAPI 3.1 specifikacija. Uporabite ga z openapi-generator da proizvedete popolnoma tipizirane klijente za Kotlin, Swift, Rust, Dart, Ruby, PHP in 40+ druge jezike.
# 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
Ste pripravljeni na gradnjo?
Podatki o objavah USD delujejo brez ključa, do 100 zahtevkov/dan in 15 minut za zamikom objave. Naročite se za objave v realnem času, napovedne vrednosti, celotno zgodovino, višje omejitve in vse valute.