commodities.sh Spreads API

The Spreads API from commodities.sh — 4 operation(s) for spreads.

GitHub OpenAPI

Operations 4

GET /v1/spreads/crack 3-2-1 crack #
GET /v1/spreads/crush Soy crush proxy #
GET /v1/spreads/basis WTI-Brent basis #
GET /v1/spreads/calendar/{root} Calendar spread (stub) #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/commodities-sh:commodities-sh-spreads-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

commodities-sh-spreads-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Commodities Sh Spreads API
  version: 0.1.0
  x-free-paths:
  - /health
  - /v1/catalog
  - /v1/calendar
  - /llms.txt
  - /llms-full.txt
  - /openapi.json
  - /SKILL.md
  - /.well-known/agent.json
  - /.well-known/x402.json
  - /terms.txt
  x-pricing:
    PRICE: 0.01
    PRICES_BUNDLE: 0.02
    HISTORY: 0.02
    CURVE: 0.03
    INVENTORY_BUNDLE: 0.03
    INVENTORY_SERIES: 0.02
    COT: 0.02
    CRACK: 0.03
    CRUSH: 0.03
    BASIS: 0.03
    CALENDAR: 0.02
    WASDE: 0.03
    CROP_PROGRESS: 0.02
    EXPORT_SALES: 0.02
    USGS: 0.03
    FX: 0.01
    SNAPSHOT: 0.05
    DECISION: 0.1
    SNAPSHOT_ALL: 0.12
    DECISION_ALL: 0.25
  description: 'Operations tagged Spreads across 2 of this provider''s published API definitions: commodities-sh-openapi.json, commodities-sh-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.commodities.sh
tags:
- name: Spreads
paths:
  /v1/spreads/crack:
    get:
      summary: 3-2-1 crack
      description: 3-2-1 crack spread cash proxy
      x-price: 0.03
      responses:
        '200':
          description: Observation or bundle JSON
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Observation'
        '402':
          description: Payment Required (x402)
      tags:
      - Spreads
      operationId: getV1SpreadsCrack
      x-operation-id-source: derived
    servers:
    - url: https://api.commodities.sh
  /v1/spreads/crush:
    get:
      summary: Soy crush proxy
      description: Soy crush margin proxy
      x-price: 0.03
      responses:
        '200':
          description: Observation or bundle JSON
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Observation'
        '402':
          description: Payment Required (x402)
      tags:
      - Spreads
      operationId: getV1SpreadsCrush
      x-operation-id-source: derived
    servers:
    - url: https://api.commodities.sh
  /v1/spreads/basis:
    get:
      summary: WTI-Brent basis
      description: WTI-Brent basis spread
      x-price: 0.03
      responses:
        '200':
          description: Observation or bundle JSON
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Observation'
        '402':
          description: Payment Required (x402)
      tags:
      - Spreads
      operationId: getV1SpreadsBasis
      x-operation-id-source: derived
    servers:
    - url: https://api.commodities.sh
  /v1/spreads/calendar/{root}:
    get:
      summary: Calendar spread (stub)
      description: Calendar spread stub — available:false until licensed curves
      parameters:
      - name: root
        in: path
        required: true
        schema:
          type: string
      x-price: 0
      responses:
        '200':
          description: Stub observation with available:false
      tags:
      - Spreads
      operationId: getV1SpreadsCalendarByRoot
      x-operation-id-source: derived
    servers:
    - url: https://api.commodities.sh
components:
  schemas:
    Observation:
      type: object
      required:
      - instrument
      - value
      - unit
      - as_of
      - freshness_class
      - source
      - license_tag
      - derived
      properties:
        instrument:
          type: string
          example: CL
        value:
          type: number
          example: 69.6
        unit:
          type: string
          example: USD/bbl
        as_of:
          type: string
          format: date
          example: '2026-07-06'
        observed_at:
          type: string
          format: date-time
        freshness_class:
          type: string
          enum:
          - eod
          - weekly
          - monthly
          - decree
          - intraday
          - delayed
        quality:
          type: string
          enum:
          - official
          - indicative
          - derived
          - delayed
        derived:
          type: boolean
        source:
          type: object
          properties:
            name:
              type: string
            series_id:
              type: string
            url:
              type: string
        license_tag:
          type: string
        provenance:
          type: object
          properties:
            retrieved_at:
              type: string
              format: date-time
            cache_hit:
              type: boolean
            cache_ttl_s:
              type: number
        prior:
          type: number
          description: Previous print value when history exists
        pct_change:
          type: number
          description: Percent change vs prior print
        short_history:
          type: array
          description: Newest-first short history (≤8 points)
          items:
            type: object
            properties:
              as_of:
                type: string
                format: date
              value:
                type: number
        cite:
          type: string
          description: One-line citation for agents
x-refined-from:
- commodities-sh-openapi.json
- commodities-sh-openapi.yml