Market data
Read MGX market prices and history. Prices and history require the market.read scope; the commodity catalogue and grade list are available to any authenticated client. Prices are per metric tonne in CAD.
Commodity catalogue
Every active commodity with its slug and display name — use it to build commodity dropdowns. Slugs are the values accepted by commodity parameters across the API. No scope required.
Request
curl https://api.mygrainexchange.com/v1/commodities \
-H "Authorization: Bearer {token}"
Response
{
"items": [
{ "slug": "canola", "name": "Canola" },
{ "slug": "wheat", "name": "Wheat" }
]
}
List grades
All grade values the API accepts, best first — use it to build grade dropdowns. These are exactly what POST /v1/me/inventory and the grade filter on GET /v1/inventory accept. Grades are global: any grade can be applied to any commodity. No scope required.
Request
curl https://api.mygrainexchange.com/v1/grades \
-H "Authorization: Bearer {token}"
Response
{
"items": ["No. 2 or Better", "Tough No. 1", "No. 1", "No. 2", "No. 3", "Feed grade", "Sample"]
}
List commodities
Commodities that have market-price coverage, with whether history is available.
Request
curl https://api.mygrainexchange.com/v1/market/commodities \
-H "Authorization: Bearer {token}"
Market prices
Current weighted prices per commodity, or as-of a date.
- Name
commodity- Type
- string
- Description
- Filter to one or more commodity slugs.
- Name
date- Type
- string
- Description
- ISO date — returns the price as-of that date instead of live.
Request
curl "https://api.mygrainexchange.com/v1/market/prices?commodity=wheat" \
-H "Authorization: Bearer {token}"
Response
{
"items": [
{
"commodity": { "slug": "wheat", "name": "Wheat" },
"price": { "amount": 310.25, "currency": "CAD", "unit": "MT" },
"previous": { "amount": 305.10, "currency": "CAD", "unit": "MT" },
"change_pct": 1.69,
"range": { "low": 298.0, "high": 322.5 },
"as_of": "2026-06-18T06:00:00Z"
}
]
}
Price history
Time series for a commodity.
- Name
from- Type
- string
- Description
- ISO date — start of range.
- Name
to- Type
- string
- Description
- ISO date — end of range.
- Name
interval- Type
- string
- Description
- day (default) or week.
Request
curl https://api.mygrainexchange.com/v1/market/prices/wheat/history?interval=week \
-H "Authorization: Bearer {token}"