Menu

Referensi API harga emas

Semua endpoint dengan parameter dan kolomnya. URL dasar: https://goldapi.dev/api/v1

Semua endpoint memerlukan kunci API: kunci yang hilang atau salah mengembalikan 401, dan melewati batas mengembalikan 429. Setiap endpoint mencantumkan kodenya di bawah, dan semuanya dijelaskan di Kesalahan

Autentikasi

Setiap permintaan memerlukan kunci Anda di header ini. Untuk uji cepat, Anda juga bisa mengirimnya sebagai ?api_key=. Kunci hanya berfungsi di situs tempat akunnya mendaftar. Browser bisa memanggil API langsung, tetapi kunci jadi terlihat oleh pengunjung.

Header
X-API-Key: YOUR_API_KEY

Saat mencapai batas

Free mencakup 100 permintaan per jam, Basic 2,000, dan Pro tanpa batas. Hitungan mencakup semua kunci akun Anda, juga permintaan yang ditolak karena paket, dan dimulai ulang setiap awal jam. Header X-RateLimit-Limit, X-RateLimit-Remaining, dan X-RateLimit-Reset (waktu Unix) menunjukkan posisi Anda; Pro hanya menerima X-RateLimit-Limit: unlimited. Melewati batas mengembalikan 429 dengan header Retry-After dalam detik. Batas paket gratis

Harga langsung

GET/api/v1/price/{symbol}/{currency}/{karat}Kunci API · Free ke atas

Harga langsung logam dalam mata uang apa pun, per satuan dan per gram. Untuk emas Anda bisa memilih karat.

Parameter jalur

symbolstringwajib
Logam: XAU, XAG, XPT, XPD, atau HG.
currencystring
Kode mata uang, default USD. Kode apa pun di /rates.
karatint
Hanya emas: 24, 22, 21, 18, atau 14, 24 secara default. Mengubah harga gram.

Parameter kueri

currencystring
Nilai yang sama sebagai parameter kueri. Jika keduanya dikirim, jalur yang dipakai.
karatint
Nilai yang sama sebagai parameter kueri. Jika keduanya dikirim, jalur yang dipakai.

Kolom respons

price
Harga per unit. Karat tidak mengubahnya. Emas dalam EGP mengikuti pasar lokal Mesir.
gram
Harga satu gram, pada karat di respons untuk emas. Dalam EGP berupa pound bulat, kecuali di bawah 10 pound.
gramBuy, gramSell
Hanya emas dalam EGP: perkiraan harga beli dan jual per gram.
karat
Hanya emas: karat harga gram.
prevClose, chPercent
Hanya Pro: penutupan terakhir dalam mata uang yang diminta dan perubahannya dalam %. null jika tidak ada penutupan.
updatedAt
Waktu jawaban ini.

Kode respons

200 OK401 api_key_required401 invalid_api_key403 key_disabled403 account_suspended403 email_not_verified400 unknown_currency_or_unavailable400 unknown_karat400 karat_only_for_gold404 unknown_symbol429 rate_limit_exceeded

Skema respons

{
  "symbol": string,
  "name": string,
  "currency": string,
  "unit": string,        // "oz" | "lb"
  "price": number,
  "gram": number,
  "gramBuy"?: number,    // gold in EGP
  "gramSell"?: number,   // gold in EGP
  "karat"?: number,      // gold
  "prevClose"?: number | null,  // Pro
  "chPercent"?: number | null,  // Pro
  "updatedAt": string    // ISO-8601
}
ResponsContoh
{
    "symbol": "XAU",
    "name": "Gold",
    "currency": "USD",
    "unit": "oz",
    "price": 4072.1,
    "gram": 130.921,
    "karat": 24,
    "updatedAt": "2026-11-07T02:40:20+02:00"
}

Harga per karat

GET/api/v1/karatKunci API · Free ke atas

Harga live per gram emas untuk setiap karat (24, 22, 21, 18, dan 14) dalam satu permintaan. Untuk satu karat saja, gunakan /price.

