Finance.Foundation
Asset · Commodity · Industrial metal

Copper

'Dr. Copper' — the industrial metal most watched as a global-growth indicator; central to electrification.

This asset is futures listed on the venues linked above — a typed relationship in the dataset, not a name that happened to match.

No live level is shown for this asset: our open, keyless sources cover crypto, major FX crosses, the ECB policy rate, the US 10-year yield and US CPI — index levels and commodity prices are only available from licensed vendors, and we do not publish figures we cannot source openly. What we do carry.

Positioning · weekly

+69,434 contracts net long

Non-commercial (speculative) longs minus shorts as of 2026-10-06 — 7 days ago · CFTC Commitments of Traders

A position, not a price, and not a forecast — and never today. The report fixes positions as of a Tuesday and is published the Friday after, so it is three days old when it appears and ten by the time the next one lands. All five of the CFTC’s report families carry the same newest date, so this is the freshest that exists rather than the freshest we fetched. The commercial side is its mirror: every speculative long is somebody else’s short.

Symbol
HG
Type
Commodity
Category
Industrial metal
Quote currency
USD
Primary venue
New York Mercantile Exchange · London Metal Exchange
Issuer
—
Identifier
ISO 4217 covers precious metals and stops there. This one has no identifier standard at all: the symbol shown is an exchange contract root, which names a futures series rather than the underlying, and is not a code anyone else is obliged to recognise.

Approximate reference values from public sources · seed-0.7 · marketcap-1 · 2026-08-30 · not real-time. See data & methodology.

# this page as data GET https://finance.foundation/api/v1/assets/copper

JSONCSV No key, CORS enabled — paste any of these straight into a notebook.

Code to fetch it
curl
curl -s https://finance.foundation/api/v1/assets/copper
Python
import requests r = requests.get("https://finance.foundation/api/v1/assets/copper", timeout=30) r.raise_for_status() data = r.json()
JavaScript
const r = await fetch("https://finance.foundation/api/v1/assets/copper"); if (!r.ok) throw new Error(r.status); const data = await r.json();
pandas
import pandas as pd df = pd.read_csv("https://finance.foundation/api/v1/assets/copper.csv")