/api/cftc/cot
GETAvailable

CFTC Commitments of Traders

CFTC Commitments of Traders (CME bitcoin / ether futures)

GET/api/cftc/cot
Earlier, shorter series. `/api/sd/cme/cot` carries the full CFTC history per trader class with unit selection.

Request

Query parameters

NameTypeRequiredDefaultAllowed valuesDescription
currencystringOptionalBTCBTC, ETHUnderlying; anything other than ETH is BTC. Example: BTC

Example request

curl -s "https://www.coinboss.com/api/cftc/cot?currency=BTC"

Response fields

The field table is generated from real responses, so it lists exactly what the endpoint returns. Paths use a[] for array items and {*} for objects keyed by a dynamic name such as a coin or an exchange.

FieldTypeUnitDescription
successboolean—true when the request succeeded. On failure the body is `{ success: false, code, error, request_id }`.
currencystring—Currency / asset symbol.
contractstring—Name and contract size of the CME futures contract covered by the report (`CME Bitcoin Futures (5 BTC)` or `CME Ether Futures (50 ETH)`).
report_datestring—As-of date (YYYY-MM-DD, a Tuesday) of the latest CFTC Commitments of Traders report in `series`; published the following Friday.
fetched_atnumbermsWhen CoinBoss fetched the data from the source.
latestobject—Most recent record.
latest.datestring—Calendar date (UTC).
latest.oinumber—Open interest.
latest.dealer_longnumber—CFTC report: dealer long positions.
latest.dealer_shortnumber—CFTC report: dealer short positions.
latest.am_longnumber—CFTC report: asset-manager long positions.
latest.am_shortnumber—CFTC report: asset-manager short positions.
latest.lev_longnumber—CFTC report: leveraged-fund long positions.
latest.lev_shortnumber—CFTC report: leveraged-fund short positions.
latest.other_longnumber—CFTC report: other reportable long positions.
latest.other_shortnumber—CFTC report: other reportable short positions.
latest.nonrept_longnumber—CFTC report: non-reportable long positions.
latest.nonrept_shortnumber—CFTC report: non-reportable short positions.
latest.tradersnumber—Number of traders.
prevobject—Previous value (baseline).
prev.datestring—Calendar date (UTC).
prev.oinumber—Open interest.
prev.dealer_longnumber—CFTC report: dealer long positions.
prev.dealer_shortnumber—CFTC report: dealer short positions.
prev.am_longnumber—CFTC report: asset-manager long positions.
prev.am_shortnumber—CFTC report: asset-manager short positions.
prev.lev_longnumber—CFTC report: leveraged-fund long positions.
prev.lev_shortnumber—CFTC report: leveraged-fund short positions.
prev.other_longnumber—CFTC report: other reportable long positions.
prev.other_shortnumber—CFTC report: other reportable short positions.
prev.nonrept_longnumber—CFTC report: non-reportable long positions.
prev.nonrept_shortnumber—CFTC report: non-reportable short positions.
prev.tradersnumber—Number of traders.
seriesarray—Time series.
series[]object—Time series.
series[].datestring—Calendar date (UTC).
series[].oinumber—Open interest.
series[].dealer_longnumber—CFTC report: dealer long positions.
series[].dealer_shortnumber—CFTC report: dealer short positions.
series[].am_longnumber—CFTC report: asset-manager long positions.
series[].am_shortnumber—CFTC report: asset-manager short positions.
series[].lev_longnumber—CFTC report: leveraged-fund long positions.
series[].lev_shortnumber—CFTC report: leveraged-fund short positions.
series[].other_longnumber—CFTC report: other reportable long positions.
series[].other_shortnumber—CFTC report: other reportable short positions.
series[].nonrept_longnumber—CFTC report: non-reportable long positions.
series[].nonrept_shortnumber—CFTC report: non-reportable short positions.
series[].tradersnumber—Number of traders.

Generated 2026-11-11 23:00 UTC from 1 real responses.

Example response

