Quickstart
Anza katika lugha yoyote
FXMacroData API ni JSON ya kawaida ya REST API. Lugha yoyote yenye msaada wa HTTP inafanya kazi. Mwisho wa mfululizo wa muda wa freemium unapatikana kwa siku 90 za hivi karibuni bila ufunguo. Ongeza ufunguo wa API wa Mtu Binafsi ili kufungua historia kamili na familia za mwisho za kulipia.
URL ya Msingi
https://api.fxmacrodata.com
Uthibitishaji
X-API-Key: YOUR_API_KEY
Authorization: Bearer YOUR_API_KEY
?api_key=YOUR_API_KEY
Muundo wa jibu
JSON (Content-Type: application/json)
openapi-generator-cli ili kutengeneza wateja kiotomatiki katika 40+ lugha.
Accept-Encoding: gzip kwenye kila ombi (8–12× payload ndogo), tumia tena ETag kichwa cha habari cha majibu katika If-None-Match kwenye upitioaji wa mara kwa mara (inaturudisha 304 Not Modified bila mwili (body), na upitishie ?limit=50 kwenye endpoints za kiashiria kimoja kama vile /v1/announcements/usd/inflation au /v1/predictions/usd/inflation unapohitaji mistari ya hivi karibuni pekee. Angalia rejeleo kamili →
core_pce ipo kwa ajili ya USD lakini si kwa kila sarafu. Orodhesha kila slug ambayo sarafu inasaidia kwa GET /v1/data_catalogue/{currency}, kwa mfano /v1/data_catalogue/usd. 404 yenye error_code: NO_DATA_IN_REQUESTED_WINDOW inamaanisha kuwa slug ni halali na ni dirisha la tarehe lililoombiwa pekee ndilo tupu — panua start_date/end_date badala ya kubadilisha URL.
data_quality kitu. Kwa backtests na ripoti za kitaasisi, kagua point_in_time_safe, has_announcement_datetime, source_type, na is_stale.
Wito wa kwanza wa API
Ombi la Haraka
Anza na endpoint ya tangazo la moja kwa moja. Uthibitishaji unabaki katika api_key parameter ya hoja kwa ajili ya majaribio ya moja kwa moja ya kivinjari na skripti.
curl "https://api.fxmacrodata.com/v1/announcements/eur/inflation?api_key=YOUR_API_KEY"
Maombi ya Python
Maombi ya Python ya API yanayoweza kunakiliwa
Tumia mifano hii ya moja kwa moja ya REST unapotaka ombi ghafi la API badala ya kizuizi (wrapper) cha SDK. Badilisha YOUR_API_KEY kwenye njia zilizolindwa pekee.
makubaliano ya soko la mfumuko wa bei wa USD
Makubaliano, utafiti, benki kuu, IMF, na utabiri wa FXMacroData uliounganishwa na matangazo yaliyotekelezwa.
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 mfumuko wa bei na alama za muda zinazojulikana
Rekodi za mfumuko wa bei za USD za umma kwa ajili ya point-in-time backtests.
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))
historia ya EUR/USD FX spot
Historia ya bei ya FX ya kila siku kwa chati za jozi, mifano, na overlays za toleo.
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))
historia ya AUD policy-rate
Historia ya maamuzi ya Benki Kuu pamoja na muda wa utoleaji kwa utafiti usio na uoneaji wa mbeleni.
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))
Ratiba ya matoleo yanayokuja ya JPY
Matukio ya macro yanayokuja yenye nyanja za UTC, soko-lokal, na saa iliyoombwa kwa ajili ya kupanga arifa, kuhuisha mifano, na mapitio ya biashara.
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))
Bei za bidhaa ya Dhahabu
Mfululizo wa muda wa madini ya thamani rasmi wenye thamani za kila siku na nyanja za mabadiliko.
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
Sakinisha rasmi fxmacrodata kifurushi kutoka PyPI. Wateja wa sync na async, matokeo tayari kwa pandas.
Kutumia 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")
Ukitumia REST API moja kwa moja
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])
Mteja wa 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())
Utabiri & Utabiri
Ya /v1/predictions/{currency}/{indicator} endpoint inatoa data ya utabiri kutoka kwa tafiti za makubaliano ya soko, makadirio ya benki kuu, IMF World Economic Outlook, na tafiti za wataalamu wa utabiri. Utabiri unaombwa kwa sarafu na kiashiria maalum, kama vile https://api.fxmacrodata.com/v1/predictions/usd/inflation; maombi ya utabiri ya sarafu-pekee hayasaidiki. Kila utabiri umeunganishwa na tangazo lake kupitia announcement_id, ili uweze kuunganisha utabiri na uchunguzi uliotekelezwa.
prediction_type="fxmacrodata" ni makadirio yaliyozalishwa na FXMacroData; msimamo wa kweli uliokusanywa huwekwa alama kama market_consensus. Upatikanaji wa utabiri unategemea utoaji — kagua matrix ya coverage. Kwa utafiti usio na kuangalia mbele, fuata mwongozo wa backtesting wa wakati fulani.
Python — chukua utabiri na uunganishe na halisi
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 — chukua makadirio kwa aina
# 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"
Marejeleo ya aina za utabiri
| aina_ya_utabiri | Maelezo |
|---|---|
| market_consensus | Muhtasari wa mkusanyiko wa matukio ya soko au mwanabiashara, pale inapopatikana |
| market_prediction | Utabiri wa nukta wa mtaalamu-wa-utabiri |
| model_nowcast | Nowcast ya benki kuu au benki ya akiba |
| uchunguzi | Utafiti wa benki kuu wa watabiri wataalamu (k.m. ECB SPF) |
| central_bank_forecast | Makadirio rasmi ya benki kuu (k.m. RBNZ MPS, BoC MPR) |
| central_bank_projection | Makadirio rasmi ya benki kuu |
| imf_weo | Makadirio ya IMF World Economic Outlook |
| fxmacrodata | Utabiri uliotengenezwa na FXMacroData unaounganisha mwongozo wa benki kuu, tafiti, na mienendo ya kihistoria |
cURL
Hakuna usakinishaji unaohitajika. Inafanya kazi kutoka kwenye terminal yoyote.
# 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
Inafanya kazi katika Node.js (18+), Deno, Bun, na vivinjari vya kisasa vyenye Fetch API.
Mteja rasmi wa npm
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);
Kutumia Fetch moja kwa moja
// 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());
Nenda
Hakuna vifurushi vya nje vinavyohitajika — maktaba ya kawaida inashughulikia kila kitu.
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
Inahitajika httr na 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
Matumizi java.net.http (Java 11+). Hakuna maktaba za nje zinazohitajika.
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
Matumizi 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
Inatumia iliyojengwa ndani webread kazi.
% 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);
Tengeneza mteja wa aina yoyote kwa lugha yoyote
FXMacroData API huchapisha Maelezo ya OpenAPI 3.1. Itumie na openapi-generator ili kutengeneza wateja waliopangwa kikamilifu kwa ajili ya Kotlin, Swift, Rust, Dart, Ruby, PHP, na 40+ lugha nyingine.
# 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
Uko tayari kujenga?
Endpoints za USD zinaunga mkono tathmini bila funguo hadi maombi 100 kwa siku. Jiunge ili kupata mipaka ya juu na ufikiaji wa sarafu nyingi.