Commodity Price API

Real-Time Commodity Price API: Gold, Oil & 102 Markets

Query live spot prices for gold, oil, metals, agriculture and more: 102 commodities in one consistent JSON API. Every response includes the current price plus daily, weekly, monthly, year-to-date and yearly change, ready to drop into trading tools, dashboards and research pipelines.

Get Your API Key Discover Docs

← All financial data endpoints

Why Use FinanceFlowAPI’s Commodity Price API?

Tracking commodity prices usually means integrating a different exchange feed or data vendor for metals, energy and agriculture separately, each with its own format. The Commodity Price API normalizes 102 commodities across every major category into one schema and one authentication method, so you can add a new market to your product without a new integration.

  • One JSON schema for every commodity: no per-source parsing.
  • 102 commodities verified live against production, from gold and crude oil to freight indices.
  • A dedicated catalog endpoint to discover the exact commodity names available, instead of guessing spellings.
  • Same account, API key and billing as the rest of FinanceFlowAPI: Bonds, Currency, Economic Calendar and Economic Indicators data.

Key Capabilities

  • Current price plus five change metrics. Every response includes daily_change, weekly_change_percent, monthly_change_percent, ytd_change_percent and yearly_change_percent alongside the current price, so you get trend context without a second call.
  • Query by exact commodity name. Request precisely the market you need, e.g. gold, crude oil, brent.
  • Built-in discovery. commodity-catalog lists every commodity name available, so you never have to guess spelling.
  • Broad category coverage: precious metals, energy, industrial metals & materials, agriculture and commodity indices in one API.

Gold, Oil & Other Popular Commodity Prices via API

Gold and crude oil are two of the most frequently requested markets on the Commodity Price API, and both use the exact same commodity-spot endpoint as every other commodity, just change the name parameter:

  • Gold price API: GET /commodity-spot?api_key=YOUR_API_KEY&name=gold
  • Oil price API: crude oil (WTI) via name=crude oil, or Brent via name=brent
  • Silver price API: name=silver
  • Natural gas price API: name=natural gas

Each of these returns the same response shape as any other commodity: current price, and daily/weekly/monthly/YTD/yearly change. See Response Schema below for the full field list.

Data Coverage & Trust

MetricValue
Commodities covered102 (verified live via commodity-catalog, 2026-08-23)
CategoriesPrecious metals, energy, industrial metals & materials, agriculture, commodity & freight indices
Response formatJSON
Historical / time-series dataNot on this endpoint. commodity-spot returns only the current price plus period-over-period % changes, no date-range query. A separate commodity-history endpoint exists in the API for that (see Limitations)
AuthenticationAPI key, passed as an api_key query parameter
Rate limitPer-minute request limit, varies by subscription plan. See Pricing & Access below
Update frequencyNear real-time, updated approximately every minute per the site’s API documentation

Data Methodology

Commodity Price API data is aggregated from market and exchange data sources and normalized into one consistent schema (commodity_name, current_price, and five change fields) for every supported commodity, so your integration doesn’t need a different parser per source. Sourced from aggregated third-party market and statistical data providers; the specific vendor and full per-commodity methodology are not published.

Live API Playground

An interactive API Playground for this endpoint is planned. Until it ships, use the request and response examples below, or your own HTTP client, to try the API live with your key.

Request Example

GET https://financeflowapi.com/api/v1/commodity-spot?api_key=YOUR_API_KEY&name=gold

Response Example

{
  "success": true,
  "code": 200,
  "message": "OK",
  "meta": {
    "timestamp": 1787480152,
    "request_id": "6a8ac858320ea"
  },
  "data": {
    "commodity_name": "gold",
    "current_price": 4607.35,
    "daily_change": "91.57",
    "daily_change_percent": "2.03%",
    "weekly_change_percent": "5.30%",
    "monthly_change_percent": "11.54%",
    "ytd_change_percent": "6.66%",
    "yearly_change_percent": "36.59%",
    "last_updated": "2026-08-21"
  }
}

API Parameters

commodity-spot returns the current price for one commodity:

ParameterRequiredDescription
api_keyYesYour FinanceFlowAPI key
nameYesCommodity name exactly as returned by commodity-catalog, e.g. gold, crude oil, brent

commodity-catalog lists the available commodity names:

ParameterRequiredDescription
api_keyYesYour FinanceFlowAPI key

Response Schema

The data object for commodity-spot:

FieldTypeDescription
commodity_namestringCommodity name, matches catalog spelling
current_pricenumberLatest price
daily_changestring (numeric)Absolute price change vs. the previous day
daily_change_percentstringPercent change vs. the previous day
weekly_change_percentstringPercent change vs. one week ago
monthly_change_percentstringPercent change vs. one month ago
ytd_change_percentstringPercent change since the start of the year
yearly_change_percentstringPercent change vs. one year ago
last_updatedstringDate the price was last updated, YYYY-MM-DD

