3:2:1 crack spread (refining margin)
API · /commodityspreads-api
Commodity Spreads API
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 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
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
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
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
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
Built by
Related APIs
Other APIs with overlapping tags.
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
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
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
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?
What's the rate limit for Commodity Spreads API?
How much does Commodity Spreads API cost?
Can I cancel my subscription anytime?
Is Commodity Spreads API GDPR-compliant?
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 inNew thread
·
-
Provider answer
🔒 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 inOpen new ticket
Describe what you need help with. The provider team gets an email and replies on the ticket page.
-
·
Urgent - No tickets yet for this API.