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.
X-API-Key: YOUR_API_KEYSaat 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
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
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
}{
"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
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
Skema respons
{
"currency": string,
"karats": [
{
"karat": number,
"gram": number,
"gramBuy"?: number, // EGP
"gramSell"?: number // EGP
}
],
"updatedAt": string // ISO-8601
}{
"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
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
Skema respons
{
"from": string,
"to": string,
"amount": number,
"unit"?: string, // metal side
"karat"?: number, // gold side
"rate": number,
"result": number,
"updatedAt": string // ISO-8601
}{
"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
Logam yang dikenal API, dengan nama dan satuannya.
Kolom respons
- symbol
- Simbol logam.
- name
- Nama logam.
- unit
- Satuan harga: oz atau lb.
Kode respons
Skema respons
{
"symbols": [
{ "symbol": string, "name": string, "unit": string }
],
"_server_time": string // ISO-8601
}{
"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
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
Skema respons
{
"base": "USD",
"rates": { [currency: string]: number },
"_server_time": string // ISO-8601
}{
"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
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
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
}{
"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
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
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
}{
"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.
Kesalahan
Error berupa JSON dengan kolom error, dan sebagian menambahkan kolom di tabel. Permintaan diperiksa dengan urutan: kunci, batas per jam, paket, lalu parameter.
| Status | error | Kapan | Juga mengembalikan |
|---|---|---|---|
| 400 | unknown_currency_or_unavailable | Mata uang tidak dikenal, atau harga belum tersedia | symbol, currency |
| 400 | unknown_currency | Pada /history atau /ohlc: mata uang tanpa data harian | currency, allowed |
| 400 | unknown_karat | Karat selain 24, 22, 21, 18, atau 14 | karat, allowed |
| 400 | karat_only_for_gold | Karat untuk logam selain emas | symbol |
| 400 | from_and_to_required | from atau to tidak ada | |
| 400 | invalid_amount | amount bukan angka lebih besar dari 0 | amount |
| 400 | unknown_unit | Satuan selain gram, tola, oz, tael, kilo, lb | unit, allowed |
| 401 | api_key_required | Permintaan tanpa kunci | |
| 401 | invalid_api_key | Kunci tidak valid | |
| 403 | feature_requires_basic | Paket tidak mencakup endpoint ini | |
| 403 | feature_requires_pro | Paket tidak mencakup endpoint ini | |
| 403 | key_disabled | Kunci dinonaktifkan | |
| 403 | account_suspended | Akun ditangguhkan | |
| 403 | email_not_verified | Email akun belum dikonfirmasi | |
| 403 | Forbidden | Alamat /api atau /api/v1 saja. Responsnya berisi kolom status dan message, bukan error. | |
| 404 | unknown_symbol | Logam tidak dikenal | symbol |
| 404 | not_found | Endpoint tidak ada, atau ada bagian berlebih di jalur. Riwayat dan candle menerima currency hanya sebagai parameter kueri. | |
| 429 | rate_limit_exceeded | Melebihi permintaan per jam paket | |
| 503 | prices_unavailable | Harga logam sedang tidak tersedia |