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.

GET/v1/commodities

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

GET
/v1/commodities
curl https://api.mygrainexchange.com/v1/commodities \
  -H "Authorization: Bearer {token}"

Response

{
  "items": [
    { "slug": "canola", "name": "Canola" },
    { "slug": "wheat", "name": "Wheat" }
  ]
}

GET/v1/grades

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

GET
/v1/grades
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"]
}

GET/v1/market/commodities

List commodities

Commodities that have market-price coverage, with whether history is available.

Request

GET
/v1/market/commodities
curl https://api.mygrainexchange.com/v1/market/commodities \
  -H "Authorization: Bearer {token}"

GET/v1/market/prices

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

GET
/v1/market/prices
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"
    }
  ]
}

GET/v1/market/prices/:commodity/history

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

GET
/v1/market/prices/wheat/history
curl https://api.mygrainexchange.com/v1/market/prices/wheat/history?interval=week \
  -H "Authorization: Bearer {token}"

Was this page helpful?