Vai al contenuto principale
COT-Reports
COT-Reports.com
COT-Reports
COT-Reports
A PAGAMENTO · API REST · AUTH BEARER

Tira ogni mercato CFTC — programmaticamente.

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.

$9.99 / meseCancella in qualsiasi momento. Accesso fino al termine del periodo pagato.
GET /cot/{code}/latest
$ 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)"
  }
}
Formato reale del piano entry. Stessa risposta in produzione e sull'endpoint demo gratuito.

Quattro endpoint, più un demo gratuito

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.

GET /api/v1/cot/{cftc_code}

Storico settimanale per un singolo mercato. Restituisce di default le ultime 520 settimane; from / to / family / limit sono parametri query opzionali.

GET /api/v1/cot/{cftc_code}/latest

Report più recente per un singolo mercato. Pre-calcolato per il tipico pattern di polling del venerdì dopo la pubblicazione.

GET /api/v1/cot/{cftc_code}/index

COT Index in stile Briese (percentile 0–100) per l’ultimo report rispetto alla finestra di lookback. Default 52 settimane.

Più un endpoint gratuito senza auth GET /api/v1/demo che restituisce una risposta sintetica statica — usalo per validare il tuo parser prima dell’abbonamento. 10 req/giorno per IP.

Limiti di frequenza

  • 60 richieste al minuto
  • 500 richieste al giorno
  • Header standard X-RateLimit-* su ogni risposta
  • In caso di 429, l’header Retry-After indica i secondi da attendere

Costruito sicuro

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.

Spedisci un’integrazione COT entro pomeriggio.

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 API

Domande frequenti

Cosa copre il livello entry?

Ogni 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.

Posso condividere il token tra macchine?

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.

Come funziona la cancellazione?

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.

Cos’è l’endpoint demo?

/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.

Cosa succede se lo schema cambia?

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.

Come mi autentico?

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.

Quali linguaggi di programmazione e librerie posso usare?

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.

Quanto sono freschi i dati — e come si mantiene aggiornata l'API?

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.

C'è un livello gratuito o una prova?

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ì.