Blog/Pengembang

Harga Emas per Gram dengan Python (24K, 22K, 18K)

Ambil harga emas per gram untuk 24K, 22K, dan 18K dengan Python tanpa API key, lalu hitung nilainya secara aman memakai Decimal.

Pengembang
Harga Emas per Gram dengan Python (24K, 22K, 18K)

Jika aplikasi membutuhkan harga emas per gram, ambil langsung daftar kemurnian dari endpoint publik /v1/carat. Satu permintaan mengembalikan nilai 24K, 22K, 21K, 20K, 18K, 16K, 14K, dan 10K dalam mata uang pilihan. Anda bisa mencobanya tanpa API key.

Mengambil harga emas per gram dengan Python

Contoh ini hanya memakai pustaka standar Python dan membaca harga sebagai Decimal agar perhitungan uang tidak terkena selisih floating point.

import json
from decimal import Decimal
from urllib.parse import urlencode
from urllib.request import Request, urlopen

url = "https://api.goldprice.dev/v1/carat?" + urlencode({"currency": "IDR"})
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"]),
}

Ganti IDR dengan USD, EUR, GBP, INR, AED, JPY, atau mata uang lain yang didukung. Simpan juga timestamp karena field itu menunjukkan waktu observasi harga.

Menghitung nilai barang emas

Untuk barang 18K seberat 12,5 gram, kalikan harga 18K per gram dengan beratnya, lalu bulatkan hasil akhir satu kali.

from decimal import Decimal, ROUND_HALF_UP

weight = Decimal("12.5")
value = (weight * prices["18k"]).quantize(Decimal("0.01"), rounding=ROUND_HALF_UP)

Endpoint sudah menyajikan nilai per gram sesuai presisi unit minor mata uang yang diminta. Hasilnya adalah nilai indikatif kandungan emas, bukan otomatis harga toko atau harga buyback. Ongkos pembuatan, batu, pajak, premi dealer, biaya pemurnian, dan potongan buyback dihitung terpisah.

Cara API menghitung gram dan karat

API mengonversi XAU ke mata uang pilihan, membagi harga per troy ounce dengan 31.1034768, lalu mengalikan fraksi kemurnian seperti 22 / 24 atau 18 / 24.

Checklist produksi

  • Pertahankan nilai sebagai Decimal.
  • Simpan timestamp bersama harga.
  • Cache respons berhasil sesuai kebutuhan kesegaran.
  • Jangan ganti kegagalan dengan nol atau timestamp baru.
  • Tandai hasil sebagai indikatif, bukan harga penyelesaian.
  • Simpan API key akun hanya di server.

Lihat kontrak endpoint lengkap atau gunakan API historis untuk OHLC harian.

panduan terkait

goldprice.dev

Harga emas real-time, OHLC historis, dan agregasi multi-sumber — tersedia via REST dan SSE.