Skip to content
RealMarketAPI

Commodity

XCUUSD market data API

Copper / US Dollar. Query the latest XCUUSD price, recent candles and history over REST, or stream it over WebSocket.

Symbol details

symbolCode
XCUUSD
Name
Copper / US Dollar
Market class
Commodity

Pass XCUUSD as symbolCode on every endpoint below. GET /api/v1/symbol lists every supported symbol, and GET /api/v1/me returns the exact symbols and timeframes your API key can use.

Plans and timeframes

Which plans include XCUUSD, and the timeframes, history window and WebSocket access each plan has.

PlanIncludes XCUUSDTimeframesHistorical dataWebSocket
FreeNoM1, M5, H1——
StarterYesM1, M5, M15, H1, H4, D130 days—
PlusYesM1, M5, M15, H1, H4, D13 months✓
ProYesM1, M5, M15, H1, H4, D11 year✓
BusinessYesM1, M5, M15, H1, H4, D1Up to 10 years✓
EnterpriseCustomCustomCustom✓

See pricing for request limits and prices.

Latest XCUUSD price

GET /api/v1/price returns the latest XCUUSD candle for one timeframe.

bash
curl "https://api.realmarketapi.com/api/v1/price?apiKey=YOUR_API_KEY&symbolCode=XCUUSD&timeFrame=H1"
index.js
const params = new URLSearchParams({
  apiKey: process.env.REALMARKETAPI_KEY,
  symbolCode: "XCUUSD",
  timeFrame: "H1",
})
const res = await fetch(`https://api.realmarketapi.com/api/v1/price?${params}`)
if (!res.ok) throw new Error(`HTTP ${res.status}`)
console.log(await res.json())
main.py
import os
import requests

res = requests.get("https://api.realmarketapi.com/api/v1/price", params={
    "apiKey": os.environ["REALMARKETAPI_KEY"],
    "symbolCode": "XCUUSD",
    "timeFrame": "H1",
})
res.raise_for_status()
print(res.json())

XCUUSD candles and history

GET /api/v1/candle returns the most recent XCUUSD candles for one timeframe.

bash
curl "https://api.realmarketapi.com/api/v1/candle?apiKey=YOUR_API_KEY&symbolCode=XCUUSD&timeFrame=H1"

GET /api/v1/history pages through stored candles between startTime and endTime. Needs a plan with historical data.

bash
curl "https://api.realmarketapi.com/api/v1/history?apiKey=YOUR_API_KEY&symbolCode=XCUUSD&startTime=2026-11-10T00:00:00Z&endTime=2026-11-11T00:00:00Z&pageNumber=1&pageSize=100"

Stream XCUUSD over WebSocket

WebSocket streams need a plan with WebSocket access (see the table above).

stream.js
// /price streams XCUUSD H1 candles; use /candles for the rolling window.
const ws = new WebSocket("wss://api.realmarketapi.com/price?apiKey=YOUR_API_KEY&symbolCode=XCUUSD&timeFrame=H1")
ws.onmessage = (event) => console.log(JSON.parse(event.data))
ws.onclose = (event) => console.log("closed", event.code, event.reason)
stream.py
import asyncio, json, websockets

async def main():
    url = "wss://api.realmarketapi.com/price?apiKey=YOUR_API_KEY&symbolCode=XCUUSD&timeFrame=H1"
    async with websockets.connect(url) as ws:
        async for message in ws:
            print(json.loads(message))

asyncio.run(main())

Start querying XCUUSD

Create a free API key and try these requests in the playground.