Parameter kueri

currencystring
Kode mata uang, default USD. Kode apa pun di /rates.

Kolom respons

karats[].karat
Karat dan kemurniannya: 24 = 100%, 22 = 91.66%, 21 = 87.5%, 18 = 75%, 14 = 58.33%.
karats[].gram
Harga satu gram, pada karat di respons untuk emas. Dalam EGP berupa pound bulat, kecuali di bawah 10 pound.
karats[].gramBuy, gramSell
Hanya emas dalam EGP: perkiraan harga beli dan jual per gram.
updatedAt
Waktu jawaban ini.

Kode respons

200 OK401 api_key_required401 invalid_api_key403 key_disabled403 account_suspended403 email_not_verified400 unknown_currency_or_unavailable429 rate_limit_exceeded503 prices_unavailable

Skema respons

{
  "currency": string,
  "karats": [
    {
      "karat": number,
      "gram": number,
      "gramBuy"?: number,   // EGP
      "gramSell"?: number   // EGP
    }
  ],
  "updatedAt": string    // ISO-8601
}
ResponsContoh
{
    "currency": "USD",
    "karats": [
        {
            "karat": 24,
            "gram": 130.921
        },
        {
            "karat": 22,
            "gram": 120.0022
        },
        {
            "karat": 21,
            "gram": 114.5558
        },
        {
            "karat": 18,
            "gram": 98.1907
        },
        {
            "karat": 14,
            "gram": 76.3662
        }
    ],
    "updatedAt": "2026-11-07T02:40:20+02:00"
}

Konversi

GET/api/v1/convertKunci API · Free ke atas

Mengonversi antara logam dan mata uang, dua logam, atau dua mata uang, dengan harga live. Untuk emas Anda bisa memilih karat.

Parameter kueri

fromstringwajib
Yang dikonversi: logam (XAU, XAG, XPT, XPD, HG) atau kode mata uang di /rates.
tostringwajib
Tujuan konversi, dengan pilihan yang sama seperti from.
amountnumber
Jumlahnya, default 1. Harus lebih besar dari 0.
unitstring
Satuan sisi logam: gram, tola, oz, tael, kilo, lb. Default-nya satuan logam itu sendiri (oz, atau lb untuk tembaga).
karatint
Saat salah satu sisi emas: 24, 22, 21, 18, 14. Default 24.

Kolom respons

unit
Satuan sisi logam. Tidak muncul jika kedua sisi mata uang.
karat
Karat yang dipakai. Hanya saat salah satu sisi emas.
rate
Nilai satu unit from dalam to.
result
Jumlah dikalikan rate.
updatedAt
Waktu jawaban ini.

Kode respons

200 OK401 api_key_required401 invalid_api_key403 key_disabled403 account_suspended403 email_not_verified400 from_and_to_required400 invalid_amount400 unknown_unit400 unknown_karat400 karat_only_for_gold400 unknown_currency_or_unavailable429 rate_limit_exceeded503 prices_unavailable

Skema respons

{
  "from": string,
  "to": string,
  "amount": number,
  "unit"?: string,     // metal side
  "karat"?: number,    // gold side
  "rate": number,
  "result": number,
  "updatedAt": string  // ISO-8601
}
ResponsContoh
{
    "from": "XAU",
    "to": "USD",
    "amount": 1,
    "unit": "gram",
    "karat": 24,
    "rate": 130.921,
    "result": 130.92,
    "updatedAt": "2026-11-07T02:40:20+02:00"
}

Simbol

GET/api/v1/symbolsKunci API · Free ke atas

Logam yang dikenal API, dengan nama dan satuannya.

Kolom respons

symbol
Simbol logam.
name
Nama logam.
unit
Satuan harga: oz atau lb.

Kode respons

200 OK401 api_key_required401 invalid_api_key403 key_disabled403 account_suspended403 email_not_verified429 rate_limit_exceeded

Skema respons

