Skip to main content

For developers & researchers

Gold Price Dataset

KmalServico publishes a free, public JSON snapshot of live gold prices across every market it tracks, at /api/public/global-gold-dataset.json. This page documents exactly what it contains, how often it changes, and what it doesn't (yet) provide β€” written to match the endpoint's actual response, not an aspirational one.

What this is

A continuously recalculated snapshot β€” not a static file and not a historical time series. Every request returns the current live gold price per gram at six standard purities, in each tracked country's own currency, plus KmalServico's editorial research status for that country. It is an independently computed figure from public spot-price and FX providers, not an official or government-published number.

Endpoint
/api/public/global-gold-dataset.json
Method
GET only
Response type
application/json
Authentication
None required β€” this endpoint is public.
Country coverage
All 188 tracked countries appear in every response; only 72 currently carry full editorial research (see research_status below).
Currency / unit coverage
Each country's own local currency; price per gram at 24k, 22k, 21k, 18k, 14k and 10k purity.

Update & cache behavior

The underlying spot gold price and exchange rates are re-checked on a scheduled cycle at most every 5 minutes β€” not on every request, and not continuously in real time. This endpoint's own response is edge-cached for a short period on top of that (observed in production: served from cache with an Age header of up to roughly 30 seconds); the Cache-Control header returned to browsers is public, max-age=0, so a browser will always revalidate, but an edge cache may legitimately serve a copy a few seconds old. There is no rate limit enforced today β€” please cache responses on your side rather than polling faster than the data actually changes.

Example request & response

curl https://www.kmalservico.com/api/public/global-gold-dataset.json

A real response, captured 2026-09-01 and trimmed to two of the 188 countries for readability:

{
  "dataset_name": "KmalServico Global Gold Price Dataset",
  "description": "An independently computed, continuously recalculated snapshot of gold spot prices across every market KmalServico tracks, converted from the international XAU/USD benchmark using live exchange rates. This is not an official or government-published dataset.",
  "generated_at": "2026-09-01T19:23:03.744Z",
  "spot_gold": {
    "usd_per_troy_ounce": 4335.6001,
    "source": "xaus.com + gold-api.com",
    "status": "live",
    "fetched_at": "2026-09-01T19:21:53.317+00:00"
  },
  "exchange_rates": {
    "source": "exchangerate-api.com",
    "fetched_at": "2026-09-01T19:21:57.564Z"
  },
  "methodology": "price_per_gram values = (usd_per_troy_ounce / 31.1034768) * purity_fineness * local_currency_fx_rate. See https://www.kmalservico.com/pages/methodology for full detail and https://www.kmalservico.com/pages/data-sources for provider attribution.",
  "research_status_definitions": {
    "full": "All four editorial sections (introduction, market notes, buying guide, tax notes) are published for this country, independently researched and sourced -- see the country's own page for citations.",
    "partial": "At least one editorial section is published, but not all four yet.",
    "none": "Live price data only. No editorial research has been published for this country yet."
  },
  "total_countries": 188,
  "countries": [
    {
      "country_slug": "india",
      "country_name": "India",
      "iso2": "IN",
      "iso3": "IND",
      "region": "Asia",
      "currency_code": "INR",
      "research_status": "full",
      "research_sections_published": 4,
      "price_per_gram": {
        "24k": 13268.87,
        "22k": 12164.79,
        "21k": 11611.42,
        "18k": 9952.64,
        "14k": 7740.5,
        "10k": 5529.69
      }
    },
    {
      "country_slug": "afghanistan",
      "country_name": "Afghanistan",
      "iso2": "AF",
      "iso3": "AFG",
      "region": "Asia",
      "currency_code": "AFN",
      "research_status": "none",
      "research_sections_published": 0,
      "price_per_gram": {
        "24k": 9045.69,
        "22k": 8293.01,
        "21k": 7915.77,
        "18k": 6784.94,
        "14k": 5276.88,
        "10k": 3769.71
      }
    }
  ],
  "links": {
    "human_readable_report": "https://www.kmalservico.com/global-gold-report",
    "methodology_page": "https://www.kmalservico.com/pages/methodology",
    "data_sources_page": "https://www.kmalservico.com/pages/data-sources"
  }
}

Field reference

Top level

FieldTypeDescription
dataset_namestringFixed label for this dataset.
descriptionstringOne-sentence description, including the explicit note that this is not an official/government dataset.
generated_atstring (ISO 8601)When this specific response was generated.
spot_goldobjectThe consensus XAU/USD spot price behind every price_per_gram figure below β€” usd_per_troy_ounce, source, status ("live" or "stale"), fetched_at.
exchange_ratesobjectProvider source and fetch time for the FX rates used to convert spot gold into local currencies.
methodologystringThe exact per-gram conversion formula, in plain text.
research_status_definitionsobjectHuman-readable definitions of the three research_status values used per country: full, partial, none.
total_countriesnumberLength of the countries array.
countriesarray of objectsOne entry per tracked country β€” see the per-country table below.
linksobjectURLs to the human-readable report and the site's methodology/data-sources pages.

Each entry in countries[]

FieldTypeDescription
country_slugstringStable identifier, e.g. "india" β€” matches the slug used in KmalServico's own URLs.
country_namestringDisplay name.
iso2 / iso3string | nullISO 3166-1 alpha-2 / alpha-3 country codes, where known.
regionstring | nullBroad geographic region.
currency_codestringISO 4217 currency code used for this country's prices.
research_status"full" | "partial" | "none"Editorial research depth β€” see research_status_definitions above. Independent of price availability.
research_sections_publishednumber (0–4)How many of the four editorial sections (intro, market notes, buying guide, tax notes) are published.
price_per_gramobject | nullLive price per gram at each standard purity (24k/22k/21k/18k/14k/10k), in the country's own currency. null when a current exchange rate for that currency isn't available β€” never a fabricated or stale-silently-passed-off value.

Methodology

price_per_gram values are computed as (usd_per_troy_ounce Γ· 31.1034768) Γ— purity_fineness Γ— local_currency_fx_rate. The spot gold figure itself is a consensus across multiple independent providers (gold-api.com, Metals.dev, Alpha Vantage and xaus.com): when more than one provider is available, KmalServico takes the median, rejects any quote more than 2% from it as untrustworthy, and computes a weighted average of the providers that remain in agreement β€” refusing to publish a blended figure at all when providers disagree by more than 8% with fewer than two left in agreement, rather than silently picking one source. Full detail is on the methodology page and data sources page.

Known limitations

  • No historical time series. This endpoint returns a live snapshot only β€” it does not expose KmalServico's internal price-history archive.
  • Editorial coverage is partial. 72 of 188 countries currently have full editorial research (research_status: "full"); most have live pricing only.
  • Not real-time in the strictest sense. The underlying price refreshes on a scheduled cycle (at most every 5 minutes), not on every request.
  • No SLA. This is a free public endpoint with no uptime guarantee or versioning contract today.

Attribution & contact

No attribution is legally required to use this data, but a link back to kmalservico.com/global-gold-report or a citation of "KmalServico" is appreciated. Found an issue with the data or this documentation? Contact us.