სწრაფი დაწყება
დაიწყეთ ნებისმიერ ენაზე
FXMacroData API არის სტანდარტული JSON REST API. ნებისმიერი ენა HTTP მხარდაჭერით იმუშავებს. Freemium დროითი მწკრივების endpoints ხელმისაწვდომია ბოლო 90 დღის მონაცემებისთვის გასაღების გარეშე. დაამატეთ ინდივიდუალური API გასაღები სრული ისტორიისა და ფასიანი endpoint-ების ოჯახების გამოსაყენებლად.
საბაზისო URL
https://api.fxmacrodata.com
ავთენტიფიკაცია
X-API-Key: YOUR_API_KEY
ავტორიზაცია: Bearer YOUR_API_KEY
?api_key=YOUR_API_KEY
პასუხის ფორმატი
JSON (Content-Type: application/json)
openapi-generator-cli იმისთვის, რომ ავტომატურად დაგენერირდეს კლიენტები 40+ ენებზე.
Accept-Encoding: gzip ყოველ მოთხოვნაზე (8–12× უფრო მცირე მონაცემების ნაკადები), გამოიყენეთ ETag პასუხის ჰედერი If-None-Match განმეორებად გამოკითხვებზე (დაბრუნებული 304 Not Modified body-ს გარეშე), და გადასცეთ ?limit=50 ერთ ინდიკატორზე ორიენტირებულ endpoint-ებზე, როგორიცაა /v1/announcements/usd/inflation ან /v1/predictions/usd/inflation როდესაც მხოლოდ ბოლო სტრიქონები გჭირდებათ. ნახეთ სრული რეფერენსი →
core_pce არსებობს USD-ისთვის, მაგრამ არა ყველა ვალუტისთვის. ჩამოთვალეთ ყველა slug, რომელსაც ვალუტა მხარს უჭერს, GET /v1/data_catalogue/{currency}, მაგალითად /v1/data_catalogue/usd. 404 error_code: NO_DATA_IN_REQUESTED_WINDOW ნიშნავს, რომ slug-ი ვალიდურია და მხოლოდ მოთხოვნილი თარიღის ფანჯარაა ცარიელი — გაფართოება start_date/end_date ნაცვლად იმისა, რომ შეცვალოთ URL.
data_quality ობიექტი. backtest-ებისა და ინსტიტუციური რეპორტინგისთვის, შეამოწმეთ point_in_time_safe, has_announcement_datetime, source_type, და is_stale.
პირველი API გამოძახება
სწრაფი მოთხოვნა
დაიწყეთ რეალური განცხადების ენდპოინტით. ავთენტიფიკაცია რჩება api_key query პარამეტრი პირდაპირი ბრაუზერისა და სკრიპტის ტესტირებისთვის.
curl "https://api.fxmacrodata.com/v1/announcements/eur/inflation?api_key=YOUR_API_KEY"
Python მოთხოვნები
კოპირებადი Python API მოთხოვნები
გამოიყენეთ ეს პირდაპირი REST მაგალითები, როდესაც გსურთ ნედლი API მოთხოვნა SDK wrapper-ის ნაცვლად. შეცვალეთ YOUR_API_KEY მხოლოდ დაცულ მარშრუტებზე.
USD ინფლაციის ბაზრის კონსენსუსი
კონსენსუსის, გამოკითხვის, ცენტრალური ბანკის, IMF და FXMacroData პროგნოზების გაერთიანება რეალიზებულ განცხადებებთან.
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 ინფლაცია ცნობილი დროის ნიშნულებით
საჯარო USD ინფლაციის ჩანაწერებს point-in-time backtest-ებისთვის.
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 სპოტ ისტორია
ყოველდღიური FX ფასების ისტორია წყვილების ჩარტებისთვის, მოდელებისთვის და გამოშვების ზედაპირული გადაფარვებისთვის.
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))
AUD პოლიტიკის განაკვეთის ისტორია
ცენტრალური ბანკის გადაწყვეტილებების ისტორია გამოშვების დროის მითითებით, წინასწარი ინფორმაციის გარეშე კვლევისთვის.
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))
JPY მომავალი გამოქვეყნებების განრიგი
მომავალი მაკროეკონომიკური მოვლენები UTC -ით, ბაზრის-ლოკალური, და მოთხოვნილი-სათაიმო საველეებით შეტყობინებების დაგეგმვისთვის, მოდელის განახლებისთვის და სავაჭრო მიმოხილვისთვის.
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))
ოქროს სასაქონლო ფასები
ძვირფასი ლითონების ოფიციალური დროითი სერიები ყოველდღიური მნიშვნელობებითა და ცვლილების ველებით.
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
დააინსტალირეთ ოფიციალური fxmacrodata პაკეტი PyPI-დან. სინქრონული და ასინქრონული კლიენტები, pandas-ისთვის მზადყოფნის გამომავალი.
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")
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])
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())
პროგნოზები & პროგნოზები
ის /v1/predictions/{currency}/{indicator} endpoint-ები სთავაზობენ პროგნოზირებულ მონაცემებს ბაზრის კონსენსუსის გამოკითხვებიდან, ცენტრალური ბანკის პროგნოზებიდან, IMF World Economic Outlook-დან და პროფესიონალი პროგნოზისტების გამოკითხვებიდან. პროგნოზები მოთხოვნილია კონკრეტული ვალუტისთვის და ინდიკატორისთვის, როგორიცაა https://api.fxmacrodata.com/v1/predictions/usd/inflation; მხოლოდ ვალუტის პროგნოზის მოთხოვნები არ არის მხარდაჭერილი. თითოეული პროგნოზი დაკავშირებულია თავის გამოცხადებასთან მეშვეობით announcement_id, რათა შეძლოთ პროგნოზების შეერთება რეალიზებულ დაკვირვებებთან.
prediction_type="fxmacrodata" არის FXMacroData-ს მიერ გენერირებული შეფასება; ნამდვილი შედარებითი კონსენსუსი არის მონიშნული market_consensus. პროგნოზის ხელმისაწვდომობა იცვლება გამოშვების მიხედვით — შეამოწმეთ coverage მატრიცა. წინასწარი კვლევისთვის, მიჰყევით point-in-time backtesting-ის სახელმძღვანელო.
Python — ამოიღეთ პროგნოზები და შეაერთეთ რეალურ მონაცემებთან
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 — ამოიღეთ პროგნოზები ტიპის მიხედვით
# 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"
პროგნოზის ტიპების რეფერენსი
| prediction_type | აღწერა |
|---|---|
| market_consensus | შედგენილი ბაზრის ან ეკონომისტთა მოვლენების კონსენსუსი, როცა ხელმისაწვდომია |
| market_prediction | პროფესიონალი პროგნოზის წერტილოვანი პროგნოზი |
| model_nowcast | ცენტრალური ბანკის ან რეზერვის ბანკის მოდელის nowcast |
| გამოკითხვა | ცენტრალური ბანკის გამოკითხვა პროფესიონალი პროგნოზისტებზე (მაგ. ECB SPF) |
| central_bank_forecast | ცენტრალური ბანკის ოფიციალური პროგნოზი (მაგ. RBNZ MPS, BoC MPR) |
| central_bank_projection | ოფიციალური ცენტრალური ბანკის პროგნოზი |
| imf_weo | IMF World Economic Outlook პროგნოზი |
| fxmacrodata | FXMacroData-ს მიერ გენერირებული პროგნოზი, რომელიც აერთიანებს ცენტრალური ბანკის სახელმძღვანელოს, გამოკითხვებსა და ისტორიულ ტენდენციებს |
cURL
ინსტალაცია საჭირო არ არის. მუშაობს ნებისმიერი ტერმინალიდან.
# 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
მუშაობს Node.js-ში (18+), Deno-ში, Bun-ში და თანამედროვე ბრაუზერებში Fetch API-ის გამოყენებით.
ოფიციალური 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);
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 = "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());
წასვლა
გარე პაკეტები საჭირო არ არის — სტანდარტული ბიბლიოთეკა ყველაფერს უმკლავდება.
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
მოითხოვს httr და 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
გამოყენება java.net.http (Java 11+). გარე ბიბლიოთეკები საჭირო არ არის.
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
გამოყენება 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
იყენებს ჩაშენებულ webread ფუნქცია.
% 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);
დააგენერირეთ ტიპიზებული კლიენტი ნებისმიერი ენისთვის
FXMacroData API აქვეყნებს სრულ OpenAPI 3.1 სპეციფიკაცია. გამოიყენეთ იგიជាមួយ openapi-generator Kotlin, Swift, Rust, Dart, Ruby, PHP, და 40+ სხვა ენებისთვის სრულად ტიპიზირებული კლიენტების შესაქმნელად.
# 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
მზად ხართ ასაშენებლად?
USD ენდპოინტები მხარს უჭერს გასაღების გარეშე შეფასებას 100 მოთხოვნა/დღე. გამოიწერეთ უფრო მაღალი ლიმიტებისა და მრავალვალუტიანი წვდომისთვის.