API · /commodityspreads-api

Commodity Spreads API

healthy 4,027 Subscribers

The spreads and ratios that commodity traders actually trade, not just the raw prices, computed live from the underlying futures — no key, nothing stored. A single commodity price means little on its own; the money is in the relationships. The crack endpoint returns the 3:2:1 crack spread — the refining margin from turning three barrels of crude oil into two of gasoline and one of heating oil, the number that drives refiner profits and gasoline prices. The crush endpoint returns the soybean crush spread — the processing margin from crushing soybeans into meal and oil. The ratios endpoint returns the classic macro ratios: gold/silver (the "fear versus growth" gauge), gold/oil (real-asset value), oil/natural-gas (the energy ratio) and gold/copper. Each comes with the component futures prices so you can see exactly how it is built. This is the commodity-spread / inter-commodity cut — distinct from the single-commodity price feed, the precious-metals spot API and the FX APIs in the catalogue. It gives you the margin and the ratio, the things that are actually positioned. All endpoints are parameter-less and return the current values with their components; the crack spread is in USD per barrel and the crush in USD per bushel.

api.oanor.com/commodityspreads-api
Get an API key Try in playground → Contact provider

Machine-readable spec so AI agents can integrate this API.

/api/commodityspreads-api/openapi.json
/api/commodityspreads-api/llms.txt

Discovery: GET /api/index.json lists every API.

Commodity Spreads API — live data on the oanor API marketplace

API health

healthy
Uptime
100.00%
Server probes · 24h
Avg latency
204 ms
Server probes · 24h
Subscribers
4,027
active
Total calls
84
last 7 days
status Full status page → · 16 probes/24h

Pricing

Pick a tier — billed monthly, cancel anytime.

Free

Free

  • 600 calls / month
  • 2 requests / second
  • Hard cap (429 above quota, no overage)
  • 600 calls/month
  • 2 req/sec
  • Crack + crush + ratios
  • No credit card
Sign in to subscribe

Starter

€9.66 /month

  • 15,800 calls / month
  • 6 requests / second
  • Hard cap (429 above quota, no overage)
  • 15,800 calls/month
  • 6 req/sec
  • Refining & crush margins
  • Email support
Sign in to subscribe

Pro

€31.66 /month

  • 84,000 calls / month
  • 16 requests / second
  • Hard cap (429 above quota, no overage)
  • 84,000 calls/month
  • 16 req/sec
  • Commodity-spread dashboards
  • Priority support
Sign in to subscribe

Business

€74.60 /month

  • 440,000 calls / month
  • 40 requests / second
  • Hard cap (429 above quota, no overage)
  • 440,000 calls/month
  • 40 req/sec
  • Commodity-desk scale
  • Dedicated SLA
Sign in to subscribe

Built by

Related APIs

Other APIs with overlapping tags.

Front-Month Futures Quotes API — oanor API marketplace

Front-Month Futures Quotes API

Live continuous front-month (1!) quotes for the major liquid futures across every asset class, with no key: precious & base metals (gold, silver, copper, platinum), energy (WTI crude, natural gas, gasoline, heating oil), grains (wheat, corn, soybeans), softs (coffee, sugar, cocoa, cotton), livestock, equity-index (E-mini S&P 500, Nasdaq, Dow, Russell), interest-rate (2/5/10/30-year Treasuries) and FX futures from COMEX, NYMEX, CBOT, CME, CME_MINI and ICE US. Get a per-contract quote by short code (GC, CL, ES, ZW) with last price, % change and intraday OHLC, a full cross-asset board, or a per-category cut — a curated board of the contracts that actually trade.

api.oanor.com/cmefutures-api

Precious-Metal Ratios API — oanor API marketplace

Precious-Metal Ratios API

The ratios between gold, silver, platinum and palladium, where they sit in their own multi-year history, and which metal is cheap relative to which — computed live from Yahoo Finance futures, no key, nothing stored. A precious-metal price tells you what an ounce costs; the ratio between two metals tells you which is expensive relative to the other — and these ratios are famously mean-reverting, which is why the gold/silver "mint ratio" is one of the oldest trades there is: when it stretches to an extreme, traders rotate from the dear metal into the cheap one and ride it back. A single current ratio is only half the story; what matters is where that ratio sits in its multi-year range. This API computes the gold/silver, gold/platinum, platinum/palladium, gold/palladium and silver/platinum ratios, and for each returns its current value, its percentile within a multi-year window (the context that turns a number into a signal), the window min/max/average, and a plain-language rotation read — at a high percentile the numerator metal is historically expensive (favour the denominator), at a low percentile the reverse. The ratios endpoint returns the whole complex; the ratio endpoint returns one pair with its component prices; the history endpoint returns the ratio time series. This is the precious-metal-ratio / mean-reversion cut — distinct from the inter-commodity crack/crush spread API (which gives the current gold/silver ratio but no history, percentile or signal), the intermarket-ratio board and the metals spot-price feed. It is the ratio with its history attached.

