Überblick über die API-Dokumentation
Die MetalAPI-REST-API auf einen Blick: Basis-URL, Authentifizierung, Parameter, Antwortformat, Fehler, Anfragelimits und Codebeispiele auf einer Seite.
Basis-URL
Alle Anfragen gehen per HTTPS an https://metalapi.com/api/v1/ und verwenden GET. Antworten sind JSON mit einem success-Flag.
Diese Seite ist ein kurzer Überblick. Die vollständige Referenz mit allen Parametern finden Sie in der API-Dokumentation.
Authentifizierung
Senden Sie Ihren API-Schlüssel als Query-Parameter, als Bearer-Token oder im Header X-API-Key. Schlüssel bestehen aus mk_live_, gefolgt von 32 Zeichen. Halten Sie sie geheim; siehe Authentifizierung.
# Query-Parameter
GET https://metalapi.com/api/v1/latest?api_key=YOUR_API_KEY
# Authorization-Header
GET https://metalapi.com/api/v1/latest
Authorization: Bearer YOUR_API_KEY
# X-API-Key-Header
GET https://metalapi.com/api/v1/latest
X-API-Key: YOUR_API_KEYEndpunkte
/latest: aktuelle Preise/{YYYY-MM-DD},/yesterdayoder/historical?date=: Schlusskurse eines vergangenen Tages/convert?from=&to=&amount=: beliebige Beträge umrechnen, optional zu einem vergangenendate/timeframe?start_date=&end_date=(Alias/timeseries): Tagespreise für einen Zeitraum/change?start_date=&end_date=: Veränderung zwischen zwei Tagen/ohlc?date=: Eröffnungs-, Höchst-, Tiefst- und Schlusskurs eines Tages/carat?carat=24odercarat=all: Goldpreise nach Karat (kostenpflichtige Tarife)/symbols: unterstützte Symbole (kostenlos, ohne Kontingentverbrauch)/usage: Ihr Kontingent (kostenlos, ohne Kontingentverbrauch)/stream: Server-Sent Events in Echtzeit (ab dem Pro-Tarif)
Parameter und Beispiele zu jedem Endpunkt finden Sie unter Verfügbare Endpunkte.
Anfrageparameter
api_key: Ihr Schlüssel, sofern Sie ihn nicht im Header sendenbase: die Währung der zurückgegebenen Preise, standardmäßigUSDcurrenciesodersymbols: kommagetrennte Liste der zurückzugebenden Symbole. Standardmäßig alle Symbole.unit: Masseneinheit für Metalle. Einer der Wertetroy_oz(Standard),gram,kilogram,ounce,pound,metric_tonodershort_ton.
GET /api/v1/latest?api_key=YOUR_API_KEY&base=EUR¤cies=XAU,XAG,USD,GBP&unit=gramAntwortformat
Erfolgreiche Antworten enthalten success: true, die Daten und einen rate_limit-Block. Jedes Symbol erscheint zweimal: XAU (Feinunzen pro Einheit der Basiswährung) und USDXAU (Preis einer Feinunze in der Basiswährung). Siehe Datenformate & Einheiten.
{
"success": true,
"timestamp": 1792765800,
"date": "2026-10-23",
"base": "USD",
"rates": {
"EUR": 0.8589589418,
"USDEUR": 1.1642,
"XAG": 0.01853911754,
"USDXAG": 53.94,
"XAU": 0.0002501319446,
"USDXAU": 3997.89
},
"rate_limit": {
"limit": 10000,
"remaining": 9876,
"reset": 1793491200,
"used": 124,
"plan": "Standard",
"reset_date": "2026-11-01T00:00:00.000Z"
}
}Fehler
Fehler liefern einen HTTP-Fehlerstatus und einen Body mit success: false, einem numerischen Code, einem Typ und einer Meldung. Die vollständige Liste finden Sie unter Fehlerbehandlung.
{
"success": false,
"error": {
"code": 102,
"type": "invalid_api_key",
"info": "User did not supply an access key or supplied an invalid access key"
}
}Anfragelimits
Jeder Tarif hat ein Monatskontingent, das am 1. um 00:00 UTC zurückgesetzt wird, und ein Limit pro Minute. Jede authentifizierte Antwort enthält:
X-RateLimit-Limit,X-RateLimit-RemainingundX-RateLimit-Usedfür das MonatskontingentX-RateLimit-ResetundX-RateLimit-Reset-Datefür den Zeitpunkt der ZurücksetzungX-RateLimit-Planmit dem Namen Ihres TarifsX-RateLimit-Minute-LimitundX-RateLimit-Minute-Remainingfür das Limit pro Minute
Dieselben Werte stehen im JSON-Block rate_limit. Siehe Anfragelimits & Tarife.
Unterstützte Symbole
- Edelmetalle:
XAU,XAG,XPT,XPD - Industriemetalle:
XCU,ALU,ZNC,HRC - Energie:
WTI,BRENT,NATURALGAS,GASOLINE,HEATINGOIL - Währungen: rund 55, darunter
USD,EUR,GBP,JPY,CHF,CAD,AUDundCNY - Krypto: 13 Coins, darunter
BTC,ETH,SOL,USDTundUSDC
Alle Symbole finden Sie auf der Symbolseite.
Beispiel in Node.js
Mit dem integrierten fetch (Node.js 18+):
const API_KEY = process.env.METALAPI_KEY;
const BASE_URL = "https://metalapi.com/api/v1";
async function getLatestRates(currencies = "XAU,XAG,EUR") {
const res = await fetch(`${BASE_URL}/latest?currencies=${currencies}`, {
headers: { Authorization: `Bearer ${API_KEY}` },
});
const data = await res.json();
if (!data.success) throw new Error(`${data.error.code}: ${data.error.info}`);
return data.rates;
}
const rates = await getLatestRates();
console.log("Gold (USD/oz):", rates.USDXAU);
console.log("Silver (USD/oz):", rates.USDXAG);Beispiel in PHP
Mit PHP und cURL:
<?php
$apiKey = getenv('METALAPI_KEY');
$curl = curl_init('https://metalapi.com/api/v1/latest?currencies=XAU,XAG');
curl_setopt_array($curl, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 10,
CURLOPT_HTTPHEADER => ["X-API-Key: {$apiKey}"],
]);
$response = curl_exec($curl);
$error = curl_error($curl);
curl_close($curl);
if ($error) {
exit("cURL error: {$error}\n");
}
$data = json_decode($response, true);
if (!$data['success']) {
exit("API error {$data['error']['code']}: {$data['error']['info']}\n");
}
echo "Gold (USD/oz): " . $data['rates']['USDXAU'] . "\n";
echo "Silver (USD/oz): " . $data['rates']['USDXAG'] . "\n";Beispiel in Python
Mit der Bibliothek requests:
import os
import requests
API_KEY = os.environ["METALAPI_KEY"]
BASE_URL = "https://metalapi.com/api/v1"
def get_metal_rates(currencies="XAU,XAG,XPT"):
"""Fetch the latest metal prices from MetalAPI."""
response = requests.get(
f"{BASE_URL}/latest",
params={"currencies": currencies},
headers={"Authorization": f"Bearer {API_KEY}"},
timeout=10,
)
data = response.json()
if not data["success"]:
raise RuntimeError(f"{data['error']['code']}: {data['error']['info']}")
return data["rates"]
rates = get_metal_rates()
print(f"Gold: {rates['USDXAU']} USD/oz")
print(f"Silver: {rates['USDXAG']} USD/oz")
print(f"Platinum: {rates['USDXPT']} USD/oz")Beispielanfrage
1.000 US-Dollar in Feinunzen Gold umrechnen:
curl "https://metalapi.com/api/v1/convert?api_key=YOUR_API_KEY&from=USD&to=XAU&amount=1000"Beispielantwort
result ist der umgerechnete Betrag und info.rate der angewendete Kurs:
{
"success": true,
"query": { "from": "USD", "to": "XAU", "amount": 1000 },
"info": { "timestamp": 1792765800, "rate": 0.0002501319446, "quote": 0.0002501319446 },
"date": "2026-10-23",
"result": 0.2501319446,
"rate_limit": {
"limit": 10000,
"remaining": 9876,
"reset": 1793491200,
"used": 124,
"plan": "Standard",
"reset_date": "2026-11-01T00:00:00.000Z"
}
}Verwandte Anleitungen
Bereit zum Loslegen?
Erstellen Sie ein kostenloses Konto, um Ihren API-Schlüssel zu erhalten, oder entdecken Sie alle Endpunkte in der API-Referenz.