Vinnige begin
Begin in enige taal
Die FXMacroData API is 'n standaard JSON REST API vir bediener-kant gebruik. Enige taal met HTTP ondersteuning werk. USD aankondigingsdata, die USD vrystellingskalender, en die datakatalogus is gratis sonder 'n sleutel: die mees onlangse 90 dae, met 'n 15-minuut vrystellingsvertraging, tot 100 versoeke per dag. Voorspellingswaardes (USD ingesluit), elke ander geldeenheid, intydse vrystellings, en volledige geskiedenis benodig 'n API sleutel, gestuur in die X-API-Key header. Sien wat gratis is
Basis URL
https://api.fxmacrodata.com
Outentisering
X-API-Sleutel: YOUR_API_KEY
Outorisasie: Bearer YOUR_API_KEY
Die nalatenskap ?api_key= navraagparameter is verouderd: sleutels in URL's beland in logs.
Antwoordformaat
JSON (Content-Type: application/json)
openapi-generator-cli om kliënte outomaties te genereer in 40+ tale.
Accept-Encoding: gzip op elke versoek (8–12× kleiner payloads), hergebruik die ETag reaksie-kop in If-None-Match op herhalende opvraes (lewer 304 Not Modified sonder 'n liggaam), en gee ?limit=50 op enkel-aanwyser endepunte soos /v1/announcements/usd/inflation of /v1/predictions/usd/inflation wanneer jy slegs onlangse rye benodig. Sien die volledige verwysing →
limit aanvaar tot 100. Om 'n volledige reeks te versamel, herhaal die versoek met offset gestel op pagination.next_offset until pagination.has_more is false. Sien die Python lus ↓
fetch() vanaf 'n webblad word deur die blaaier geblokkeer. Roep FXMacroData vanaf jou agterkant en hou die API sleutel uit kliëntkant-kode.
core_pce bestaan vir USD maar nie vir elke geldeenheid nie. Lys elke slug wat 'n geldeenheid ondersteun met GET /v1/data_catalogue/{currency}, byvoorbeeld /v1/data_catalogue/usd. 'n 200 wie se data skikking is leeg en wat dra no_data.error_code: NO_DATA_IN_REQUESTED_WINDOW beteken die slug is geldig en slegs die versoekte datavenster is leeg — verbreed start_date/end_date eerder as om die URL te verander of te herhaal. 'n 404 beteken die geldeenheid- of indikator-slug is verkeerd.
data_quality objek. Vir backtests en institusionele verslagdoening, ondersoek point_in_time_safe, has_announcement_datetime, source_type, en is_stale. point_in_time_safe is vals wanneer enige ry in die venster 'n publikasietyd dra wat afgelei is van die reeks se gemeate vrystellingsvertraging, so gaan na assumed_release_time_count en die per-ry release_time_assumed merk voordat 'n foutiewe as onbruikbaar behandel word.
Markplek toegang
Gebruik FXMacroData deur RapidAPI
RapidAPI is 'n opsionele markplek-kanaal vir die FXMacroData REST API. FXMacroData verskaf die data; RapidAPI bestuur jou markplek-intekening, API sleutel, versoek-kwota en fakturering. Geen aparte FXMacroData rekening of sleutel word benodig vir versoeke deur hierdie kanaal nie.
- Maak die amptelike FXMacroData lysing en kies 'n plan. Gaan die prystab na vir huidige dekking, kwotas en koerslimiete.
- Kopieer jou RapidAPI sleutel vanaf die eindpunt-speelgrond en stoor dit in jou server-omgewing as
RAPIDAPI_KEY. - Stuur versoeke na
https://fxmacrodata1.p.rapidapi.commet beide RapidAPI headers, soos hieronder getoon.
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"
Markplek-endetpunt dekking
Die lysing sluit aankondigings, vrystellingskalenders, die datakatalogus, daaglikse FX koerse, COT posisionering, sentrale bank-nuus, marksessies en 'n gesondheidscheck in. Valuta- en geskiedenistoegang hang af van u RapidAPI plan. Gebruik die katalogus om ondersteunde aanwyser-slugs te vind.
Direkte FXMacroData toegang
Die ander voorbeelde op hierdie bladsy gebruik api.fxmacrodata.com en 'n FXMacroData X-API-Key wanneer vereis. Sleutels en intekenings is apart tussen kanale. 'n RapidAPI intekening dek die gelyste REST endepunte; webwerf-intekenings, MCP, voorspellings, stroming en webhooks is aparte aanbiedinge.
Hou jou sleutel uit blaaierkode en openbare repositories. Vir langer resultaatstelle, volg pagination.next_offset until pagination.has_more is vals. Moet nooit jou API sleutel na ondersteuning stuur nie.
Eerste API oproep
Vinnige Versoek
Die eerste snipsel hardloop soos is: geen sleutel nodig vir USD data nie, verskaf 15 minute na vrystelling. Voeg X-API-Key vir alle 22 geldeenhede en intydse aflewering, gestuur vanaf 'n server, skrip, of notebook.
# 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 versoeke
Kopieerbare Python API versoeke
Gebruik hierdie direkte REST voorbeelde wanneer u die rou API versoek in plaas van 'n SDK omhulsel wil hê. Vervang YOUR_API_KEY slegs op beskermde roetes.
USD inflasie markkonsensus
Konsensus, opname, sentrale-bank, IMF, en FXMacroData-voorspellings gekoppel aan gerealiseerde aankondigings.
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 inflasie met bekende-ten-tydse stempels
Openbare USD inflasie-rekords vir punt-in-tyd terugtoetse.
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 plekgeskiedenis
Daaglikse FX prysgeskiedenis vir paar-grafieke, modelle, en vrystellings-oorleggings.
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 beleidskoers-geskiedenis
Sentrale bank besluitnemingsgeskiedenis met vrystellingstydsberekening vir geen-vooruitkyk navorsing.
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 komende vrystellingskedule
Komende makro-gebeurtenisse met UTC, mark-plaaslike, en versoekte-tydsone velde vir beplanning van waarskuwings, modelverfrissings en handelshersienings.
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))
Goud-grondstofpryse
Amptelike edelmetaal tydreeks met daaglikse waardes en verandering-velde.
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
Installeer die amptelike fxmacrodata pakket vanaf PyPI (1.2.x). Sinchroniese en asinkroniese kliënte gee eenvoudige JSON dictionaries wat direk in pandas laai. Client() sonder 'n sleutel lees die gratis USD vlak; stuur api_key vir elke ander valuta en intydse aflewering.
Gebruik van die 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")
Deur die REST API direk te gebruik
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])
Blader deur volledige geskiedenis
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")
Asinchroniese kliënt
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())
Voorspellings & Voorspellings
Die /v1/predictions/{currency}/{indicator} endetpunte voorspel data vanaf markkonsensus-opnames, sentrale bank-projeksies, IMF Wêreld Ekonomiese Vooruitsig, en professionele-voorspeller opnames. Voorspellings word versoek vir 'n spesifieke valuta en aanwyser, soos https://api.fxmacrodata.com/v1/predictions/usd/inflation; slegs-geldeenheid voorspellingsversoeke word nie ondersteun nie. Elke voorspelling is gekoppel aan sy aankondiging via announcement_id, sodat u voorspellings met gerealiseerde waarnemings kan verbind.
prediction_type="fxmacrodata" is 'n FXMacroData-gegenereerde skatting; 'n ware saamgestelde konsensus word gemerk as market_consensus. Voorspellingsbeskikbaarheid verskil per vrystelling — kontroleer die dekkingmatriks. Vir navorsing sonder vooruitsig, volg die punt-in-tyd terugtoetsingsgids.
/v1/predictions/coverage/{currency}. 'n Proef- of betaalde sleutel lewer die voorspellingswaardes.
Python — haal voorspellings op en voeg saam met werklikes
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 — haal voorspellings volgens tipe op
# 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"
Voorspellingstipes verwysing
| prediction_type | Beskrywing |
|---|---|
| market_consensus | Saamgestelde mark- of ekonomist-geleentheidkonsensus, waar beskikbaar |
| market_prediction | Professionele-voorspeller puntvoorspelling |
| model_nowcast | Sentrale-bank of reserwebank-model nou-voorspelling |
| opname | Sentrale bank-opname van professionele voorspellers (bv. ECB SPF) |
| central_bank_forecast | Amptelike sentrale bank-projeksie (bv. RBNZ MPS, BoC MPR) |
| central_bank_projection | Amptelike sentrale bank-projeksie |
| imf_weo | IMF Wêreld Ekonomiese Vooruitsig projeksie |
| fxmacrodata | FXMacroData-gegenereerde voorspelling wat sentrale bank-riglyne, opnames en historiese tendense kombineer |
cURL
Geen installasie nodig nie. Werk vanaf enige terminal.
# 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
Werk bedienerkant in Node.js (18+), Deno, en Bun. Die API stuur nie CORS opskrifte nie, so roep dit vanaf jou agterkant eerder as vanaf blaaierkode.
Amptelike npm kliënt
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);
Deur Fetch direk te gebruik
// 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());
Gaan
Geen eksterne pakkette nodig nie — die standaardbiblioteek hanteer alles.
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
Vereis httr en 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
Gebruike java.net.http (Java 11+). Geen eksterne biblioteke nodig nie.
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
Gebruike 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
Gebruik die ingeboude webread funksie.
% 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);
Genereer 'n getipeerde kliënt vir enige taal
Die FXMacroData API publiseer 'n volledige OpenAPI 3.1 spesifikasie. Gebruik dit met openapi-generator om volledig getipeerde kliënte te produseer vir Kotlin, Swift, Rust, Dart, Ruby, PHP, en 40+ ander tale.
# 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
Gereed om te bou?
USD vrystellingsdata werk sonder 'n sleutel, tot 100 versoeke/dag en 15 minute agter publikasie. Teken in vir intydse vrystellings, voorspellingswaardes, volledige geskiedenis, hoër limiete, en elke geldeenheid.