La COT Data API — accesso programmatico ai rapporti CFTC settimanali
Un'API REST per il dataset Commitments of Traders. Auth bearer, risposte JSON, quattro endpoint, 9,99 $/mese. Per trader che programmano, analisti che pipano dati in dashboard, e chiunque abbia bisogno del COT report dentro qualcosa di diverso da un browser o un foglio di calcolo.

a maggior parte dei lettori di COT-Reports.com non avrà mai bisogno di un'API. Il sito copre il caso quotidiano; il foglio di calcolo copre il caso settimanale. Ma una volta a trimestre qualcuno ci scrive chiedendo la stessa cosa: "Avete un'API? Voglio pipare i dati COT in [Python / un indicatore TradingView / un dashboard interno / un bot Discord / un database Notion]." Sì. Si chiama COT Data API ed ecco cosa fa.
Il pitch in una frase: un endpoint REST che restituisce lo stesso dataset Commitments of Traders che alimenta il sito e il template Excel — autenticato bearer, formato JSON, colonne normalizzate, storico settimanale. 9,99 $ al mese, cancellabile in qualsiasi momento.
Chi usa davvero un'API per dati COT?
Tre persone, dalla nostra esperienza:
**Il trader sistematico.** Esegue un modello di posizionamento in Python o R. Legge la nuova uscita CFTC venerdì pomeriggio, ricalcola i segnali, invia ordini al broker lunedì mattina. Non vuole scrivere uno scraper CFTC.
**L'analista che costruisce un dashboard.** Dashboard interno team, pannello Grafana, database Notion, report Tableau personalizzato.
**Il costruttore di strumenti indie.** Bot Discord che posta la nuova uscita COT ogni venerdì. Pine Script TradingView. App iOS che pinga quando il posizionamento raggiunge un estremo.
Se il tuo workflow assomiglia a uno di questi, l'API esiste per te.
I quattro endpoint
La superficie API è intenzionalmente compatta. Quattro endpoint, ognuno fa una cosa bene, tutti restituiscono JSON:
**`GET /api/v1/markets`** — elenca ogni mercato CFTC nel nostro catalogo normalizzato.
**`GET /api/v1/cot/{cftc_code}`** — storico settimanale per un mercato. Per default le ultime 520 settimane (~10 anni).
**`GET /api/v1/cot/{cftc_code}/latest`** — rapporto più recente per un mercato.
**`GET /api/v1/cot/{cftc_code}/index`** — COT Index stile Briese (percentile 0-100 del posizionamento netto non-commercial).
Più un quinto, `GET /api/v1/demo`, che restituisce un campione sintetico fisso senza auth (10 richieste al giorno per IP).
Autenticazione, rate limit e dettagli pratici
L'auth è bearer token: `Authorization: Bearer cot_live_<32 hex>`. Generi un token a /account/api dopo l'abbonamento — i token sono hashati SHA-256 nel database, mai memorizzati in chiaro.
I limiti del tier d'ingresso sono 60 richieste al minuto e 500 richieste al giorno, per token. Esponiamo la quota rimanente in header `X-RateLimit-Remaining` su ogni risposta.
Gli errori arrivano come envelope stabile: `{ "error": "<codice_macchina>", "message": "<testo_umano>" }` con stato HTTP significativo.
Un esempio minimale, in tre linguaggi
Tirare l'ultima settimana per EUR FX (codice CFTC 099741) richiede circa il codice che ti aspetti:
**Python:**
```python import requests r = requests.get( "https://cot-reports.com/api/v1/cot/099741/latest", headers={"Authorization": "Bearer cot_live_..."}, ) data = r.json() print(data["row"]["noncomm_long"]) ```
**JavaScript / Node:**
```javascript const res = await fetch( "https://cot-reports.com/api/v1/cot/099741/latest", { headers: { Authorization: "Bearer cot_live_..." } } ) const data = await res.json() console.log(data.row.noncomm_long) ```
**Bash / curl:**
```bash curl https://cot-reports.com/api/v1/cot/099741/latest \ -H "Authorization: Bearer cot_live_..." ```
La spec OpenAPI 3.0 vive a `/api/v1/openapi.json`.
In cosa differisce dal scraping dell'archivio CFTC da soli
Potresti assolutamente scrapare l'archivio CFTC SODA direttamente — è pubblico, gratuito e ben documentato. Allora perché pagare 9,99 $/mese?
**Nomi di colonne.** La nostra API restituisce nomi puliti e prevedibili: `noncomm_long`, `noncomm_short`, `comm_long`, `comm_short`.
**Coerenza inter-famiglie.** L'API normalizza tutte e quattro le famiglie alla stessa forma.
**COT Index integrato.** Il percentile 0-100 Briese è un endpoint di una riga.
**Consegna rate-limited.** Quando colpisci il nostro endpoint, leggi dalla nostra cache, non dai server CFTC.
**Manutenzione.** Quando la CFTC cambia un nome di colonna, la rottura succede dalla nostra parte.
Come si integra accanto al foglio di calcolo e al Data Dump
Vendiamo tre prodotti dati e coprono tre workflow diversi:
**Il COT Report Spreadsheet (39 $ una tantum)** — per il trader che vive in Excel.
**La COT Data API (9,99 $/mese)** — per il trader che programma.
**Il COT Data Dump (49 $ una tantum)** — per il caso in cui hai bisogno di tutto l'archivio storico in una volta.
Sono intenzionalmente prodotti diversi con prezzi diversi perché servono casi d'uso diversi.
Abbonati all'API a /api sul sito principale, genera il tuo primo token a /account/api, e l'endpoint demo validerà il tuo setup prima che tu scriva una sola riga di codice di produzione.


