Skip to content

Latest commit

 

History

History
142 lines (104 loc) · 3.18 KB

README.md

File metadata and controls

142 lines (104 loc) · 3.18 KB

GoldAPI.io Node.js TypeScript Example: Live Gold Price API

This repository shows how to call the GoldAPI.io live gold price API using Node.js and TypeScript. It includes a typed GoldApiResponse, native Node.js fetch, and a small command-line script for fetching the current XAU/USD gold price.

Use this example if you are looking for:

  • GoldAPI.io Node.js example
  • GoldAPI.io TypeScript integration
  • Live gold price API with Node.js
  • XAU/USD API request sample
  • Precious metals API example using TypeScript
  • Gold price API quickstart for GitHub projects

API Endpoint

The example calls:

https://www.goldapi.io/api/XAU/USD

Equivalent curl request:

curl -X GET "https://www.goldapi.io/api/XAU/USD" \
  -H "x-access-token: GOLD_API_TOKEN"

Requirements

  • Node.js 18 or newer
  • npm
  • A GoldAPI.io API token

Node.js 18+ includes native fetch, so this example does not need Axios, node-fetch, or another HTTP client.

Installation

npm install

Quick Start

Run the TypeScript example:

GOLD_API_TOKEN=your_goldapi_token_here npm run dev

Or build and run the compiled JavaScript:

npm run build
GOLD_API_TOKEN=your_goldapi_token_here node dist/index.js

You can also change the metal and currency pair:

GOLD_API_TOKEN=your_goldapi_token_here GOLD_API_METAL=XAU GOLD_API_CURRENCY=USD npm run dev

TypeScript Example

The core GoldAPI.io request is:

const response = await fetch("https://www.goldapi.io/api/XAU/USD", {
  method: "GET",
  headers: {
    "x-access-token": process.env.GOLD_API_TOKEN,
    Accept: "application/json",
  },
});

const data = await response.json();
console.log(data);

This repository expands that into a typed Node.js example with:

  • GoldApiResponse TypeScript type
  • Basic HTTP error handling
  • Configurable GOLD_API_METAL and GOLD_API_CURRENCY
  • Safe token usage through environment variables

Sample GoldAPI.io Response

{
  "timestamp": 1776907250,
  "metal": "XAU",
  "currency": "USD",
  "exchange": "FOREXCOM",
  "symbol": "FOREXCOM:XAUUSD",
  "prev_close_price": 4739.215,
  "open_price": 4739.215,
  "low_price": 4694.355,
  "high_price": 4753.79,
  "open_time": 1776902400,
  "price": 4733.125,
  "ch": -6.09,
  "chp": -0.13,
  "ask": 4733.72,
  "bid": 4732.69,
  "price_gram_24k": 152.1735,
  "price_gram_22k": 139.4924,
  "price_gram_21k": 133.1518,
  "price_gram_20k": 126.8113,
  "price_gram_18k": 114.1301,
  "price_gram_16k": 101.449,
  "price_gram_14k": 88.7679,
  "price_gram_10k": 63.4056
}

Environment Variables

Variable Required Default Description
GOLD_API_TOKEN Yes None Your GoldAPI.io access token.
GOLD_API_METAL No XAU Metal symbol to request.
GOLD_API_CURRENCY No USD Currency symbol to request.

Type Checking

Run:

npm run typecheck

Security Note

Do not commit your GoldAPI.io token to GitHub. Store it in environment variables, GitHub Actions secrets, or a local .env file that is ignored by Git.

This example is intended for server-side Node.js. Do not expose private GoldAPI.io tokens in browser JavaScript.

License

MIT