Compare Indonesian bullion quotes from the physical price API instead of treating international spot as a dealer price. The Indonesia route is configured for three local sources. Returned quotes vary as sources publish; each quote includes its product, denomination, sell price, optional buyback price, and source timestamps.
What to compare
- Comparable weight: use
denomination_gramsto compare bars and gram products on a common basis. - Purity and product: keep
product,brand, andprice_basiswith the quote. The response does not expose a universal purity field; confirm a product's stated purity before comparing it with another. - Sell and buyback:
sellis the dealer's selling price;buybackis the price offered when the dealer buys back. A source may returnnullwhen it does not publish a buyback quote. - Freshness: use
data_updated_atfor the source observation andfetched_atfor when Goldprice retrieved it. Update cadence is source-dependent.
Request Indonesia dealer quotes
curl -H "Authorization: Bearer $GOLDPRICE_API_KEY" \
"https://api.goldprice.dev/v1/physical/id"This endpoint requires Basic, Plus or Pro. All allow commercial use without credit across your own websites and apps, including group companies. Redistribution and resale are prohibited. See the terms. Keep each source and timestamp in your monitoring records. Store the API key on your server.
Response shape
This response is a production-shaped example with values from the physical API fixture; prices and timestamps change as sources update.
{
"result": "success",
"country": "ID",
"currency": "IDR",
"spot_reference": { "xau_usd": "4123.50", "fx_usd_local": "16250.00", "spot_per_gram_local": "2154917.00" },
"quotes": [{
"source": "pegadaian", "brand": null, "product": "digital_gram",
"denomination_grams": null, "price_basis": "per_gram",
"sell": "2497154", "buyback": "2414599", "premium_over_spot_bps": 1588,
"data_updated_at": "2026-07-04T02:14:02Z", "fetched_at": "2026-07-04T02:15:09Z"
}]
}Build a monitoring check
const key = process.env.GOLDPRICE_API_KEY;
if (!key) throw new Error("GOLDPRICE_API_KEY is required");
const response = await fetch("https://api.goldprice.dev/v1/physical/id",
{ headers: { Authorization: "Bearer " + key } },
);
if (!response.ok) throw new Error("Goldprice returned " + response.status);
const { quotes } = await response.json();
for (const quote of quotes) {
const observed = Date.parse(quote.data_updated_at);
const stale = !Number.isFinite(observed) || Date.now() - observed > 60 * 60 * 1000; // example policy
console.log(quote.source, quote.product, quote.price_basis, quote.denomination_grams,
quote.sell, quote.buyback ?? "N/A", quote.data_updated_at, stale);
}Alert on a stale or missing quote according to your own policy, and keep the source and timestamps with every stored observation. The API is a monitoring input; it is not a settlement or trading system.
Continue with the API
Read the physical price API reference, review Indonesia coverage, or start with the plan details. Dealer quotes and commercial use are included on Basic, Plus and Pro. See the terms.