/v1/screener
Rank all commodities by roll yield, backwardation vs contango
Try it live
10 free calls per day — no sign-up, no API key. Goes through the oanor gateway.
It works. Grab an API key and use it in your project.
Get an API keyCode snippets
curl "https://api.oanor.com/commoditycurve-api/v1/screener" \ -H "x-oanor-key: oanor_test_..."
await fetch("https://api.oanor.com/commoditycurve-api/v1/screener", {
headers: { "x-oanor-key": "oanor_test_..." }
});
$ch = curl_init("https://api.oanor.com/commoditycurve-api/v1/screener");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$out = curl_exec($ch);
import requests
requests.get(
"https://api.oanor.com/commoditycurve-api/v1/screener",
headers={"x-oanor-key": "oanor_test_..."}
)
Example response
A real response from this endpoint, captured by the latest health check.
{
"data": {
"note": "Commodities ranked by annualised front-to-second-month roll yield. Positive (backwardation) = a long futures position earns the roll; negative (contango) = it pays the roll away. The roll yield, not the spot move, drives long-run commodity-index returns. Read fresh per call, lightly cached.",
"count": 9,
"source": "Yahoo Finance",
"results": [
{
"name": "Crude Oil (WTI)",
"rank": 1,
"unit": "$/bbl",
"shape": "backwardation",
"available": true,
"commodity": "oil",
"front_price": 84.34,
"front_vs_back_pct": 5.68,
"roll_yield_annualized_pct": 22.47
},
{
"name": "Gasoline RBOB",
"rank": 2,
"unit": "$/gal",
"shape": "backwardation",
"available": true,
"commodity": "gasoline",
"front_price": 2.9872,
"front_vs_back_pct": 14.26,
"roll_yield_annualized_pct": 20.8
},
{
"name": "Gold",
"rank": 3,
"unit": "$/oz",
"shape": "flat",
"available": true,
"commodity": "gold",
"front_price": 4225.3,
"front_vs_back_pct": -0.86,
"roll_yield_annualized_pct": 1.48
},
{
"name": "Silver",
"rank": 4,
"unit": "$/oz",
"shape": "flat",
"available": true,
"commodity": "silver",
"front_price": 67.15,
"front_vs_back_pct": -3.02,
"roll_yield_annualized_pct": 0.27
},
{
"name": "Soybeans",
"rank": 5,
"unit": "cents/bu",
"shape": "contango",
"available": true,
"commodity": "soybeans",
"front_price": 1113.25,
"front_vs_back_pct": -0.36,
"roll_yield_annualized_pct": -5.37
},
{
"name": "Corn",
"rank": 6,
"unit": "cents/bu",
"shape": "contango",
"available": true,
"commodity": "corn",
"front_price": 410.5,
"front_vs_back_pct": -1.79,
"roll_yield_annualized_pct": -10.77
},
{
"name": "Wheat",
"rank": 7,
"unit": "cents/bu",
"shape": "contango",
"available": true,
"commodity": "wheat",
"front_price": 583,
"front_vs_back_pct": -1.89,
"roll_yield_annualized_pct": -11.36
},
…