Quickstart
Începeți în orice limbaj
FXMacroData API este un JSON REST API standard pentru utilizare pe partea de server. Orice limbaj cu suport HTTP funcționează. Datele de anunțuri USD, calendarul de lansări USD și catalogul de date sunt gratuite fără o cheie: cele mai recente 90 zile, cu o întârziere de lansare de 15 minute, până la 100 solicitări pe zi. Valorile de prognoză (USD incluse), orice altă valută, lansările în timp real și istoricul complet necesită o cheie API, trimisă în X-API-Key header. Vezi ce este gratuit
Bază URL
https://api.fxmacrodata.com
Autentificare
X-API-Cheie: YOUR_API_KEY
Authorization: Bearer YOUR_API_KEY
Celui legacy ?api_key= parametrul de interogare este învechit: cheile din URL-uri ajung în jurnale.
Format răspuns
JSON (Content-Type: application/json)
openapi-generator-cli pentru a genera automat clienți în limbaje 40+.
Accept-Encoding: gzip la fiecare cerere (8–12× payload-uri mai mici), reutilizați ETag antetul răspunsului în If-None-Match la sondajele repetate (returnează 304 Not Modified fără corp), și transmite ?limit=50 pe endpoint-uri de indicator unic precum /v1/announcements/usd/inflation sau /v1/predictions/usd/inflation când aveți nevoie doar de rândurile recente. Vezi referința completă →
limit acceptă până la 100. Pentru a colecta un interval complet, repetați cererea cu offset setat la pagination.next_offset until pagination.has_more is false. Consultați bucla Python ↓
fetch() de pe o pagină web este blocat de browser. Apelați FXMacroData din backend-ul dumneavoastră și păstrați cheia API în afara codului de client
core_pce există pentru USD, dar nu pentru fiecare valută. Listați fiecare slug pe care o valută îl suportă cu GET /v1/data_catalogue/{currency}, de exemplu /v1/data_catalogue/usd. Un 200 al cărui data tabloul este gol și care transportă no_data.error_code: NO_DATA_IN_REQUESTED_WINDOW înseamnă că slug-ul este valid și doar fereastra de date solicitată este goală — lărgiți start_date/end_date în loc să schimbați URL sau să reîncercați. Un 404 înseamnă că slug-ul valutei sau al indicatorului este greșit.
data_quality obiect. Pentru backtest-uri și raportare instituțională, inspectați point_in_time_safe, has_announcement_datetime, source_type, și is_stale. point_in_time_safe este false ori de câte ori orice rând din fereastră poartă o oră de publicare derivată din întârzierea de lansare măsurată a seriei, așa că verificați assumed_release_time_count și cel pe rând release_time_assumed marchează înainte de a trata un fals ca fiind inutilizabil.
Acces la Marketplace
Utilizați FXMacroData prin RapidAPI
RapidAPI este un canal de piață opțional pentru FXMacroData REST API. FXMacroData furnizează datele; RapidAPI gestionează abonamentul tău de piață, cheia API, cota de cereri și facturarea. Nu este nevoie de un cont FXMacroData sau o cheie separată pentru cererile prin acest canal.
- Deschideți listare oficială FXMacroData și alege un plan. Verifică tab-ul de prețuri pentru acoperirea actuală, cotele și limitele de rată.
- Copiază cheia ta RapidAPI din playground-ul endpoint-ului și stochează-o în mediul tău de server ca
RAPIDAPI_KEY. - Trimiteți cereri către
https://fxmacrodata1.p.rapidapi.comcu ambele anteturi RapidAPI, așa cum este arătat mai jos.
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"
Acoperirea endpoint-urilor Marketplace
Lista include anunțuri, calendare de lansare, catalogul de date, rate FX zilnice, poziționare COT, știri de la banca centrală, sesiuni de piață și o verificare a stării de sănătate. Accesul la monedă și istoric depinde de planul dumneavoastră RapidAPI. Utilizați catalogul pentru a găsi slug-urile de indicatori suportate.
Acces direct FXMacroData
Celelalte exemple de pe această pagină folosesc api.fxmacrodata.com și un FXMacroData X-API-Key când este necesar. Cheile și abonamentele sunt separate între canale. Un abonament RapidAPI acoperă endpoint-urile REST listate; abonamentele de website, MCP, prognozele, streaming-ul și webhooks-urile sunt oferte separate.
Păstrați cheia dvs. departe de codul browserului și de depozitele publice. Pentru seturi de rezultate mai lungi, urmați pagination.next_offset until pagination.has_more este false. Nu trimiteți niciodată cheia dvs. API către suport.
Primul apel API
Cerere Rapidă
Primul fragment rulează așa cum este: nu este nevoie de o cheie pentru datele USD, livrate 15 minute după lansare. Adăugați X-API-Key pentru toate monedele 22 și livrare în timp real, trimisă dintr-un server, script sau 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"
cereri Python
Cereri Python API copiabile
Utilizați aceste exemple directe REST atunci când doriți cererea brută API în loc de un wrapper SDK. Înlocuiți YOUR_API_KEY doar pe rutele protejate.
consensul pieței de inflație USD
Consens, sondaje, bănci centrale, IMF și prognoze FXMacroData unite cu anunțurile realizate.
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))
inflația USD cu marcaje temporale known-at
Înregistrări publice de inflație USD pentru backtest-uri point-in-time.
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))
istoric spot EUR/USD FX
Istoricul zilnic al prețurilor FX pentru grafice de perechi, modele și suprapuneri de lansare.
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))
istoricul ratei politicii monetare AUD
Istoricul deciziilor băncilor centrale cu momentul publicării pentru cercetare fără lookahead.
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))
programul viitoarelor publicații JPY
Evenimente macro viitoare cu câmpuri UTC, locale de piață și fusul orar solicitat pentru planificarea alertelor, actualizarea modelelor și revizuirile de trading.
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))
Prețuri mărfuri aur
Serii temporale oficiale pentru metale prețioase cu valori zilnice și câmpuri de modificare.
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
Instalează versiunea oficială fxmacrodata pachet din PyPI (1.2.x). Clienții sincroni și asincroni returnează dicționare JSON simple care se încarcă direct în pandas. Client() fără cheie citește nivelul gratuit USD; transmiteți api_key pentru orice altă monedă și livrare în timp real.
Utilizarea 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")
Utilizarea directă a 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])
Paginați prin istoricul complet
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")
Client 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())
Predicții & Prognoze
Cel /v1/predictions/{currency}/{indicator} endpoint-ul furnizează date de prognoză din sondajele de consens de piață, proiecțiile băncii centrale, IMF World Economic Outlook și sondajele de prognoză profesionale. Predicțiile sunt solicitate pentru o valută și un indicator specific, cum ar fi https://api.fxmacrodata.com/v1/predictions/usd/inflation; cererile de predicție doar pentru valută nu sunt suportate. Fiecare predicție este legată de anunțul său prin announcement_id, astfel încât să puteți uni prognozele cu observațiile realizate.
prediction_type="fxmacrodata" este o estimare generată de FXMacroData; un consens compilat real este etichetat market_consensus. Disponibilitatea prognozelor variază în funcție de publicare — verificați matrice de acoperire. Pentru cercetare fără look-ahead, urmați ghid de backtesting point-in-time.
/v1/predictions/coverage/{currency}. O cheie de probă sau plătită returnează valorile de prognoză.
Python — preia prognozele și unește-le cu valorile reale
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 — preluarea predicțiilor după 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"
Referință tipuri de predicții
| prediction_type | Descriere |
|---|---|
| market_consensus | Consensul compilat al pieței sau al economiștilor, unde este disponibil |
| market_prediction | Predicție punctuală de prognozator profesionist |
| model_nowcast | Nowcast model bancă centrală sau bancă de rezervă |
| sondaj | Sondaj al băncii centrale asupra prognozatorilor profesioniști (ex. ECB SPF) |
| central_bank_forecast | Proiecție oficială a băncii centrale (ex. RBNZ MPS, BoC MPR) |
| central_bank_projection | Proiecție oficială a băncii centrale |
| imf_weo | proiecția IMF World Economic Outlook |
| fxmacrodata | predicție generată de FXMacroData care combină orientările băncii centrale, sondajele și tendințele istorice |
cURL
Nu este necesară instalarea. Funcționează din orice 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
Funcționează server-side în Node.js (18+), Deno și Bun. API nu trimite headere CORS, deci apelați-l din backend-ul dumneavoastră în loc de codul de browser
Client npm oficial
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);
Utilizarea Fetch direct
// 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());
Go
Nu sunt necesare pachete externe — biblioteca standard gestionează totul.
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
Necesită httr și 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
Utilizări java.net.http (Java 11+). Nu sunt necesare biblioteci externe.
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
Utilizări 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
Utilizează webread funcție.
% 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);
Generați un client tipizat pentru orice limbaj
FXMacroData API publică un Specificația OpenAPI 3.1. Utilizați-l cu openapi-generator pentru a produce clienți complet tipizați pentru Kotlin, Swift, Rust, Dart, Ruby, PHP și alte 40+ limbaje.
# 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
Pregătit să construiești?
Datele de lansare USD funcționează fără o cheie, până la 100 solicitări/zi și cu 15 minute în urma publicării. Abonați-vă pentru lansări în timp real, valori de prognoză, istoric complet, limite mai mari și orice valută.