Free Exchange-Rate and Market Data (JSON)

GlobalFxcc publishes the same data that powers this site as plain JSON: mid-market exchange rates, 30-day history, economic-calendar events and precious-metal spot prices. Free to use for research, dashboards, articles and apps — with attribution.

Endpoints

EndpointWhat it returnsUpdate cadence
/rates-snapshot.json{ date, source, rates: { USD, EUR, GBP, PKR, … } } — 160+ currencies against USDEvery build / several times a day
/history.json{ generated, days: { "YYYY-MM-DD": { …rates } } } — daily USD-based rates, last 30 daysDaily
/calendar.jsonArray of economic events: { title, country, date, impact, forecast, previous }Weekly (feed refresh)
/metals.json{ success, rates: { XAU, XAG, XPT, XPD } } — spot metal prices in USD per troy ounceEvery build

All endpoints are public, CORS-enabled (Access-Control-Allow-Origin: *) and require no API key. Snapshot tokens: the exchange-rate snapshot and history are aligned to the same build so a cross-rate you calculate matches the pair pages exactly.

Quick examples

Get all rates and compute a cross-rate:

const res = await fetch("https://globalfxcc.com/rates-snapshot.json");
const { date, rates } = await res.json();

// USD → PKR directly
const usdPkr = rates.PKR;

// GBP → PKR cross-rate (equal to the GBP/PKR page value)
const gbpPkr = rates.PKR / rates.GBP;

console.log(date, usdPkr.toFixed(2), gbpPkr.toFixed(2));

Find the 30-day high and low for a pair:

const h = await (await fetch("https://globalfxcc.com/history.json")).json();
const series = Object.keys(h.days).sort().map(d => h.days[d].PKR / h.days[d].USD);
console.log("high", Math.max(...series), "low", Math.min(...series));

What the data is (and is not)

Attribution

Free use, commercial included. Please credit with a link:

Data: GlobalFxcc — https://globalfxcc.com

HTML snippet:

<a href="https://globalfxcc.com/" rel="noopener">Exchange-rate data by GlobalFxcc</a>

Related