api.oanor.com/preciousratios-api

Commodity Futures Term Structure API — oanor API marketplace

Commodity Futures Term Structure API

The shape of the commodity futures curve — contango versus backwardation — and the roll yield it pays, computed live from Yahoo Finance dated futures contracts, no key, nothing stored. A single commodity price hides the most important thing about it: what the market charges to hold it forward. When deferred contracts cost MORE than the front (an upward curve, contango) a long futures position bleeds money as it rolls up the curve each month; when they cost LESS (a downward curve, backwardation — classic for crude oil in tight markets) the roll pays you. That roll yield, not the spot move, is what drives the long-run return of commodity-index investing. This API reads the actual dated contracts — the front month and the deferred months out the curve — for crude oil, natural gas, gasoline, gold, silver, copper, corn, wheat and soybeans, and returns the full term structure, the front-to-second-month roll yield annualised, the curve shape and the front-vs-back spread. The curve endpoint returns one commodity's full chain; the screener endpoint ranks every commodity by roll yield, separating the backwardated markets (positive carry for a long) from the contango ones (negative carry). This is the commodity futures term-structure / roll-yield cut — distinct from the crypto dated-futures curve API, the inter-commodity crack/crush spread API, the commodity-momentum and seasonality APIs and the spot price feeds. It is the carry, read straight off the curve.

api.oanor.com/commoditycurve-api

Managed Money Positioning API — oanor API marketplace

Managed Money Positioning API

Where the hedge funds are positioned in commodity futures, read live from the CFTC Disaggregated Commitments-of-Traders report — no key. The legacy COT report lumps every speculator into one "non-commercial" bucket; the Disaggregated report, introduced in 2009 precisely because that was too crude, splits the market into four real groups — Managed Money (the trend-following hedge funds and CTAs, the speculative flow everyone watches), Producer/Merchant (the physical hedgers who make and use the commodity), Swap Dealers (the banks intermediating index and OTC exposure) and Other Reportables. The positioning endpoint returns, for a commodity, the full four-group breakdown — each group's long, short and net contracts, its share of open interest, the number of traders and the week-over-week change — with a managed-money bias read: Managed Money net long in gold of +112,179 contracts (34% of open interest, 74 funds long) tells you the funds are crowded long. The screener endpoint ranks a curated set of 20 metals, energy, grain, soft and livestock futures by where Managed Money is positioned (net as a share of open interest), surfacing the most crowded long and short hedge-fund bets. This is the disaggregated hedge-fund-positioning cut — distinct from the legacy raw COT-report feed, the normalised COT-Index, and the price and open-interest APIs. It is who the smart speculative money is, by the report traders actually read.

api.oanor.com/managedmoney-api

Frequently asked questions

Quick answers about pricing, quotas, and integration.

How do I get an API key for Commodity Spreads API?
Sign up for free at oanor.com, generate an API key from the developer dashboard, and call Commodity Spreads API with the x-oanor-key header. No credit card needed for the free tier.
What's the rate limit for Commodity Spreads API?
Free tier allows 1 request per second. Paid plans scale up to 50 requests per second on the Mega tier. Hard limits return HTTP 429 above the quota — no surprise overage charges.
How much does Commodity Spreads API cost?
Commodity Spreads API has a free tier with 100 calls / month. Paid plans start at €9.66 / month with higher quotas and faster rate limits.
Can I cancel my subscription anytime?
Yes. Plans are billed monthly and you can cancel anytime from your billing dashboard. No long-term contracts and no cancellation fee.
Is Commodity Spreads API GDPR-compliant?
All requests to Commodity Spreads API go through our EU-based gateway. Your upstream API key never leaves our server and no personal data is shared with the upstream provider beyond the request you send.

Pick an endpoint from the list on the left to see its details and try it.

Code snippets

Sign up to get an API key, then call any path under your slug.

curl https://api.oanor.com/commodityspreads-api/SOME_PATH \
  -H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/commodityspreads-api/SOME_PATH", {
  headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/commodityspreads-api/SOME_PATH");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
$response = curl_exec($ch);
import requests
r = requests.get(
    "https://api.oanor.com/commodityspreads-api/SOME_PATH",
    headers={"x-oanor-key": "oanor_test_..."},
)
print(r.json())

Ratings

Sign in to rate.

No reviews yet.

Discussion

Ask questions, share usage tips, get answers from the provider and other developers. Public — anyone can read.

Sign in to start a thread or reply.

Sign in

New thread

/ 4000

📌 Pinned 🔒 Locked

·

· ·

/ 4000

🔒 This thread is locked — no new replies.

  • No threads yet — start the discussion.

Support

Private 1:1 support with the provider — billing questions, integration issues, account problems. Only you and the provider team can see these threads.

Sign in to open a support ticket.

Sign in

Open new ticket

Describe what you need help with. The provider team gets an email and replies on the ticket page.

  • No tickets yet for this API.

Subscription active — calls can start immediately.

Send your first request —

Subscription active — copy a snippet and fire off your first call.