Get Gold Sep 2026 (GCU26) - Per Troy Ounce Historical Prices using this API — daily, hourly, and tick-level examples
If you need Gold Sep 2026 (GCU26) historical prices per troy ounce for backtesting, pricing models, or risk systems, you can build them today with Metals-API’s XAU historical data. While futures symbols like GCU26 trade on exchanges, Metals-API delivers the underlying gold spot (XAU) in a normalized, machine-friendly JSON format that’s perfect for research and production use. In this guide, you’ll pull daily, hourly, and tick-like intraday gold rates, convert them into USD-per-troy-ounce, align them to your futures calendar, and feed them into charts, alerts, and valuation logic—using only a few well-structured requests.
What we’ll build: a reliable GCU26 history from normalized XAU prices
Developers, quants, and product teams often need a clean, consistent time series for a specific futures contract (e.g., GCU26). You can accomplish this by:
- Querying spot gold (XAU) historical prices from Metals-API
- Converting the default USD base format (XAU per USD) into USD per troy ounce
- Resampling intraday snapshots (for “hourly” and “tick-like” bars) with the Intraday and OHLC features
- Aligning the series to your contract’s active window (e.g., first notice, last trade, or a chosen roll rule)
- Adding bid/ask, OHLC, and fluctuation metrics for trading and risk analytics
We’ll use the Metals-API endpoints that return gold prices in a consistent structure you can cache, transform, and stream into internal tools or client-facing dashboards. If you’re new to the platform, visit the Metals-API Website and get a free API key to follow along.
Key concept: XAU spot vs. a futures contract like GCU26
Metals-API provides normalized metals price data (e.g., XAU) in a consistent format, globally accessible over JSON. Gold futures such as “GCU26” are specific exchange-traded instruments with delivery months and exchange calendars. In production, many teams map a given futures month (e.g., Sep 2026) to the corresponding spot XAU series for:
- Pre-trade analytics and indicative valuations
- Historical backtesting without exchange licensing overhead
- Risk factor modeling where spot is a primary driver
- Synthetic continuous contract construction (using spot as a baseline or sanity check)
When you need futures-specific microstructure or settlement data, you’ll still consult your exchange or market data vendor. However, for API-first applications that require scalable, normalized gold prices per troy ounce, spot XAU from Metals-API is often the fastest path to a robust, real-time and historical backbone.
Understanding the unit model: per troy ounce with USD as base
Metals-API returns rates by default with USD as the base and metals expressed “per troy ounce” in terms of how many ounces you can buy with one unit of the base. For example, if the response shows XAU: 0.000482 and base: USD, the interpretation is:
- 0.000482 troy ounces of gold per 1 USD
- To convert to USD per troy ounce, invert the number: USD_per_oz = 1 / 0.000482
This inversion is critical for most trading and reporting use cases because users often expect prices “in USD per troy ounce.” We’ll show how to perform this conversion after pulling data. Always confirm the unit field in responses, which states “per troy ounce.”
Symbols, base currency, and mapping for gold workflows
To retrieve gold spot data, use the XAU symbol. For a full catalog of supported symbols, consult the Metals-API Supported Symbols. You can request symbols like XAU, XAG, XPT, XPD, XCU, XAL, and more. All examples below reference XAU for gold.
| Symbol | Description | Common Unit | Notes |
|---|---|---|---|
| XAU | Gold | Troy ounce | Default unit in Metals-API responses is per troy ounce |
| XAG | Silver | Troy ounce | Useful for gold/silver ratios |
| XPT | Platinum | Troy ounce | Common for PGM strategies |
| XPD | Palladium | Troy ounce | Bid/Ask spreads may be wider |
| XCU | Copper | Pound or metric ton (varies by venue) | Check units and convert consistently in your app |
| XAL | Aluminum | Typically metric ton | Useful for manufacturing and hedging workflows |
A step-by-step plan to build GCU26-like history from Metals-API
- Define your historical window: for example, from 2025-01-01 to the GCU26 last trade date. Decide your roll/align rules.
- Pull daily XAU prices with the Time-Series feature to populate your baseline.
- Use the Intraday feature on selected trading days to densify the series (hourly or higher-frequency snapshots).
- For volatility and spread-aware backtests, combine Bid/Ask and OHLC to create conservative entry/exit estimates.
- Apply currency and unit transformations: invert XAU to get USD/oz, resample as needed, and store canonicalized timestamps in UTC.
- Cache results and implement a weekend/holiday policy so you don’t overshoot your quotas.
We’ll walk through each of these tasks, using requests and responses you can drop into your pipeline.
Daily history: time-series XAU for your contract window
For backfilling daily close-like prices across your chosen window, use the Time-Series capability. Here’s a practical curl request to retrieve daily XAU for September 2026 (commonly relevant for the GCU26 month). Replace YOUR_KEY with your actual key:
curl "https://metals-api.com/api/timeseries?access_key=YOUR_KEY&base=USD&symbols=XAU&start_date=2026-09-01&end_date=2026-09-30"
Below is a realistic JSON response format for a time range. Note the base, the unit, and the rates keyed by date:
{
"success": true,
"timeseries": true,
"start_date": "2026-09-09",
"end_date": "2026-09-16",
"base": "USD",
"rates": {
"2026-09-09": {
"XAU": 0.000485,
"XAG": 0.03825,
"XPT": 0.000915
},
"2026-09-11": {
"XAU": 0.000483,
"XAG": 0.0382,
"XPT": 0.000913
},
"2026-09-16": {
"XAU": 0.000482,
"XAG": 0.03815,
"XPT": 0.000912
}
},
"unit": "per troy ounce"
}
How to interpret and use the fields
- success: Boolean status of the request.
- timeseries: Indicates this is a time range query.
- start_date / end_date: The date bounds Metals-API honored. This can be useful to verify weekend/holiday handling.
- base: “USD” indicates all rates reflect one unit of USD.
- rates: A dictionary keyed by day, each including symbols requested. For XAU, the value represents troy ounces per USD for that date.
- unit: “per troy ounce” confirms the unit basis.
To report USD per troy ounce, compute price_usd_per_oz = 1 / XAU_value. Store this alongside the raw value so downstream systems have both. Because markets can be closed on weekends or specific holidays, you might not receive entries for every calendar day. Plan your resampling/interpolation policy accordingly.
Hourly and tick-like snapshots: Intraday and OHLC together
Intraday provides higher-frequency snapshots for a single symbol. Combine Intraday with OHLC for open, high, low, and close summaries across specific time buckets. This approach gives you:
- “Tick-like” snapshots for event detection or micro-backtests (Intraday)
- Hour or day-level candles with OHLC metrics for trend and volatility analytics (OHLC)
While the exact intraday payload varies by plan, the integration pattern is consistent: request XAU over a narrower window to avoid large payloads, then roll up to 1-hour bars for GCU26 scenarios. Here’s an OHLC example response (daily) that you can adapt for intraday windows:
{
"success": true,
"timestamp": 1789521744,
"base": "USD",
"date": "2026-09-16",
"rates": {
"XAU": {
"open": 0.000485,
"high": 0.000487,
"low": 0.000481,
"close": 0.000482
},
"XAG": {
"open": 0.03825,
"high": 0.0383,
"low": 0.0381,
"close": 0.03815
},
"XPT": {
"open": 0.000915,
"high": 0.000918,
"low": 0.00091,
"close": 0.000912
}
},
"unit": "per troy ounce"
}
For hourly bars, design your scheduler to pull intraday data at fixed intervals during your market hours of interest, then aggregate snapshots into custom OHLC buckets. If your plan includes an Intraday endpoint parameter for interval or limit, tune it to your CPU and memory budget. Keep payloads small and focused on XAU for performance and clarity.
Bid/Ask to build execution-aware backtests
Bid/Ask spreads help reflect realistic trading frictions. Metals-API returns bid and ask quotes per symbol, letting you simulate limit and market orders more realistically. Here’s a realistic example:
{
"success": true,
"timestamp": 1789521744,
"base": "USD",
"date": "2026-09-16",
"rates": {
"XAU": {
"bid": 0.000481,
"ask": 0.000483,
"spread": 2.0e-6
},
"XAG": {
"bid": 0.0381,
"ask": 0.0382,
"spread": 0.0001
},
"XPT": {
"bid": 0.000911,
"ask": 0.000913,
"spread": 2.0e-6
}
},
"unit": "per troy ounce"
}
Backtesting tip: invert bid and ask separately to create USD-per-oz bid/ask values. Use the ask for buy simulations and the bid for sell simulations. Maintain separate time series for mid and spread to run sensitivity analyses.
A practical Python example: fetch, invert, and resample for GCU26
The following code snippet demonstrates how to fetch a daily time series, convert XAU from USD base (ounces per USD) into USD per troy ounce, and prepare the data for an hourly model. This pattern can power your GCU26-aligned analytics by providing a clean XAU backbone.
import os
import time
import json
import urllib.request
from datetime import datetime, timedelta, timezone
API_KEY = os.getenv("METALS_API_KEY", "YOUR_KEY")
BASE_URL = "https://metals-api.com/api"
def fetch_timeseries(start_date, end_date, symbols="XAU", base="USD"):
url = (f"{BASE_URL}/timeseries?access_key={API_KEY}"
f"&base={base}&symbols={symbols}"
f"&start_date={start_date}&end_date={end_date}")
with urllib.request.urlopen(url, timeout=30) as r:
return json.loads(r.read().decode("utf-8"))
def invert_to_usd_per_oz(xau_per_usd):
# Metals-API returns troy ounces of XAU per 1 USD when base=USD.
# We invert to get USD per troy ounce.
return 1.0 / xau_per_usd if xau_per_usd and xau_per_usd != 0 else None
def canonicalize_daily_xau_usd_oz(payload):
unit = payload.get("unit")
if unit != "per troy ounce":
raise ValueError(f"Unexpected unit: {unit}")
base = payload.get("base")
if base != "USD":
raise ValueError(f"Unexpected base: {base}")
rates = payload.get("rates", {})
out = []
for day, symbols in sorted(rates.items()):
xau = symbols.get("XAU")
usd_per_oz = invert_to_usd_per_oz(xau)
if usd_per_oz is None:
continue
out.append({
"date": day,
"xau_per_usd": xau,
"usd_per_oz": usd_per_oz
})
return out
# Example: fetch September 2026 daily XAU and convert to USD/oz
payload = fetch_timeseries("2026-09-01", "2026-09-30")
daily = canonicalize_daily_xau_usd_oz(payload)
# You can now join 'daily' to your GCU26 calendar window and resample
# using your own schedule. Store timestamps in UTC and handle weekends/holidays
# by forward-fill or business-day rules that fit your model.
Persist the inverted series to your datastore (e.g., Parquet, Postgres, DuckDB). Apply your roll or alignment logic to match the GCU26 contract lifecycle in your backtests or dashboards.
Latest and historical point-in-time checks
Sometimes you need the latest XAU print, or you want to query a specific historical date. Metals-API provides both:
Latest XAU for real-time pricing and alerts
Use the Latest feature when you want the current spot values for UI displays, risk checks, or on-demand analytics. Here’s a representative response:
{
"success": true,
"timestamp": 1789521744,
"base": "USD",
"date": "2026-09-16",
"rates": {
"XAU": 0.000482,
"XAG": 0.03815,
"XPT": 0.000912,
"XPD": 0.000744,
"XCU": 0.294118,
"XAL": 0.434783,
"XNI": 0.142857,
"XZN": 0.344828
},
"unit": "per troy ounce"
}
Key fields:
- timestamp: Unix epoch seconds; store and compare in UTC
- date: Human-readable date corresponding to the timestamp
- rates: Dict of symbols with ounces per USD numbers; invert as needed
Historical daily snapshot for a single day
When you need a one-day lookup (e.g., to reconcile your archive), query by date:
{
"success": true,
"timestamp": 1789435344,
"base": "USD",
"date": "2026-09-15",
"rates": {
"XAU": 0.000485,
"XAG": 0.03825,
"XPT": 0.000915,
"XPD": 0.000748
},
"unit": "per troy ounce"
}
For consistency, apply the same inversion and unit checks here as you do with time-series calls.
Measuring moves: Fluctuation for XAU
To understand how gold moved over a window (e.g., the life of GCU26 or any sub-interval), Metals-API provides a fluctuation summary. This is particularly helpful for analytics cards, VaR previews, or report headlines.
{
"success": true,
"fluctuation": true,
"start_date": "2026-09-09",
"end_date": "2026-09-16",
"base": "USD",
"rates": {
"XAU": {
"start_rate": 0.000485,
"end_rate": 0.000482,
"change": -3.0e-6,
"change_pct": -0.62
},
"XAG": {
"start_rate": 0.03825,
"end_rate": 0.03815,
"change": -0.0001,
"change_pct": -0.26
},
"XPT": {
"start_rate": 0.000915,
"end_rate": 0.000912,
"change": -3.0e-6,
"change_pct": -0.33
}
},
"unit": "per troy ounce"
}
Invert start_rate and end_rate to compute USD/oz deltas if that’s your canonical unit. Store both sets of changes if downstream users consume either representation.
Precise daily candles: combining OHLC and Lowest/Highest
For visualizations and indicators, OHLC is ideal. You can further annotate your charts using Metals-API’s Lowest/Highest feature to highlight extremes on chosen dates. This complements your GCU26 study by showing how spot behaved during key roll/notice periods.
Consider building:
- A daily chart with XAU OHLC (inverted to USD/oz) and overlays of Lowest/Highest levels
- Intraday ladders that highlight bid/ask spreads during high-volatility sessions
- Rolling volatility bands computed from the OHLC close sequence
Conversion use cases: units, currencies, and carat-specific pricing
Many gold applications need to move beyond USD—into EUR, GBP, JPY—or to convert weights into grams or kilograms for jewelry and manufacturing workflows. Metals-API’s Convert feature helps with monetary conversions, and the Carat feature helps retail and jewelry experiences price gold content consistently.
Convert between USD and XAU
This is useful for quoting amounts in ounces or dollars for invoices or trading widgets:
{
"success": true,
"query": {
"from": "USD",
"to": "XAU",
"amount": 1000
},
"info": {
"timestamp": 1789521744,
"rate": 0.000482
},
"result": 0.482,
"unit": "troy ounces"
}
To compute the inverse (XAU to USD), you can swap from/to or perform arithmetic if your workflow prefers. Always log the timestamp for auditability.
Carat pricing for gold retail flows
When quoting jewelry, carat-based rates matter. Metals-API’s Carat feature returns gold rates by carat with a specified base. Use it to present carat-specific quotes directly tied to spot. For end-to-end consistency, keep your underlying XAU series aligned with your carat conversions and disclose assumptions to end-users.
Authentication, security, and operational hygiene
Every request requires your access_key. Keep it outside code repositories by loading from environment variables or a secrets manager. When using client-side code, proxy your requests from a secure backend to avoid exposing keys. Rotate keys regularly and monitor for anomalies.
- Store access_key server-side
- Use HTTPS-only requests
- Implement request signing at your edge if you consolidate multiple data vendors
- Throttle noisy clients in your gateway to prevent unnecessary retries
To get your key, sign up on the Metals-API Website. Review plan details and allowable update frequencies in the Metals-API Documentation to choose the right balance of freshness and volume for your GCU26 workflows.
Caching, rate management, and resilient retries
Production systems should cache successfully retrieved JSON for a defined TTL, especially for daily time-series and static symbol lists. Recommended patterns:
- ETL cache: Store raw JSON responses keyed by route and parameters
- Materialized series: Maintain inverted USD/oz series and OHLC tables for rapid queries
- Weekend/holiday policy: Pre-load and reuse last known close for display; avoid hitting the API when markets are widely known to be closed
- Retry with jitter: Back off on transient network failures; do not retry on 4xx authorization errors
For intraday polling, align intervals with your subscription’s update frequency. If your plan updates every 10 minutes, avoid polling more frequently than that to reduce redundant hits and stay within quotas.
Timekeeping: timestamps, timezones, and market schedules
Metals-API provides timestamps as Unix epoch seconds. Normalize to UTC internally. Consider:
- Store canonical UTC for all event times
- Only convert to local timezones at the API boundary or UI layer
- Handle missing days due to weekends and global holidays; do not assume dense daily data
- For GCU26 alignment, track exchange-specific cutoffs (e.g., last trading day) in a separate calendar and join to your XAU series
Data validation and sanitization
Before persisting responses, validate:
- success is true
- base is USD (if your pipeline expects it)
- unit is per troy ounce
- rates.XAU is present and non-zero
- timestamp and date are consistent
Sanitize by removing unexpected fields and logging anomalies. Keep an “ingest quarantine” for outliers so you can investigate without polluting downstream analytics.
Performance and cost optimization strategies
- Batch daily historical backfills with Time-Series rather than looping over single-day requests
- Reduce symbol sets to the minimum required (often just XAU) for intraday calls
- Apply compression at rest; JSON compresses very well, but consider columnar formats for analytics
- Pre-compute and cache inverted USD/oz values and OHLC consolidations so dashboards query pre-aggregated data
- Use a CDN or edge KV for frequently-requested, semi-static JSON snippets like yesterday’s close
Real-world pipelines: from Metals-API to production
Here’s a typical architecture for a GCU26-aligned gold pipeline:
- Scheduler triggers daily Time-Series pulls and periodic Intraday snapshots for XAU
- Ingest workers validate and store raw JSON
- Transform jobs invert XAU values into USD/oz and compute OHLC, Lowest/Highest, Fluctuation metrics
- Join to contract calendars (e.g., GCU26 lifecycle) for alignment and labeling
- Persist canonicalized datasets to your warehouse and a low-latency cache for apps
- Expose processed series to trading tools, pricing engines, ERP connectors, and research notebooks
Using multiple features together for richer insights
- Latest + Bid/Ask: Build a live quote widget showing USD/oz bid/ask, updated per plan frequency
- Time-Series + Fluctuation: Trend cards with week-over-week and month-over-month changes for gold
- OHLC + Lowest/Highest: Daily or hourly candles with extreme markers for technical analysis
- Convert + Carat: Checkout or retail display that prices items in a shopper’s home currency and carat level
Endpoint behavior in context, with example responses
Time-Series (daily backfills for your GCU26 window)
Purpose: Pull a range of daily observations for one or more symbols. Ideal for backfills and bulk updates. The response format shown earlier lists rates by date with base and unit included. Use it to build dense and consistent XAU sequences.
Performance tips:
- Request only the symbols you need (e.g., symbols=XAU)
- Break long periods into monthly or quarterly slices to parallelize and avoid timeouts
- Cache responses for repeatable analytics
Latest (live dashboards and alerts)
Purpose: Retrieve the most recent rates for rapid display and alerting. Combine with bid/ask for execution-aware metrics. Example response included above.
Optimization tips:
- Poll no more frequently than your plan’s update interval
- Edge-cache the last successful payload for your UI
Historical (single-date lookups)
Purpose: Get a specific historical day’s rates, helpful for reconciliation and audit.
Usage tips:
- Keep a daily ETL that also writes single-day snapshots to a date-keyed store
- Use consistent inversion logic across endpoints
Fluctuation (change summaries)
Purpose: Summarize start vs. end changes over a window. Handy for performance summaries and quick insights.
Usage tips:
- Annotate charts with change_pct for storytelling
- Store both raw and inverted changes to satisfy different consumer needs
OHLC (candlesticks for analysis)
Purpose: Provide open, high, low, and close for chosen periods. Useful for technical indicators, volatility estimates, and price discovery analysis.
Usage tips:
- Combine with Intraday to compute custom OHLC intervals (e.g., hourly)
- Invert each field (open/high/low/close) into USD/oz consistently
Bid/Ask (spread-aware simulations)
Purpose: Access bid, ask, and spread data to reflect transaction costs. Example response above.
Usage tips:
- Invert bid/ask separately; do not invert a mid and then derive spread
- Stress-test backtests under wider spreads to model liquidity risk
Convert (monetary conversions around XAU)
Purpose: Translate monetary amounts between currencies and metals. Example response above.
Usage tips:
- Log the info.timestamp for audit and reconciliation
- Expose inverse conversions via your UI for transparency
Carat (retail/jewelry scenarios)
Purpose: Price gold by carat content. Integrate into e-commerce and POS flows. For details, review the Metals-API Documentation.
Practical details a beginner might miss
- Troy ounce vs gram: A troy ounce is approximately 31.1034768 grams. When converting, keep precision high and round only at the display layer.
- Base currency: By default, base=USD. If you change base, your interpretation flips. Align all systems to one policy (e.g., always base=USD and invert to USD/oz).
- Timestamps: Always store in UTC. The date field reflects the same UTC context; don’t mix local midnight boundaries into your warehouse keys.
- Weekends/closures: Expect gaps. Don’t assume 7 data points per week for daily series. Use business calendars.
- Caching: Cache static symbol lists and slow-changing data. Respect your subscription’s update frequency for dynamic endpoints.
Security and compliance considerations
- Protect keys: Use secrets managers and rotate regularly
- RBAC/tenancy: If you expose Metals-API data to multiple clients, segregate datasets and authorize via your own identity layer
- Logging: Log request metadata (not secrets) and response timestamps for audits
- PII: Most metals data is non-PII; still adhere to your company’s data retention policies
Troubleshooting common pitfalls
- Unexpected units: Verify unit equals “per troy ounce.” If not, adjust transformation logic or query parameters.
- Wrong direction: Remember that with base=USD, rates show ounces per USD. Invert to get USD per ounce.
- Missing dates: Markets may be closed. Your ETL should skip or forward-fill based on policy.
- Over-polling: Align polling cadence with plan update intervals to avoid redundant requests and rate limits.
- Spreads too tight/wide: Use Bid/Ask; don’t rely on mid-only series for execution simulations.
Data analytics and market insights with XAU
With a reliable XAU backbone, your team can explore:
- Intraday volatility clustering aligned to macro events
- Gold-beta to FX pairs or rates curves using Convert outputs
- GCU26 alignment studies comparing spot behavior during roll windows
- Inventory valuation and ERP integrations using daily USD/oz closes
- Digital gold pricing experiences powered by Carat and conversion endpoints
Innovation in price discovery and digital transformation
Metals-API brings real-time and historical gold data into your SDLC, CI/CD, and data engineering pipelines. This enables:
- Programmatic price discovery via OHLC/Bid-Ask sampling
- On-demand analytics that reflect market structure and trading frictions
- Composable services that power next-gen fintech, commodities, jewelry, and manufacturing apps
As your systems evolve, modularize your ingestion and transformation layers so you can add new metals and currencies without disrupting downstream tools. For supported instruments, consult the Metals-API Supported Symbols list and plan your rollouts accordingly.
End-to-end example: building a September 2026 gold dashboard
- Backfill September 2026 daily XAU with Time-Series; invert to USD/oz and store as canonical daily closes.
- Schedule Intraday snapshots during your market hours; roll them into hourly OHLC candles for the same month.
- Overlay Bid/Ask mid and spread on an hourly chart to highlight liquidity changes.
- Use Fluctuation to summarize Sep 1 to Sep 30 changes in both raw and inverted terms.
- Provide a Convert widget so users can price 1 oz or 100g of gold in USD, EUR, or GBP instantly.
- Add a Carat tab for 18k and 22k price references at current spot.
The result: a complete, insight-rich dashboard for “GCU26-like” gold behavior grounded in normalized XAU prices.
Linking out for deeper context
- Official reference for API behavior and parameters: Metals-API Documentation
- Get started and obtain an access key: Metals-API Website
- Check available instruments: Metals-API Supported Symbols
- For futures contract context and calendars, consult your exchange resources such as CME Group’s contract pages (for example, CME Gold Futures overview) to align spot-derived series to contract lifecycles.
- For methodology comparisons and LBMA benchmarks, review LBMA prices and data for broader market reference.
Sample JSON responses recap
We’ve included representative responses for:
- Latest
- Historical (single date)
- Time-Series (range)
- Convert
- Fluctuation
- OHLC
- Bid/Ask
All examples confirm base=USD and unit=per troy ounce for consistent handling. Use these schemas to structure your ingestion and transformation code.
Putting it all together
To build a GCU26-like historical series “per troy ounce,” you don’t need exchange-native futures data for many analytics workflows. Metals-API’s XAU spot provides a robust, normalized backbone you can invert to USD/oz, densify with intraday snapshots, enrich with OHLC and Bid/Ask, and summarize with Fluctuation. The result is a reliable, scalable time series you can align to the September 2026 contract lifecycle for backtesting, dashboards, ERP pricing, and research.
Next steps: review the available endpoints and parameters in the Metals-API Documentation, confirm your symbols in the Supported Symbols list, and get your free key on the Metals-API Website to start building.
FAQ
Does Metals-API provide the GCU26 futures symbol directly?
Metals-API focuses on normalized metals data like XAU (gold spot). Many users map XAU to specific futures months (e.g., GCU26) for analytics, backtesting, and pricing models. For exchange-traded futures data and settlements, consult your market data provider or the relevant exchange.
How do I get USD per troy ounce from the API responses?
With base=USD, the XAU value represents troy ounces per 1 USD. Invert it to obtain USD per troy ounce: USD_per_oz = 1 / XAU_value. Apply this consistently to Latest, Historical, Time-Series, OHLC, and Bid/Ask fields.
What’s the best way to create hourly gold bars?
Use Intraday to capture snapshots during your chosen hours and roll them into 1-hour OHLC aggregations. Alternatively, if your plan supports OHLC at finer intervals, you can request those directly and invert the results.
How should I handle weekends and holidays?
Expect gaps in daily series. Use a business calendar and define a forward-fill or “no data” policy aligned to your use case. Do not assume seven daily records per week.
Can I price jewelry by carat from the API?
Yes. Use the Carat feature to retrieve gold rates by carat. Combine with Convert for currency changes and your own weight conversions (grams/ounces) to complete the workflow.
How do I keep my application within rate limits?
Cache aggressively, poll no more frequently than your plan’s update interval, and batch historical requests with Time-Series. Implement retries with exponential backoff and jitter for transient failures only.
Which symbols are available besides XAU?
Metals-API supports a wide range of metals and currencies. Review the up-to-date catalog on the Metals-API Supported Symbols page.
Where can I find the full parameter list and examples?
Visit the Metals-API Documentation for complete endpoint details, parameters, and plan-specific features. Sign up on the Metals-API Website to get your free API key and begin integrating today.