Commodity Prices API & Momentum Signals — MCP
Pricing
from $1.00 / 1,000 price rows
Commodity Prices API & Momentum Signals — MCP
Get current WTI momentum plus World Bank, EIA, and USDA commodity prices in flat JSON through API or MCP. Price history, signals, and sentiment.
Pricing
from $1.00 / 1,000 price rows
Rating
0.0
(0)
Developer
Palatial Lorikeet
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
16 days ago
Last modified
Categories
Share
Commodity Prices API & Momentum Signals
Get one current WTI price and momentum signal for a $0.002 custom-event charge, or pull normalized commodity history, USDA cash bids, and aggregate market sentiment through the same API/MCP tool.
Quick start
The default run returns one actionable WTI row—price, composite momentum, daily/weekly/monthly states, RSI, freshness, and provenance. It does not pull or charge for the full history.
curl
curl -sS -X POST \-H "Authorization: Bearer $APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"mode":"latest","series":"wti_spot_daily"}' \"https://api.apify.com/v2/acts/palatial_lorikeet~commodity-pulse/run-sync-get-dataset-items"
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("palatial_lorikeet/commodity-pulse").call(run_input={"mode": "latest", "series": "wti_spot_daily"},)rows = client.dataset(run.default_dataset_id).list_items().itemsprint(rows[:3])
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('palatial_lorikeet/commodity-pulse').call({mode: 'latest',series: 'wti_spot_daily',});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.slice(0, 3));
AI agent via MCP
Connect the Apify MCP server at https://mcp.apify.com, then ask:
Run
palatial_lorikeet/commodity-pulsein latest mode forwti_spot_daily. Explain the momentum score and whether daily, weekly, and monthly states agree. Mention the observation date and freshness.
Getting commodity data normally means juggling half a dozen sources — a government API here, a spreadsheet there, an expensive terminal for anything social — and then worrying about whether you're even allowed to store and reuse what you fetched. This actor collapses that into one call with a clean licensing story: prices come only from sources that permit reuse (World Bank, US-government data) or from your own API keys; sentiment comes as statistics we compute ourselves. No scraped exchange quotes, no redistributed social content — nothing you have to think twice about building on.
It's built agent-first: every mode returns flat, predictable JSON rows an LLM
agent or a pandas one-liner can consume directly, and the whole catalog is
discoverable with a catalog-only list call. Ask it for two years of gold prices, a
momentum read on WTI, or this week's most-talked-about tickers with their
sentiment — same actor, one line of input each.
Use from AI agents (MCP)
This actor is callable through Apify's MCP server — point your agent at
https://mcp.apify.com (authorized with your Apify token) and it can discover
this actor and run it like any tool:
{"actor": "palatial_lorikeet/commodity-pulse","input": { "mode": "leaderboard" }}
Every mode returns flat JSON rows with stable field names — no HTML, no nested blobs — so results drop straight into an agent's context or a DataFrame. Typical agent patterns: pull the daily sentiment leaderboard as market context, check momentum state before a simulated trade, or fetch a price history for charting and analysis.
What you get
Five modes, one actor:
| Mode | What it returns | Charged per |
|---|---|---|
latest | One current daily price + B-Xtrender momentum signal | score row ($0.002) |
fetch | Normalized price rows: series_id, date, value, unit, source | price row |
score | B-Xtrender momentum composite per date (daily + weekly + monthly momentum states, RSI, integer score −8..+8) | score row |
leaderboard | Daily snapshot: top-25 most-mentioned tickers on finance social media with LLM sentiment aggregates, plus commodity topics (gold, oil, natgas, …) with mention z-scores | leaderboard row |
list | The full series catalog | no custom charge; Apify platform micro-events may apply |
Predictable example costs
The input form caps fetch and score output at 24 newest rows by default.
API callers can omit max_rows for backward-compatible full history or set an
explicit higher cap.
| Example | Custom-event charge |
|---|---|
| Default latest WTI signal | 1 × $0.002 = $0.002 |
| 24 normalized price rows | 24 × $0.001 = $0.024 |
| 24 dated momentum scores | 24 × $0.002 = $0.048 |
| Current ~32-row sentiment leaderboard |
Apify's small Actor-start, dataset-item, or platform-usage charges may also apply. Set a maximum run budget in Apify when you need a hard ceiling.
Runnable examples
- examples/latest_wti_signal.py — one current WTI signal.
- examples/usda_cash_bids.py — recent Iowa corn bids in pandas.
- examples/mcp_daily_briefing.md — connect through Apify MCP and request a daily briefing.
Price series
- World Bank Pink Sheet (monthly) — WTI, Brent, natural gas, gold, silver, copper, wheat, maize, coffee, sugar. Always current: the actor resolves the latest release automatically.
- EIA daily spot (WTI Cushing, Brent, Henry Hub) — US-government data, available for both normalized price history and momentum scores.
- USDA daily agricultural cash bids — Iowa corn and soybeans plus Kansas
hard-red-winter wheat. Each series is the daily mean of current
country-elevator regional bids, labeled explicitly in
mode: "list". - Bring-your-own-key (daily) — Alpha Vantage commodity endpoints and Polygon commodity-ETF proxies (GLD, SLV, USO, UNG) using your API key; your data relationship stays between you and your provider.
Momentum scores
The score mode runs a B-Xtrender-based composite on any daily series:
short-term momentum state, completed-bar weekly and monthly states (no
lookahead — a bar's state is only used after the bar closes), RSI(14), and an
integer composite score. Built for systematic filters and agent decision
inputs, not chart art.
Social leaderboard
Refreshed daily from a curated set of finance accounts:
- Top 25 tickers by mention volume (7-day window) with sentiment aggregates — each ticker's tweets are individually scored by an LLM that reads trader slang and sarcasm, not just surface tone.
- Commodity topics (gold, silver, oil, natgas, wheat, corn) with mention counts, attention z-scores, and sentiment.
Aggregates only. The feed contains counts and statistics — never tweet text or user content.
Example leaderboard row:
{"date": "2026-08-09","window_days": 7,"kind": "symbol","symbol": "PLTR","mentions_7d": 82,"sentiment_n": 21,"sentiment_mean": 0.41}
Input
{"mode": "latest","series": "wti_spot_daily"}
For history, use mode: "fetch" or mode: "score" with start, end, and
max_rows. Run mode: "list" to see every series id. BYOK series take your
key in the api_key field (stored as a secret input).
Commodity prices API FAQ
Can I fetch WTI, Brent, and Henry Hub prices?
Yes. EIA daily spot series are available as wti_spot_daily,
brent_spot_daily, and henry_hub_daily. Use latest for one signal,
fetch for prices, or score for dated momentum history.
Does the USDA cash bids API return national futures prices?
No. The USDA series are transparent regional means of current country-elevator cash bids: Iowa corn/soybeans and Kansas HRW wheat.
Can an AI agent call the commodity data through MCP?
Yes. Connect to Apify's MCP server, discover palatial_lorikeet/commodity-pulse,
and call any mode with the same JSON input used by the API.
Licensing & attribution
- World Bank Pink Sheet: CC BY 4.0 — "Source: World Bank, Commodity Markets (CMO)."
- EIA / USDA series: US-government public domain.
- BYOK series: fetched with your credentials under your provider agreement.
- Momentum scores and leaderboard aggregates are original derived data.
Support
Issues and feature requests (additional series, more tickers, delivery formats) are welcome via the actor's Issues tab.