/api/cftc/cot?currency=BTC · Real response captured 2026-11-13 03:52:57 UTC. Long arrays and maps are shortened for display: series had 448 items.

  • {
    • "success": true,
    • "currency": "BTC",
    • "contract": "CME Bitcoin Futures (5 BTC)",
    • "report_date": "2026-11-03",
    • "fetched_at": 1794536904404,
    • "latest": {
      • "date": "2026-11-03",
      • "oi": 17527,
      • "dealer_long": 6027,
      • "dealer_short": 5548,
      • "am_long": 4379,
      • "am_short": 1976,
      • "lev_long": 5114,
      • "lev_short": 7705,
      • "other_long": 124,
      • "other_short": 308,
      • "nonrept_long": 762,
      • "nonrept_short": 869,
      • "traders": 105
      },
    • "prev": {
      • "date": "2026-10-27",
      • "oi": 20791,
      • "dealer_long": 6257,
      • "dealer_short": 5001,
      • "am_long": 4743,
      • "am_short": 1989,
      • "lev_long": 5887,
      • "lev_short": 9866,
      • "other_long": 94,
      • "other_short": 285,
      • "nonrept_long": 1002,
      • "nonrept_short": 842,
      • "traders": 106
      },
    • "series": [
      • { … 13 },
      • { … 13 }
      ]
    }

Details

Authentication
None. Public endpoint.
Rate limit
1200 requests per minute per IP
Server cache
10m
Edge micro-cache
10s
Update frequency
on request, cached 6 hours; the report is weekly (Tuesday positions, published Friday)
Window
full weekly history
Data sources
CME Bitcoin and Ether futures positioning by trader category from the CFTC's official Commitments of Traders open data.
Exchange coverage
`currency` = BTC (default) or ETH; standard CME contracts only (micro contracts not included); categories: dealer, asset manager, leveraged money, other reportable, non-reportable.
Sorting
report date ascending
Units
contracts (CME Bitcoin = 5 BTC, CME Ether = 50 ETH per contract)
Timestamps
Unix epoch milliseconds (UTC) unless the field description says otherwise
Response format
json
Stability
Stable

Live status

AvailableChecked 2026-11-13 03:52:57 UTCHTTP 2003 msSchema matchesNewest data point 10.2d old

Availability, last 30 days

100% of 408 checks passed

Errors

Failed calls share one shape on every endpoint. The full list is on the errors page. Errors and rate limits →

CodeHTTPMeaningWhat to do
INVALID_PARAM400A required parameter is missing or a value is not accepted. `param` names the parameter when it is known.Do not retry unchanged; fix the request.
UNAUTHORIZED401The `CB-API-KEY` header was sent but the key is unknown or revoked. Public data needs no key — drop the header or use a valid key.Do not retry unchanged.
FORBIDDEN403The route is not part of the public API (internal or account-only).Do not retry.
NOT_FOUND404Unknown route, or the requested coin / exchange / fund does not exist.Do not retry; check the path and identifiers against the catalog.
RATE_LIMITED429More requests than the per-minute limit. `Retry-After` gives the seconds to wait.Wait for `Retry-After`, then retry with backoff.
INTERNAL500Unexpected server error. The message is generic by design; quote `request_id` when reporting it.Retry once after a few seconds; report it with the request id if it persists.
UPSTREAM_FAILED503The data source behind this endpoint did not answer in time. No stale or substitute numbers are returned in its place.Retry with backoff; check the status page.
UNAVAILABLE501 / 503The dataset is temporarily not ready (cache warming) or the endpoint has no lawful public source yet.Retry later; the catalog marks endpoints that are unavailable by design.
REQUEST_FAILED200Some older endpoints answer HTTP 200 with `success: false`. Always check `success`, not only the HTTP status.Depends on the message; treat as a failed request.

Try it

GET/api/cftc/cotAvailable
Parameters

string · default BTC — Underlying; anything other than ETH is BTC.

Request URLhttps://www.coinboss.com/api/cftc/cot?currency=BTC
Choose an endpoint and press “Send request”. The response, headers and timing will appear here.