GET /api/v1/markets
Elenca ogni mercato CFTC con categoria, borsa e appartenenza alle famiglie di report. Filtra per categoria, famiglia, solo mercati tracked, o ricerca substring.
Famiglia di Report
PRODisaggregated Futures & Options
Producer, Swap, Gestori del denaro, Other
Famiglia di Report
PROTraders in Financial Futures (TFF)
Dealer, Gestori di asset, Leveraged, Other
Famiglia di Report
PROReport Supplemental
Non-Comm, Comm, Trader di indici, Non-Rept

Auth bearer · JSON · 60 req/min · 500 req/giorno
+380 mercati su tutte e quattro le famiglie di report CFTC, colonne normalizzate, storico settimanale, endpoint REST. $9.99/mese — cancella in qualsiasi momento.
COT Data API è un’API REST a $9.99/mese che espone lo stesso dataset CFTC Commitments of Traders che alimenta cot-reports.com. Autenticazione bearer, risposte JSON, quattro endpoint (lista mercati, storico, ultima settimana, COT Index) più un endpoint demo statico gratuito per validare il formato. I dati CFTC sottostanti sono di pubblico dominio federale USA (17 USC §105); il valore di questo prodotto risiede nella curatela delle colonne normalizzate, nella consegna con rate-limiting e nella spec OpenAPI 3.0.
$ curl -H "Authorization: Bearer cot_live_..." \
https://cot-reports.com/api/v1/cot/DEMO_FUTURES/latest
{
"cftc_code": "DEMO_FUTURES",
"family": "legacy",
"row": {
"report_date": "2026-04-22",
"cftc_code": "DEMO_FUTURES",
"market_name": "DEMO FUTURES (Sample / not a real market)",
"open_interest": 412876,
"change_open_interest": 8234,
"noncomm_long": 156000,
"noncomm_short": 234000,
"noncomm_spreading": 18500,
"change_noncomm_long": 4200,
"change_noncomm_short": -3100,
"change_noncomm_spreading": 540,
"comm_long": 198400,
"comm_short": 121900,
"change_comm_long": -2100,
"change_comm_short": 6800,
"nonrept_long": 39976,
"nonrept_short": 38476,
"change_nonrept_long": 320,
"change_nonrept_short": -185,
"pct_oi_noncomm_long": 37.78,
"pct_oi_noncomm_short": 56.67,
"pct_oi_noncomm_spreading": 4.48,
"pct_oi_comm_long": 48.06,
"pct_oi_comm_short": 29.53,
"pct_oi_nonrept_long": 9.68,
"pct_oi_nonrept_short": 9.32,
"contract_units": "DEMO 100,000 (synthetic)"
}
}Elenca ogni mercato CFTC con categoria, borsa e appartenenza alle famiglie di report. Filtra per categoria, famiglia, solo mercati tracked, o ricerca substring.
Storico settimanale per un singolo mercato. Restituisce di default le ultime 520 settimane; from / to / family / limit sono parametri query opzionali.
Report più recente per un singolo mercato. Pre-calcolato per il tipico pattern di polling del venerdì dopo la pubblicazione.
COT Index in stile Briese (percentile 0–100) per l’ultimo report rispetto alla finestra di lookback. Default 52 settimane.
I token sono stringhe bearer da 36 caratteri (cot_live_<32 hex>). Hashiamo con SHA-256 e memorizziamo solo l’hash; il token grezzo ti viene mostrato esattamente una volta alla creazione. Confronto a tempo costante in fase di validazione. Logging per token E per IP-hash per il rilevamento di abusi. La cancellazione rispetta il periodo pagato — il token resta attivo fino alla fine del periodo di fatturazione corrente, poi revoca automatica. Revoca manuale immediata con un clic da /account/api.
Niente paginazione SODA. Niente typo nei nomi delle colonne CFTC. Niente cron settimanale da accudire. Cinque endpoint, un token bearer, pronto al consumo.
Disdici quando vuoi. Auth bearer. Risposte JSON. Endpoint demo gratuito per la validazione.
Leggi la documentazione APIOgni endpoint, ogni mercato, ogni famiglia di report. L’unica differenza tra Entry, Pro e Business sono i limiti per minuto e per giorno — Pro e Business arrivano più tardi.
Un token per abbonamento. Condividerlo tra sistemi è una violazione dei Termini; logghiamo per token E per hash IP, e revochiamo i token il cui pattern d’uso indica distribuzione. Usa la chiave API nel CI / server di produzione, tienila fuori dai client.
Cancella in qualsiasi momento dal Customer Portal di Stripe. La cancellazione di default mantiene il tuo accesso API attivo fino alla fine del periodo di fatturazione corrente — hai pagato per quel periodo, lo usi. Al termine, il token viene revocato automaticamente. Se devi revocare immediatamente (token compromesso, rotazione CI), usa il pulsante Revoke su /account/api — effetto dalla prossima richiesta.
/api/v1/demo restituisce una risposta JSON sintetica fissa con flag sample:true e messaggio "This is a sample response." Nessun dato CFTC reale, niente auth, 10 req/giorno per IP. Usalo per validare il parser; non provare a usarlo come fonte gratuita — ogni risposta è identica.
Aggiungiamo colonne senza rompere nulla — il tuo parser continua a funzionare. Rinomine, rimozioni o riordini bumpano la versione maggiore dello schema e sono annunciati 30 giorni prima sul changelog a https://cot-reports.com/api più una notifica nella dashboard /account/api per gli abbonati attivi. Aggancia il tuo codice ai campi che usi davvero, aggiungi uno unit test che fallisce su null inaspettati, e fidati del contratto.
Ogni richiesta richiede un header `Authorization: Bearer <token>`. I token sono nel formato `cot_live_<32 caratteri hex>` (o `cot_test_…` su preview/dev), 36 caratteri in totale incluso il prefisso. Recuperalo da /account/api dopo l'abbonamento — viene mostrato una sola volta, quindi salvalo subito. Esempio: `curl -H 'Authorization: Bearer cot_live_abc123…' https://cot-reports.com/api/v1/markets`. Niente OAuth, niente richieste firmate, niente client IDs — solo il bearer token.
Tutto ciò che fa richieste HTTPS. L'API è plain REST + JSON, quindi Python (`requests`, `httpx`), Node.js (`fetch`, `axios`), Go (`net/http`), Rust (`reqwest`), R (`httr`), curl e Postman funzionano subito. La specifica OpenAPI 3.0 a /api/v1/openapi.json permette di generare client tipizzati con `openapi-generator-cli` per tutti i linguaggi sopra più C#, Java, Swift, Kotlin, PHP, Ruby. Nessun SDK richiesto — mantenere l'API plain REST è una scelta deliberata.
Stessa freschezza della pubblicazione CFTC stessa. Il nostro auto-watcher interroga CFTC SODA ogni ora in una finestra di 4 ore attorno al rilascio del venerdì 15:30 ET, coprendo sia Eastern Daylight che Standard Time più rilasci ritardati nelle settimane con festività USA. Una volta atterrati dati nuovi, `/api/v1/cot/<code>/latest` e `/api/v1/cot/<code>/index` restituiscono la nuova settimana in pochi minuti. L'endpoint storico `/api/v1/cot/<code>` restituisce sempre la serie completa fino all'ultima settimana pubblicata.
Non per dati reali. L'uso gratuito è limitato a `/api/v1/demo` — un endpoint senza autenticazione che restituisce una risposta JSON sintetica fissa con `sample: true` per la validazione del parser. 10 richieste/giorno per IP. I dati CFTC reali richiedono l'abbonamento a pagamento. Non gestiamo un freemium perché la pubblicazione CFTC non ci costa nulla; quello che paghi è la normalizzazione, la consegna rate-limited, la spec OpenAPI, il ciclo di vita del bearer token, e la disponibilità 24/7 attorno alla finestra di release del venerdì.