{
  "symbols": [
    { "symbol": string, "name": string, "unit": string }
  ],
  "_server_time": string  // ISO-8601
}
ResponsContoh
{
    "symbols": [
        {
            "symbol": "XAU",
            "name": "Gold",
            "unit": "oz"
        },
        {
            "symbol": "XAG",
            "name": "Silver",
            "unit": "oz"
        },
        {
            "symbol": "XPT",
            "name": "Platinum",
            "unit": "oz"
        },
        {
            "symbol": "XPD",
            "name": "Palladium",
            "unit": "oz"
        },
        {
            "symbol": "HG",
            "name": "Copper",
            "unit": "lb"
        }
    ],
    "_server_time": "2026-11-07T02:40:20+02:00"
}

Kurs

GET/api/v1/ratesKunci API · Free ke atas

Kurs hari ini terhadap dolar AS, mata uang yang paling banyak dipakai lebih dulu.

Kolom respons

base
Mata uang dasar: USD.
rates
Kurs tiap mata uang terhadap satu dolar.

Kode respons

200 OK401 api_key_required401 invalid_api_key403 key_disabled403 account_suspended403 email_not_verified429 rate_limit_exceeded

Skema respons

{
  "base": "USD",
  "rates": { [currency: string]: number },
  "_server_time": string  // ISO-8601
}
ResponsContoh
{
    "base": "USD",
    "rates": {
        "USD": 1,
        "EUR": 0.89048,
        "GBP": 0.742915,
        "INR": 94.537031,
        "CNY": 6.682525,
        "JPY": 157.835475
    },
    "_server_time": "2026-11-07T02:40:20+02:00"
}

Riwayat harian

GET/api/v1/history/{symbol}Kunci API · Basic ke atas

Harga penutupan harian logam, dari yang terlama, sejauh arsip tersedia dan diakhiri hari berjalan, sehingga bisa ada satu baris lebih banyak dari days. Setiap hari memakai kursnya sendiri, dan emas dalam EGP juga memakai premi pasar lokal hari itu. Hari tanpa kurs tersimpan dilewati.

Parameter jalur

symbolstringwajib
Logam: XAU, XAG, XPT, XPD, atau HG.

Parameter kueri

currencystring
Kode mata uang, default USD. Hanya mata uang dengan data harian, tercantum di Mata uang.
rangestring
1W, 1M, 3M, 6M, 1Y, atau ALL (10 tahun). Lebih diutamakan daripada days, dan nilai lain diabaikan.
daysint
Jumlah hari, default 365. Dijaga antara 1 dan 3650.

Kolom respons

days
Hari yang dipakai, setelah range dan batas 1 sampai 3650.
count
Jumlah baris yang kembali.
history[].date, close
Hari dan harga penutupannya per unit. Penutupan hari ini terus berubah sampai hari berakhir.

Kode respons

200 OK401 api_key_required401 invalid_api_key403 key_disabled403 account_suspended403 email_not_verified400 unknown_currency403 feature_requires_basic404 unknown_symbol429 rate_limit_exceeded

Skema respons

{
  "symbol": string,
  "currency": string,
  "days": number,
  "count": number,
  "history": [
    { "date": string, "close": number }  // YYYY-MM-DD, oldest first
  ],
  "_server_time": string  // ISO-8601
}
ResponsContoh
{
    "symbol": "XAU",
    "currency": "USD",
    "days": 1,
    "count": 2,
    "history": [
        {
            "date": "2026-11-06",
            "close": 4072
        },
        {
            "date": "2026-11-07",
            "close": 4072.1001
        }
    ],
    "_server_time": "2026-11-07T02:40:20+02:00"
}

Candle harian

GET/api/v1/ohlc/{symbol}Kunci API · Pro ke atas

Satu candle per hari, dari yang terlama dan diakhiri hari berjalan. Setiap hari memakai kursnya sendiri, dan emas dalam EGP juga memakai premi pasar lokal hari itu. Hari tanpa kurs tersimpan dilewati.

Parameter jalur

