Quickstart
Anza katika lugha yoyote
FXMacroData API ni JSON REST API ya kawaida kwa matumizi ya upande wa seva. Lugha yoyote yenye msaada wa HTTP inafanya kazi. Data ya matangazo ya USD, kalenda ya utoaji ya USD, na katalogi ya data ni bure bila ufunguo: siku 90 za hivi karibuni, kwa kuchelewa kwa utoaji wa dakika 15, hadi maombi 100 kwa siku. Thamani za utabiri (USD ikijumuishwa), kila sarafu nyingine, utoaji wa wakati halisi, na historia kamili zinahitaji ufunguo wa API, unaotumwa katika X-API-Key header. Ona nini ni bure
URL ya Msingi
https://api.fxmacrodata.com
Uthibitishaji
X-API-Key: YOUR_API_KEY
Authorization: Bearer YOUR_API_KEY
Ya zamani ?api_key= parameta ya hoja imepitwa na wakati: funguo katika URL huishia kwenye kumbukumbu.
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 →
limit inakubali hadi 100. Ili kukusanya mipas kamili, rudia ombi kwa offset wekwa kuwa pagination.next_offset until pagination.has_more is false. Angalia mzunguko wa Python ↓
fetch() kutoka ukurasa wa wavuti kumezuiwa na kivinjari. Ita FXMacroData kutoka kwenye backend yako na uweke ufunguo wa API nje ya msimbo wa upande wa mteja.
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. 200 ambayo data safu iko wazi na ambayo hubeba no_data.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 au kujaribu tena. 404 inamaanisha jina la sarafu au kiashiria ni makosa.
data_quality kitu. Kwa backtests na ripoti za kitaasisi, kagua point_in_time_safe, has_announcement_datetime, source_type, na is_stale. point_in_time_safe ni si kweli kila wakati mstari wowote katika dirisha unapoambatana na muda wa uchapishaji unaotokana na ucheleweshaji wa utoaji uliopimwa wa mfululizo, hivyo angalia assumed_release_time_count na kwa kila mstari release_time_assumed weka alama kabla ya kutibu kosa kama lisiloweza kutumika.
Ufikiaji wa Soko
Tumia FXMacroData kupitia RapidAPI
RapidAPI ni njia ya hiari ya soko kwa ajili ya FXMacroData REST API. FXMacroData hutoa data; RapidAPI husimamia usajili wako wa soko, funguo ya API, kiasi cha maombi na malipo. Hakuna akaunti ya FXMacroData au funguo ya ziada inayohitajika kwa maombi kupitia njia hii.
- Fungua orodha rasmi ya FXMacroData na uchague mpango. Angalia sehemu ya bei kwa coverage ya sasa, kiasi na mipaka ya viwango.
- Nakili funguo yako ya RapidAPI kutoka kwenye endpoint playground na uihifadhi katika mazingira yako ya server kama
RAPIDAPI_KEY. - Tuma maombi kwa
https://fxmacrodata1.p.rapidapi.comukiwa na vichwa vyote vya RapidAPI, kama inavyoonyeshwa hapa chini.
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"
Ufikiaji wa mwisho wa Marketplace
Orodha inajumuisha matangazo, kalenda za matoleo, katalogi ya data, viwango vya FX vya kila siku, nafasi ya COT, habari za benki kuu, vipindi vya soko na ukaguzi wa afya. Ufikiaji wa sarafu na historia unategemea mpango wako wa RapidAPI. Tumia katalogi kupata slug za viashiria zinazoungwa mkono.
Ufikiaji wa moja kwa moja wa FXMacroData
Mifano mingine kwenye ukurasa huu hutumia api.fxmacrodata.com na FXMacroData X-API-Key wakati inapohitajika. Funguo na usajili ni tofauti kati ya chaneli. Usajili wa RapidAPI unahusu mwisho wa REST ulioorodheshwa; usajili wa tovuti, MCP, utabiri, utiririshaji na webhooks ni ofa tofauti.
Weka funguo yako mbali na kodi ya kivinjari na hifadhi za umma. Kwa seti za matokeo ndefu zaidi, fuata pagination.next_offset until pagination.has_more ni si. Usitume kamwe funguo yako ya API kwa msaada.
Wito wa kwanza wa API
Ombi la Haraka
Kipande cha kwanza hufanya kazi kama kilivyo: hakuna funguo inayohitajika kwa data ya USD, inayotolewa 15 dakika baada ya toleo. Ongeza X-API-Key kwa sarafu zote za 22 na utoaji wa wakati halisi, uliotumwa kutoka kwa server, script, au 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"
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"
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 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"
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))
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"
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))
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",
}
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))
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"
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
Sakinisha rasmi fxmacrodata kifurushi kutoka PyPI (1.2.x). Wateja wa sync na async hurudisha kamusi za JSON za kawaida ambazo hupakia moja kwa moja kwenye pandas. Client() bila funguo husoma kiwango cha bure cha USD; pitisha api_key kwa kila sarafu nyingine na uwasilishaji wa wakati halisi.
Kutumia 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")
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])
Kupitia kurasa za historia kamili
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")
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.
/v1/predictions/coverage/{currency}. Ufunguo wa majaribio au wa kulipia unarudisha thamani za utabiri.
Python — chukua utabiri na uunganishe na halisi
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 — chukua makadirio kwa aina
# 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"
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 — 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
Inafanya kazi upande wa seva katika Node.js (18+), Deno, na Bun. API haitumi vichwa vya CORS, hivyo iite kutoka kwenye backend yako badala ya kutoka kwenye msimbo wa kivinjari.
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 = 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());
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", add_headers(`X-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, 'HeaderFields', {'X-API-Key', 'YOUR_API_KEY'}); url = 'https://api.fxmacrodata.com/v1/announcements/eur/policy_rate'; 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?
Data ya utoaji wa USD inafanya kazi bila ufunguo, hadi maombi 100/siku na dakika 15 nyuma ya uchapishaji. Sajili kwa utoaji wa wakati halisi, thamani za utabiri, historia kamili, mipaka ya juu, na kila sarafu.