金価格APIリファレンス
すべてのエンドポイントのパラメーターとフィールド。ベースURL:https://goldapi.dev/api/v1
すべてのエンドポイントにAPIキーが必要です。キーがない、または誤っていると401、制限を超えると429が返ります。各エンドポイントのコードは下記にあり、すべての説明は次をご覧ください: エラー
認証
すべてのリクエストにこのヘッダーでキーが必要です。簡単なテストでは ?api_key= でも送れます。キーは、アカウントを登録したサイトでのみ使えます。ブラウザから直接呼び出せますが、キーが訪問者に見えてしまいます。
X-API-Key: YOUR_API_KEY制限に達したとき
Freeは1時間あたり100リクエスト、Basicは2,000、Proは無制限です。カウントはアカウントの全キーの合計で、プランにより拒否されたリクエストも含み、毎正時にリセットされます。X-RateLimit-Limit、X-RateLimit-Remaining、X-RateLimit-Reset(Unix時間)ヘッダーで状況を確認でき、Proには X-RateLimit-Limit: unlimited のみ返ります。制限を超えると429と秒単位の Retry-After ヘッダーが返ります。 無料プランの制限
リアルタイム価格
任意の通貨での金属のリアルタイム価格を、単位あたりとグラムあたりで返します。金はカラットを選べます。
パスパラメーター
- symbolstring必須
- 金属:XAU、XAG、XPT、XPD、HG。
- currencystring
- 通貨コード。既定はUSD。/rates にあるコードを使えます。
- karatint
- 金のみ:24、22、21、18、14。既定は24。グラム価格が変わります。
クエリパラメーター
- currencystring
- クエリパラメーターでも同じ値を指定できます。両方ある場合はパスが優先されます。
- karatint
- クエリパラメーターでも同じ値を指定できます。両方ある場合はパスが優先されます。
レスポンスのフィールド
- price
- 単位あたりの価格。カラットでは変わりません。エジプトポンド建ての金はエジプトの現地市場に連動します。
- gram
- 1グラムの価格。金はレスポンスのカラットで計算します。EGPでは10ポンド未満を除き整数です。
- gramBuy, gramSell
- EGP建ての金のみ:グラムの推定買値と売値。
- karat
- 金のみ:グラム価格のカラット。
- prevClose, chPercent
- Proのみ:指定通貨での直近の終値と、そこからの変化率(%)。終値がない場合はnullです。
- updatedAt
- この応答の時刻。
レスポンスコード
レスポンススキーマ
{
"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:39:32+02:00"
}
カラット別価格
金のグラムあたりのライブ価格を、全カラット(24、22、21、18、14)について1回のリクエストで返します。1つのカラットだけなら /price を使います。
クエリパラメーター
- currencystring
- 通貨コード。既定はUSD。/rates にあるコードを使えます。
レスポンスのフィールド
- karats[].karat
- カラットとその純度: 24 = 100%, 22 = 91.66%, 21 = 87.5%, 18 = 75%, 14 = 58.33%。
- karats[].gram
- 1グラムの価格。金はレスポンスのカラットで計算します。EGPでは10ポンド未満を除き整数です。
- karats[].gramBuy, gramSell
- EGP建ての金のみ:グラムの推定買値と売値。
- updatedAt
- この応答の時刻。
レスポンスコード
レスポンススキーマ
{
"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:39:32+02:00"
}
換算
金属と通貨、2つの金属、2つの通貨の間をライブ価格で換算します。金はカラットを選べます。
クエリパラメーター
- fromstring必須
- 換算元: 金属(XAU、XAG、XPT、XPD、HG)または /rates にある通貨コード。
- tostring必須
- 換算先。選択肢は from と同じです。
- amountnumber
- 数量。デフォルトは1で、0より大きい必要があります。
- unitstring
- 金属側の単位: gram, tola, oz, tael, kilo, lb。デフォルトは金属自体の単位です(oz、銅は lb)。
- karatint
- 片方が金の場合: 24, 22, 21, 18, 14。デフォルトは24。
レスポンスのフィールド
- unit
- 金属側の単位。両方が通貨の場合は含まれません。
- karat
- 使用したカラット。片方が金の場合のみ。
- rate
- from 1単位あたりの to での価値。
- result
- 数量に rate を掛けた値。
- updatedAt
- この応答の時刻。
レスポンスコード
レスポンススキーマ
{
"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:39:32+02:00"
}
シンボル
APIが扱う金属と、その名前と単位を返します。
レスポンスのフィールド
- symbol
- 金属のシンボル。
- name
- 金属の名前。
- unit
- 価格の単位:oz または lb。
レスポンスコード
レスポンススキーマ
{
"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:39:32+02:00"
}
為替レート
米ドルに対する今日の為替レートを、よく使われる通貨から順に返します。
レスポンスのフィールド
- base
- 基準通貨:USD。
- rates
- 1米ドルに対する各通貨のレート。
レスポンスコード
レスポンススキーマ
{
"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:39:32+02:00"
}
日次履歴
金属の日次終値を古い順に、アーカイブにある範囲で返します。最後は進行中の当日なので、days より1行多い場合があります。各日はその日の為替レートを使い、EGP建ての金はその日の現地市場プレミアムも使います。保存レートがない日は除かれます。
パスパラメーター
- symbolstring必須
- 金属:XAU、XAG、XPT、XPD、HG。
クエリパラメーター
- currencystring
- 通貨コード。既定はUSD。日次データがある通貨のみで、「通貨」に一覧があります。
- rangestring
- 1W、1M、3M、6M、1Y、ALL(10年)。days より優先され、他の値は無視されます。
- daysint
- 日数。既定は365。1〜3650の範囲に収められます。
レスポンスのフィールド
- days
- range と1〜3650の制限を適用した後の日数です。
- count
- 返された行数。
- history[].date, close
- 日付と単位あたりの終値。当日の終値は1日が終わるまで変わります。
レスポンスコード
レスポンススキーマ
{
"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:39:32+02:00"
}
日次ローソク足
1日ごとのローソク足を古い順に返し、最後は進行中の当日です。各日はその日の為替レートを使い、EGP建ての金はその日の現地市場プレミアムも使います。保存レートがない日は除かれます。
パスパラメーター
- symbolstring必須
- 金属:XAU、XAG、XPT、XPD、HG。
クエリパラメーター
- currencystring
- 通貨コード。既定はUSD。日次データがある通貨のみで、「通貨」に一覧があります。
- startunix
- 開始日(Unix時間、秒)。既定は保存されている最初の日です。
- endunix
- 終了日(Unix時間、秒)。既定は今日までです。
レスポンスのフィールド
- count
- 返された行数。
- candles[].date, open, high, low, close
- 日付と単位あたりの価格。
- candles[].sealed
- 確定した日は true、まだ変わる可能性があれば false。
レスポンスコード
レスポンススキーマ
{
"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:39:32+02:00"
}
通貨
/price、/karat、/convert、/rates は166通貨に対応し、/rates に一覧があります。/history と /ohlc は各日のレートを保存しているため、下記の47通貨に対応します。この2つで他のコードを指定すると、400 unknown_currency が返ります。
エラー
エラーは error フィールドを持つJSONで、表にあるフィールドが加わるものもあります。リクエストはキー、時間制限、プラン、パラメーターの順に確認されます。
| ステータス | エラー | 発生条件 | 追加で返す項目 |
|---|---|---|---|
| 400 | unknown_currency_or_unavailable | 不明な通貨、または現在価格を取得できない | symbol, currency |
| 400 | unknown_currency | /history または /ohlc で、日次データのない通貨を指定した場合 | currency, allowed |
| 400 | unknown_karat | 24、22、21、18、14以外のカラット | karat, allowed |
| 400 | karat_only_for_gold | 金以外の金属にカラットを指定 | symbol |
| 400 | from_and_to_required | from または to がありません | |
| 400 | invalid_amount | amount が0より大きい数値ではありません | amount |
| 400 | unknown_unit | gram, tola, oz, tael, kilo, lb 以外の単位 | unit, allowed |
| 401 | api_key_required | リクエストにキーがない | |
| 401 | invalid_api_key | キーが無効 | |
| 403 | feature_requires_basic | プランにこのエンドポイントが含まれない | |
| 403 | feature_requires_pro | プランにこのエンドポイントが含まれない | |
| 403 | key_disabled | キーが無効 | |
| 403 | account_suspended | アカウントが停止中 | |
| 403 | email_not_verified | アカウントのメールが未確認 | |
| 403 | Forbidden | /api または /api/v1 のみのアドレス。レスポンスは error ではなく status と message です。 | |
| 404 | unknown_symbol | 不明な金属 | symbol |
| 404 | not_found | そのエンドポイントがないか、パスに余分な部分があります。履歴とローソク足の currency はクエリパラメーターのみです。 | |
| 429 | rate_limit_exceeded | プランの1時間あたりのリクエストを超えた | |
| 503 | prices_unavailable | 金属の価格を現在取得できません |