Each item in data for commodity-catalog:

FieldTypeDescription
namestringCommodity name

HTTP Status & Errors

HTTP codeMeaningWhen it happens
200OKRequest succeeded, data returned
400Bad requestname missing
403Invalid API key or subscription expiredapi_key missing, invalid, or your subscription has expired
404Data not foundUnknown or misspelled commodity name. Unlike some other FinanceFlowAPI endpoints, an unmatched name returns a 404 here, not an empty result
429Rate limit exceededYou exceeded the per-minute request limit for your subscription plan
500Internal errorUnexpected server-side failure (rare)

Code Examples

curl "https://financeflowapi.com/api/v1/commodity-spot?api_key=YOUR_API_KEY&name=gold"
import requests

url = "https://financeflowapi.com/api/v1/commodity-spot"
params = {
    "api_key": "YOUR_API_KEY",
    "name": "gold"
}

response = requests.get(url, params=params)
data = response.json()
print(data)
const params = new URLSearchParams({
  api_key: "YOUR_API_KEY",
  name: "gold"
});

fetch(`https://financeflowapi.com/api/v1/commodity-spot?${params}`)
  .then(res => res.json())
  .then(data => console.log(data));
<?php
$params = http_build_query([
    'api_key' => 'YOUR_API_KEY',
    'name'    => 'gold',
]);

$response = file_get_contents("https://financeflowapi.com/api/v1/commodity-spot?{$params}");
$data = json_decode($response, true);

print_r($data);
package main

import (
    "encoding/json"
    "fmt"
    "io"
    "net/http"
    "net/url"
)

func main() {
    params := url.Values{}
    params.Add("api_key", "YOUR_API_KEY")
    params.Add("name", "gold")

    resp, err := http.Get("https://financeflowapi.com/api/v1/commodity-spot?" + params.Encode())
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, _ := io.ReadAll(resp.Body)

    var data map[string]interface{}
    json.Unmarshal(body, &data)

    fmt.Println(data)
}

Use Cases

  • Trading platforms. Power buy/sell signals and pricing widgets with live gold, oil and metals data.
  • Portfolio & risk dashboards. Track commodity exposure alongside Bonds API and equities data.
  • Inflation & macro research. Correlate commodity price moves with Economic Indicators API data like CPI and PPI.
  • Price alert bots. Trigger notifications when a commodity’s daily_change_percent crosses a threshold.

Who Is This API For?

  • Algorithmic and discretionary traders who need live pricing for gold, oil and other markets
  • Fintech apps and dashboards that need commodity price context alongside other asset classes
  • Publishers and content platforms that need sourced commodity price data
  • Procurement and hedging tools monitoring input costs for manufacturing and agriculture businesses

Market Data API

Test Plan

$5.00/month

Historical data, days: 60

Requests limit: 200

Requests Speed limit(per minute): 20

Standard Subscription

$25.00/month

Historical data, years: 5

Requests limit: 10000

Requests Speed limit(per minute): 60

Premium Subscription

$50.00/month

Historical data, years: 20+

Requests limit: 100000

Requests Speed limit(per minute): 120

Limitations

  • No historical time-series on this endpoint. commodity-spot returns only the current price plus period-over-period % changes, not a date-range history. A separate commodity-history endpoint exists in the API (see the full API documentation) but is not yet covered by its own dedicated landing page.
  • name must match the catalog spelling exactly; there is no free-text or fuzzy search.
  • Endpoint access and your per-minute rate limit depend on your subscription plan.

FAQ

What is a Commodity Price API?

A Commodity Price API gives you programmatic access to live prices for raw materials and market indices (metals, energy, agriculture and more) in one machine-readable format instead of integrating a different exchange feed per market.

How do I get the gold price via API?

Call commodity-spot with name=gold and your API key. The response includes the current price plus daily, weekly, monthly, year-to-date and yearly change.

How do I get the oil price via API?

Use the same commodity-spot endpoint with name=crude oil for WTI or name=brent for Brent crude.

Which commodities are supported?

102 commodities, verified live against our production API, spanning precious metals, energy, industrial metals & materials, agriculture and commodity/freight indices. Use commodity-catalog to see the full list.

Do you provide historical commodity data?

Not through this endpoint. commodity-spot only returns the current price and period-over-period changes. A separate commodity-history endpoint exists in the API for date-range queries; see the full API documentation.

How do I get started?

Create a FinanceFlowAPI account and choose a plan. See Pricing & Access above for current plans and limits.

Full API documentation →