symbolstringwajib
Logam: XAU, XAG, XPT, XPD, atau HG.

Parameter kueri

currencystring
Kode mata uang, default USD. Hanya mata uang dengan data harian, tercantum di Mata uang.
startunix
Hari pertama, dalam waktu Unix detik. Default dari hari pertama yang tersimpan.
endunix
Hari terakhir, dalam waktu Unix detik. Default sampai hari ini.

Kolom respons

count
Jumlah baris yang kembali.
candles[].date, open, high, low, close
Hari dan harganya per unit.
candles[].sealed
true jika hari sudah final, false selama masih bisa berubah.

Kode respons

200 OK401 api_key_required401 invalid_api_key403 key_disabled403 account_suspended403 email_not_verified400 unknown_currency403 feature_requires_pro404 unknown_symbol429 rate_limit_exceeded

Skema respons

{
  "symbol": string,
  "currency": string,
  "count": number,
  "candles": [
    {
      "date": string,  // YYYY-MM-DD
      "open": number,
      "high": number,
      "low": number,
      "close": number,
      "sealed": boolean
    }
  ],
  "_server_time": string  // ISO-8601
}
ResponsContoh
{
    "symbol": "XAU",
    "currency": "USD",
    "count": 2,
    "candles": [
        {
            "date": "2026-11-06",
            "open": 4090.3,
            "high": 4106.7998,
            "low": 4032.5,
            "close": 4072,
            "sealed": true
        },
        {
            "date": "2026-11-07",
            "open": 4072.3999,
            "high": 4072.3999,
            "low": 4072.1001,
            "close": 4072.1001,
            "sealed": false
        }
    ],
    "_server_time": "2026-11-07T02:40:20+02:00"
}

Mata uang

/price, /karat, /convert, dan /rates berfungsi dengan 166 mata uang, dan /rates mencantumkannya. /history dan /ohlc berfungsi dengan 47 di bawah, karena setiap hari menyimpan kursnya. Kode lain pada keduanya mengembalikan 400 unknown_currency.

USDEGPSARAEDKWDQARBHDOMRJODIQDLBPSDGYERLYDTNDDZDMADEURGBPTRYINRIDRCNYVNDPKRJPYCADAUDSGDHKDKRWTHBPHPMXNBRLZARCHFNZDILSMYRPLNCZKSEKNOKDKKHUFRON

Kesalahan

Error berupa JSON dengan kolom error, dan sebagian menambahkan kolom di tabel. Permintaan diperiksa dengan urutan: kunci, batas per jam, paket, lalu parameter.

StatuserrorKapanJuga mengembalikan
400unknown_currency_or_unavailableMata uang tidak dikenal, atau harga belum tersediasymbol, currency
400unknown_currencyPada /history atau /ohlc: mata uang tanpa data hariancurrency, allowed
400unknown_karatKarat selain 24, 22, 21, 18, atau 14karat, allowed
400karat_only_for_goldKarat untuk logam selain emassymbol
400from_and_to_requiredfrom atau to tidak ada
400invalid_amountamount bukan angka lebih besar dari 0amount
400unknown_unitSatuan selain gram, tola, oz, tael, kilo, lbunit, allowed
401api_key_requiredPermintaan tanpa kunci
401invalid_api_keyKunci tidak valid
403feature_requires_basicPaket tidak mencakup endpoint ini
403feature_requires_proPaket tidak mencakup endpoint ini
403key_disabledKunci dinonaktifkan
403account_suspendedAkun ditangguhkan
403email_not_verifiedEmail akun belum dikonfirmasi
403ForbiddenAlamat /api atau /api/v1 saja. Responsnya berisi kolom status dan message, bukan error.
404unknown_symbolLogam tidak dikenalsymbol
404not_foundEndpoint tidak ada, atau ada bagian berlebih di jalur. Riwayat dan candle menerima currency hanya sebagai parameter kueri.
429rate_limit_exceededMelebihi permintaan per jam paket
503prices_unavailableHarga logam sedang tidak tersedia