Get Uranium Jan 2026 (UXF26) - Per Pound prices using this API — REST endpoint example
Need to quote or backtest Uranium January 2026 per pound while also keeping an eye on Gold (XAU) spot? This guide shows how to use Metals-API to turn exchange-rate style metal quotes into actionable per-pound prices, including a REST example you can run today and a production-ready pattern you can adapt to trading tools, pricing engines, and research notebooks. We’ll also cover how to treat Gold (XAU) correctly—units, timestamps, spreads—and how to stitch together daily data for time series, OHLC candles, and day-over-day fluctuation analytics. If you’re aiming to get “Uranium Jan 2026 (UXF26)” per-pound quotes, first verify that the specific uranium symbol is supported; if it isn’t present in the symbols list, you can still apply the same workflow to supported metals like Gold (XAU), Silver (XAG), Platinum (XPT), Palladium (XPD), Copper (XCU), Aluminum (XAL), Nickel (XNI), and Zinc (XZN), and adapt the logic to any additional symbols as they become available.
What you’ll build: real-time and historical per-pound pricing from Metals-API
We’ll start with the practical outcome: query Metals-API for a supported metal (e.g., Gold/XAU), interpret the response—which is denominated as “metal per USD” and “per troy ounce”—and convert it to “USD per pound” for direct use in pricing and analytics. If the exact Uranium January 2026 symbol (e.g., a code like UXF26) appears in the supported symbols list, you can substitute that symbol and follow the same steps to compute per-pound values or generate daily candles around January 2026 with the time-series and OHLC endpoints.
Symbols and availability: first confirm your target instrument
Before building any integration around a futures code like “UXF26,” confirm it exists in Metals-API:
- Visit the Metals-API Supported Symbols page and search for the instrument.
- If the exact uranium future/month is not listed, Metals-API does not currently provide that instrument. In that case, you can track proxy metals or switch to available symbols like XAU (Gold) while you design the per-pound conversion and analytics pipeline. When the uranium symbol becomes available, minimal code changes will promote the same pipeline to your target.
In the walkthrough below, we’ll demonstrate the canonical logic on XAU (Gold)—which is widely used—and then explain how you would apply the same steps to any other supported symbol, including uranium, when listed.
Gold (XAU) market context and why it’s a good prototype
Gold (XAU) is among the most liquid precious metals and a first-choice benchmark for building and validating metals data integrations:
- Liquidity and tight spreads: XAU’s robust liquidity makes bid/ask spreads a helpful proxy for execution quality analysis.
- Active use in pricing and hedging: From jewelry and electronics to central bank reserves, XAU moves are widely monitored.
- Data availability: XAU is available through Metals-API endpoints like latest, historical, time-series, fluctuation, OHLC, and bid/ask, providing complete coverage for modeling and dashboards.
Best of all, Gold pricing through Metals-API is an excellent template for per-unit conversions and for interpreting the response format you’ll also use for other metals, including any uranium listing that may appear in the symbols catalog.
Key concepts for correct pricing: base currency, units, inversion, and per-pound conversion
Metals-API responses use a standard schema that’s easy to integrate once you internalize a few key rules:
- Base currency: Responses are quoted with a base of USD by default (field “base”: “USD”).
- Exchange-rate style: The “rates” object holds metal-per-USD values, not USD-per-metal. For example, a value like "XAU": 0.000482 with unit “per troy ounce” means 1 USD buys 0.000482 troy ounces of gold.
- Invert to USD per troy ounce: USD_per_oz = 1 / rate. For XAU = 0.000482, USD_per_oz ≈ 1 / 0.000482.
- Per pound conversion: A troy ounce is 31.1034768 grams; an avoirdupois pound is 453.59237 grams. Therefore, 1 pound ≈ 14.5833333 troy ounces. To convert USD/oz to USD/lb, multiply by 14.5833333.
- Timestamps and timezone: The “timestamp” is a Unix epoch (UTC). The “date” is ISO YYYY-MM-DD.
- Market calendar: Metals-API will return data for valid trading days. Weekends/holidays may carry forward the last valid price or show gaps depending on your endpoint and chosen dates. Always code defensively for non-trading days.
End-to-end: compute USD per pound using the Latest Rates endpoint
First, we’ll fetch the latest rates for XAU (Gold), then compute USD per troy ounce and finally USD per pound. If the uranium symbol for Jan 2026 is available in your account’s symbols list, you would replace XAU with that code and perform the same calculation.
cURL request to fetch latest rates for XAU
Replace YOUR_API_KEY with your key. If you need one, get a free key now on the Metals-API Website.
curl -s "https://metals-api.com/api/latest?access_key=YOUR_API_KEY&base=USD&symbols=XAU"
Example latest response (truncated for focus)
{
"success": true,
"timestamp": 1789605671,
"base": "USD",
"date": "2026-09-17",
"rates": {
"XAU": 0.000482
},
"unit": "per troy ounce"
}
Interpretation:
- rates.XAU = 0.000482 means 1 USD = 0.000482 oz of gold.
- USD per troy ounce = 1 / 0.000482.
- USD per pound = (1 / 0.000482) × 14.5833333.
JavaScript example: calculate USD/lb for XAU
This example fetches the latest XAU rate, converts to USD/oz, then to USD/lb, and prints the result. Adapt the symbol to a supported uranium code if/when listed.
// Node.js or modern browser
const API_KEY = process.env.METALS_API_KEY || "YOUR_API_KEY";
const SYMBOL = "XAU"; // Replace with a uranium symbol if it appears in the symbols list
async function fetchUsdPerPound(symbol) {
const url = `https://metals-api.com/api/latest?access_key=${API_KEY}&base=USD&symbols=${encodeURIComponent(symbol)}`;
const res = await fetch(url);
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const data = await res.json();
if (!data.success) {
throw new Error("API returned success=false; inspect your plan/symbols/params.");
}
const rate = data.rates[symbol]; // metal per USD, per troy ounce
if (!rate) throw new Error(`Symbol ${symbol} missing in response.`);
const USD_per_oz = 1 / rate;
const TROY_OUNCES_PER_POUND = 14.5833333; // 453.59237 g / 31.1034768 g
const USD_per_lb = USD_per_oz * TROY_OUNCES_PER_POUND;
return {
timestamp: data.timestamp,
date: data.date,
unit: "USD per pound",
symbol,
USD_per_lb
};
}
fetchUsdPerPound(SYMBOL)
.then(console.log)
.catch(console.error);
Realistic JSON output from the code
Note this is a derived object you would produce after performing the conversions above; the API itself returns metal-per-USD per troy ounce.
{
"timestamp": 1789605671,
"date": "2026-09-17",
"unit": "USD per pound",
"symbol": "XAU",
"USD_per_lb": 30258.42
}
Do not hardcode values; always compute from the API’s latest rate for accuracy.
Digging deeper: time series and OHLC around January 2026
Whether you’re analyzing Gold (XAU) or a Uranium January 2026 contract if/when supported, you’ll likely need daily history and candles:
- Backfill a chart around a period (e.g., January 2026) with the time-series endpoint. For uranium, if a futures-month instrument is provided, you’d typically request a date window that captures the contract’s active period. For spot XAU, choose any start/end dates within your plan’s range.
- Use the OHLC endpoint to retrieve open, high, low, and close per day to calculate ranges and volatility.
Time-series example: daily XAU rates across a sample week
{
"success": true,
"timeseries": true,
"start_date": "2026-09-10",
"end_date": "2026-09-17",
"base": "USD",
"rates": {
"2026-09-10": {
"XAU": 0.000485,
"XAG": 0.03825,
"XPT": 0.000915
},
"2026-09-12": {
"XAU": 0.000483,
"XAG": 0.0382,
"XPT": 0.000913
},
"2026-09-17": {
"XAU": 0.000482,
"XAG": 0.03815,
"XPT": 0.000912
}
},
"unit": "per troy ounce"
}
Usage:
- Iterate dates and invert XAU values to derive USD/oz, then multiply to get USD/lb.
- Cache results to avoid re-fetching unchanged days when backfilling charts.
- Handle non-trading days—note the gap between 2026-09-10 and 2026-09-12—by forward-filling or marking gaps based on your charting logic.
OHLC example: extract daily candle for XAU
{
"success": true,
"timestamp": 1789605671,
"base": "USD",
"date": "2026-09-17",
"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"
}
Convert each OHLC value independently (invert, then scale to pounds) to render USD/lb candles. This is essential for any UI or report that standardizes on pounds rather than troy ounces.
Bid/Ask spreads: quote discipline for trading tools
If your workflow relies on execution-quality metrics or spread-aware quoting, retrieve bid/ask data and compute mid, spread in USD/oz, and USD/lb.
{
"success": true,
"timestamp": 1789605671,
"base": "USD",
"date": "2026-09-17",
"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"
}
How to use:
- Invert bid and ask separately to get USD/oz bid and USD/oz ask. Don’t invert the mid or spread only; maintain side-specific precision.
- Scale to USD/lb by multiplying each inverted side by 14.5833333.
- Use the resulting USD/lb bid/ask for quoting, alerts, and slippage analysis.
Day-over-day changes: fluctuation endpoint for alerts and monitoring
To trigger inbound alerts (Slack, email, webhook) when metal moves exceed your threshold, compute daily percentage changes:
{
"success": true,
"fluctuation": true,
"start_date": "2026-09-10",
"end_date": "2026-09-17",
"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"
}
These changes are in the “metal per USD” space. If you need USD/lb changes, invert start and end, then scale to pounds, and recompute percentage changes in your target unit. This preserves unit consistency for UX and reporting.
Historical backtesting: historical daily point-in-time queries
When you need a single date’s closing levels for XAU or any supported metal, request the historical endpoint with the ISO date. This is helpful for point-in-time valuation and P&L backfills.
{
"success": true,
"timestamp": 1789519271,
"base": "USD",
"date": "2026-09-16",
"rates": {
"XAU": 0.000485,
"XAG": 0.03825,
"XPT": 0.000915,
"XPD": 0.000748
},
"unit": "per troy ounce"
}
As always, invert, then scale to pounds if your downstream requires USD/lb.
Conversion and currencies: price in EUR, GBP, or local settlement units
The convert endpoint allows converting an amount between currencies and metals. A common pattern: convert a given fiat amount to metal ounces, or vice versa. For per-pound workflows, you’ll still compute USD/oz first, then scale to USD/lb and apply FX conversions outside the unit math or via dual-step conversions.
{
"success": true,
"query": {
"from": "USD",
"to": "XAU",
"amount": 1000
},
"info": {
"timestamp": 1789605671,
"rate": 0.000482
},
"result": 0.482,
"unit": "troy ounces"
}
Use this when you must answer “How much gold would $1,000 buy?” For multi-currency support in e-commerce or ERP, first get USD/oz from latest/historical, then use your FX pipeline (Metals-API also provides currency rates) to yield “EUR per pound” or any target currency per your UI. Check the Metals-API Documentation for conversion parameters supported by your plan.
Intraday, LME history, carat, and min/max: specialized features to refine analytics
Depending on your subscription level, the following features can refine monitoring and analytics:
- Intraday endpoint: Query intraday data for a single symbol. Useful for tighter alerting windows and day-trading dashboards. Cache aggressively to avoid overuse and debounce polling in clients.
- Historical LME endpoint: LME symbols available back to 2008. This is a strong foundation for industrial metals modeling and long-run research. See the London Metal Exchange for market context.
- Carat endpoint: Gold by carat—handy for jewelry pricing flows and consumer-facing UI elements.
- Lowest/Highest endpoint: Request a date to get min/max for that day—perfect for daily range analytics or end-of-day reports.
Smart engineering: authentication, caching, and resiliency
Authentication
- Use the access_key parameter with every request. Never commit your key to a public repo; store it in environment variables or a secure secrets vault.
- Prefer server-side calls to Metals-API. If you must call from client-side, proxy through your backend to control exposure and apply quotas.
Caching to save requests and improve performance
- latest: Cache for the minimum update interval of your plan (e.g., 60 minutes or 10 minutes). Do not hammer the endpoint more frequently than data updates.
- historical/time-series: Cache indefinitely once fetched for a given date range; data is immutable.
- bid/ask and intraday: Use short TTL caches and ETag/If-Modified-Since where applicable, plus server-driven throttling.
- Compute USD/lb in your application layer and cache the derived values alongside the raw JSON so you don’t recompute frequently.
Handling weekends, holidays, and closures
- Time-series and historical may show gaps on non-trading days. Decide whether to forward-fill for charts or keep gaps explicit.
- Never assume seven contiguous calendar days of data for analytics windows; use trading-day counts.
Error handling and retries
- Check the “success” boolean in every response. If false, log context and halt processing for that call.
- Handle HTTP errors with exponential backoff for transient conditions.
- Validate expected fields (e.g., rates.XAU) before computing—fail fast and clearly when symbols are missing or not permitted by the plan.
Explaining the response fields you’ll actually use
- success: Boolean success indicator. If false, do not use other fields.
- timestamp: Unix epoch (UTC). Use for caching and as X-axis time anchors.
- base: Typically “USD”—indicates the exchange-rate direction: metal-per-USD.
- date: ISO date. Use for daily aggregation and chart labeling.
- rates: Metal-specific values. For scalar quotes (latest/historical/time-series), the value is metal-per-USD per troy ounce. For OHLC and bid/ask, values are nested objects with fields such as open/high/low/close or bid/ask/spread.
- unit: Usually “per troy ounce.” Hardcode your unit conversions in one tested utility module.
Design pattern: a shared utility for unit and inversion
To avoid bugs, centralize unit math:
- inverted(value) = 1 / value, with guardrails for zero/near-zero.
- usd_per_lb(value_metal_per_usd) = inverted(value_metal_per_usd) × 14.5833333.
- For OHLC and bid/ask: map over each field and apply the same transformation.
This discipline prevents silent inconsistencies when you add new endpoints or symbols (e.g., shifting from XAU to a uranium code once available).
Gold (XAU) practical applications with Metals-API
- Trading tools: Intraday XAU with bid/ask for real-time mid, slippage, and VWAP overlays.
- Fintech pricing: E-commerce or B2B quotes in local currency per gram or per pound—convert from USD/troy oz to your preferred unit, then convert currency.
- Research: Time-series backtesting with OHLC candles and fluctuation analytics to detect breakouts and volatility clustering.
- ERP: Cost-of-goods buffers based on day’s low/high bands from OHLC; reorder timing based on fluctuation triggers.
Find the full set of features and request formats in the Metals-API Documentation.
Getting Uranium Jan 2026 (UXF26) per pound: workflow and caveats
Uranium futures and forward codes vary by venue and vendor. Metals-API support depends on whether a particular symbol is available to your plan and in the global catalog:
- Check the symbols list for the exact uranium symbol you need (e.g., a January 2026 contract code). If it’s not listed, Metals-API does not currently provide it.
- If it is listed, request latest/historical/time-series/OHLC just like XAU, and perform the same inversion and per-pound conversion.
- If you require futures-specific behavior (e.g., roll logic across months), implement rolling selection in your app: select the active month based on a date rule, fetch that symbol, and rerun your per-pound conversions.
If you need market structure references while designing your pipeline, consult venue docs like the CME Group for general futures concepts and roll conventions. Keep in mind: use only the exact symbols listed by Metals-API for integration.
Fluent analytics: combining endpoints for robust insights
- Daily range decomposition: OHLC highs and lows inverted to USD/oz and then scaled to USD/lb for intraday range statistics and alert thresholds.
- Volatility tracking: Use time-series to compute daily returns and rolling volatility; pair with fluctuation for short-horizon change summaries.
- Spread-aware execution: Bid/ask inversion yields USD/lb bid and ask; compute mid and relative spread for transaction cost estimates.
- Min/Max benchmarking: Combine Lowest/Highest with OHLC to confirm the day’s realized extremes align with your observed ticks.
Architectural considerations and scaling
- Backend-first design: All calls to Metals-API should originate from your backend to secure keys and centralize caching.
- Layered cache:
- Memory cache (fast TTL) for latest/bid-ask/intraday to reduce tail latency.
- Persistent KV or datastore cache for historical and time-series windows (immutable data).
- Batching: For dashboards rendering multiple metals, request multiple symbols in a single call when supported by your plan; otherwise, parallelize with connection pooling.
- Resilience: Fallback to last-known-good cache for UI continuity if an upstream request fails transiently; surface a subtle “stale” indicator to users.
Security best practices
- Secret management: Store the access key in a secrets manager (e.g., AWS Secrets Manager, HashiCorp Vault) or environment variables with strict ACLs.
- Transport security: Always use HTTPS. Validate TLS in server environments.
- Input validation: Sanitize query parameters (e.g., symbols lists) to known-good sets from the symbols endpoint; never pass user-generated symbols directly to Metals-API without allowlisting.
- Observability: Log request IDs, timestamps, and sanitized parameters; redact keys in logs; trace end-to-end latency across your cache and API calls.
Performance and cost optimization
- Respect update frequencies: If your plan updates latest quotes every N minutes, poll at or slightly below that cadence; polling faster wastes calls without fresher data.
- Client-side memoization: When multiple UI components need the same price, share a single store rather than refetching independently.
- Compression and JSON handling: Enable gzip/deflate in HTTP clients; in code, precompile JSON parsing for hot paths where possible.
- Precision handling: Use decimal libraries if you run high-precision P&L or per-pound math to avoid floating point drift.
Reference: core example payloads and what to store
For each endpoint call, store the raw JSON plus your derived fields. Below are representative payloads and recommended derived values.
Latest (store and derive)
{
"success": true,
"timestamp": 1789605671,
"base": "USD",
"date": "2026-09-17",
"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"
}
- Derived per symbol: USD_per_oz, USD_per_lb.
- Store timestamp and date for cache keys and recency checks.
Historical (point-in-time)
{
"success": true,
"timestamp": 1789519271,
"base": "USD",
"date": "2026-09-16",
"rates": {
"XAU": 0.000485,
"XAG": 0.03825,
"XPT": 0.000915,
"XPD": 0.000748
},
"unit": "per troy ounce"
}
- Derived per date: USD_per_oz and USD_per_lb for each symbol you care about.
- Use in P&L or valuation engines that require prior-day closes.
Time-series (windowed)
{
"success": true,
"timeseries": true,
"start_date": "2026-09-10",
"end_date": "2026-09-17",
"base": "USD",
"rates": {
"2026-09-10": { "XAU": 0.000485, "XAG": 0.03825, "XPT": 0.000915 },
"2026-09-12": { "XAU": 0.000483, "XAG": 0.0382, "XPT": 0.000913 },
"2026-09-17": { "XAU": 0.000482, "XAG": 0.03815, "XPT": 0.000912 }
},
"unit": "per troy ounce"
}
- Derived series: arrays of USD_per_lb by date for charting and statistics (returns, drawdowns, rolling volatility).
OHLC (daily candle)
{
"success": true,
"timestamp": 1789605671,
"base": "USD",
"date": "2026-09-17",
"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"
}
- Derived for each field: USD_per_lb for open/high/low/close.
- Daily range: (USD_per_lb_high - USD_per_lb_low).
Bid/Ask (microstructure)
{
"success": true,
"timestamp": 1789605671,
"base": "USD",
"date": "2026-09-17",
"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"
}
- Derived: USD_per_lb_bid, USD_per_lb_ask, USD_per_lb_mid.
- Relative spread: (ask_bid_lb - bid_lb) / mid_lb.
Table: symbols, units, and conversion reminder
| Symbol | Description | API “rates” meaning | Convert to USD/oz | Convert to USD/lb |
|---|---|---|---|---|
| XAU | Gold | troy ounces per USD | 1 / rate | (1 / rate) × 14.5833333 |
| XAG | Silver | troy ounces per USD | 1 / rate | (1 / rate) × 14.5833333 |
| XPT | Platinum | troy ounces per USD | 1 / rate | (1 / rate) × 14.5833333 |
| XPD | Palladium | troy ounces per USD | 1 / rate | (1 / rate) × 14.5833333 |
| XCU | Copper | troy ounces per USD | 1 / rate | (1 / rate) × 14.5833333 |
| XAL | Aluminum | troy ounces per USD | 1 / rate | (1 / rate) × 14.5833333 |
| XNI | Nickel | troy ounces per USD | 1 / rate | (1 / rate) × 14.5833333 |
| XZN | Zinc | troy ounces per USD | 1 / rate | (1 / rate) × 14.5833333 |
About Neodymium (ND): data-driven futures and smart technology integration
While this article focuses on Gold (XAU) and a uranium January 2026 workflow, it’s worth noting how innovative, data-driven integrations generalize to rare earths like Neodymium (ND) when supported:
- Digital transformation in metal markets: Automated alerts, dashboarding, and ERP integrations reduce manual overhead and improve response time to volatile supply/demand conditions across specialty metals like ND.
- Technological innovation: Combine Metals-API with serverless architectures for auto-scaling pipelines, or stream endpoint outputs into real-time analytics for just-in-time procurement decisions.
- Data analytics and insights: With time-series and fluctuation data, compute leading indicators, regime shifts, and correlations between ND and broader manufacturing indices.
- Smart technology integration: Embed normalized unit conversions (e.g., per kg, per lb) alongside cost models in MES/ERP systems to inform production scheduling.
- Future trends: Expect tighter integration between market data and AI-driven forecasting, enabling scenario planning and early-warning signals for specialized metals, including neodymium, as datasets expand.
Where to go next
- Get your key: Sign up at the Metals-API Website to obtain a free API key.
- Explore the full feature set: Read the Metals-API Documentation for endpoint parameters, examples, and plan-specific capabilities.
- Verify instrument availability: Check Metals-API Supported Symbols to confirm whether a target like “Uranium Jan 2026 (UXF26)” is listed. If not, build your pipeline around currently supported metals and plug in uranium once available.
Conclusion
To compute per-pound prices for a supported metal—Gold (XAU) or a uranium contract if/when available—use Metals-API’s clear response schema: read “metal per USD per troy ounce,” invert to USD/oz, then multiply by 14.5833333 to get USD/lb. Build around the latest endpoint for real-time pricing; add historical, time-series, OHLC, and fluctuation for backfills, candle charts, and alerting. If you need tight spreads or intraday monitoring, use bid/ask and intraday features; for extended research, leverage historical LME and min/max endpoints. Architect your integration with caching, careful unit handling, and robust error checking. With this approach, you can price products in real time, fuel quant research, and support ERP and manufacturing workflows with reliable metals data—all from a single, developer-friendly API.
FAQ
- Does Metals-API provide Uranium Jan 2026 (UXF26)?
Check the symbols catalog: if the exact code isn’t listed, it’s not currently available. You can still implement the per-pound workflow with supported metals and add uranium later with minimal changes. - Why are the rates so small for XAU?
Because values are metal-per-USD per troy ounce (e.g., ~0.000482 oz per 1 USD). Invert to get USD per troy ounce. - How do I convert to pounds?
USD/lb = (1 / rate) × 14.5833333. Keep this in a shared utility and test thoroughly. - How should I handle weekends or holidays?
Expect gaps. Use forward-filling for charts if desired and avoid assuming seven calendar data points per week. - Can I price in EUR or GBP per pound?
Yes. Compute USD/lb, then convert with FX rates (Metals-API also provides currency rates) to get local currency per pound. - Where can I find all supported endpoints and parameters?
Review the Metals-API Documentation and cross-reference the Supported Symbols for your instruments. - How do I start?
Visit the Metals-API Website, get a free key, and try the cURL example in this article.