
アプリで1グラム当たりの金価格が必要なら、公開`/v1/carat`エンドポイントから純度別の値を直接取得できます。1回のリクエストで24K、22K、21K、20K、18K、16K、14K、10Kが返り、試用時はAPIキーも不要です。
Pythonで1グラム当たりの価格を取得する
標準ライブラリだけを使い、金額をDecimalとして読み取ります。これにより浮動小数点の誤差を避けられます。
Python
import jsonfrom decimal import Decimalfrom urllib.parse import urlencodefrom urllib.request import Request, urlopenurl = "https://api.goldprice.dev/v1/carat?" + urlencode({"currency": "JPY"})with urlopen(Request(url, headers={"Accept": "application/json"}), timeout=10) as response: payload = json.load(response)prices = { "currency": payload["currency"], "timestamp": payload["timestamp"], "24k": Decimal(payload["price_gram_24k"]), "22k": Decimal(payload["price_gram_22k"]), "18k": Decimal(payload["price_gram_18k"]),}JPYはUSD、EUR、GBP、INR、IDR、AEDなどに変更できます。価格の観測時点を示すtimestampも保存してください。
金製品の地金価値を計算する
12.5グラムの18K製品なら、18Kのグラム単価に重量を掛け、最後に一度だけ丸めます。
Python
from decimal import Decimal, ROUND_HALF_UPweight = Decimal("12.5")value = (weight * prices["18k"]).quantize(Decimal("0.01"), rounding=ROUND_HALF_UP)エンドポイントのグラム単価は、指定通貨の最小単位の精度で返ります。この結果は金含有量の参考価値であり、小売価格や買取価格ではありません。加工費、宝石、税、プレミアム、精錬費、買取控除は別です。
グラムと純度の計算方法
APIはXAU価格を指定通貨へ換算し、トロイオンス価格を31.1034768で割り、22 / 24や18 / 24などの純度比を掛けます。
本番運用チェック
- 金額は
Decimalのまま扱う。 - 値と
timestampを一緒に保存する。 - 必要な鮮度に合わせて成功レスポンスをキャッシュする。
- 取得失敗をゼロや新しい時刻で置き換えない。
- 結果を決済価格ではなく参考値と表示する。
- アカウントキーはサーバーだけに置く。
全フィールドはcarat APIドキュメント、日次OHLCは履歴APIを参照してください。
リアルタイムの金価格、ヒストリカルOHLC、マルチソース集計,REST・SSE経由で提供。