Aller au contenu principal
COT-Reports
COT-Reports.com
COT-Reports
Retour à tous les articles
6 min de lecture

La COT Data API — accès programmatique aux rapports CFTC hebdomadaires

Une API REST pour le jeu de données Commitments of Traders. Auth bearer, réponses JSON, quatre endpoints, 9,99 $/mois. Pour les traders qui codent, les analystes qui pipent les données dans des dashboards, et tous ceux qui ont besoin du COT report dans autre chose qu'un navigateur ou un tableur.

apideveloperstoolsproduct
La COT Data API — accès programmatique aux rapports CFTC hebdomadaires

a plupart des lecteurs de COT-Reports.com n'auront jamais besoin d'une API. Le site couvre le cas quotidien ; le tableur couvre le cas hebdomadaire. Mais une fois par trimestre quelqu'un nous écrit en demandant la même chose : "Avez-vous une API ? Je veux piper les données COT dans [Python / un indicateur TradingView / un dashboard interne / un bot Discord / une base Notion]." Oui. Elle s'appelle la COT Data API et voici ce qu'elle fait.

Le pitch en une phrase : un endpoint REST qui retourne le même jeu de données Commitments of Traders qui alimente le site et le modèle Excel — authentifié par bearer, JSON, colonnes normalisées, historique hebdomadaire. 9,99 $ par mois, annulez quand vous voulez. Les données sous-jacentes sont du domaine public fédéral américain (17 USC §105) ; ce que vous payez, c'est la curation, la livraison limitée en débit et la spec OpenAPI 3.0.

Qui utilise vraiment une API pour les données COT ?

Trois personas, d'après notre expérience :

**Le trader systématique.** Fait tourner un modèle de positionnement en Python ou R. Lit la nouvelle sortie CFTC vendredi après-midi, recalcule les signaux, envoie les ordres au broker lundi matin. Ne veut pas écrire un scraper CFTC, ne veut pas un workflow de téléchargement CSV, veut `requests.get(...)` et une enveloppe JSON.

**L'analyste qui construit un dashboard.** Dashboard d'équipe interne, panneau Grafana, base Notion, rapport Tableau personnalisé. Pipe le dernier positionnement COT dans un visuel que ses collègues vérifient déjà quotidiennement.

**Le constructeur d'outils indie.** Bot Discord qui poste la nouvelle sortie COT chaque vendredi. Pine Script TradingView qui superpose le positionnement Managed Money sur le graphique. App iOS qui ping quand le positionnement atteint un extrême. Différentes surfaces, même besoin de données.

Si votre workflow ressemble à l'un de ceux-ci, l'API existe pour vous. Si vous voulez juste lire le rapport et agir, le site fait ça gratuitement.

Les quatre endpoints

La surface API est intentionnellement réduite. Quatre endpoints, chacun fait une chose bien, tous retournant du JSON :

**`GET /api/v1/markets`** — liste chaque marché CFTC dans notre catalogue normalisé. Filtrable par catégorie, famille de rapport ou statut tracked.

**`GET /api/v1/cot/{cftc_code}`** — historique hebdomadaire pour un marché. Par défaut retourne les 520 dernières semaines (~10 ans) sur la famille Legacy futures-only.

**`GET /api/v1/cot/{cftc_code}/latest`** — rapport le plus récent pour un marché. Endpoint pratique quand vous n'avez besoin que de la semaine courante.

**`GET /api/v1/cot/{cftc_code}/index`** — COT Index style Briese (percentile 0-100 du positionnement net non-commercial sur une fenêtre roulante). Par défaut 52 semaines.

Plus un cinquième, `GET /api/v1/demo`, qui retourne un échantillon synthétique fixe sans auth (10 requêtes par jour par IP). Utilisez-le pour valider votre parser avant de souscrire.

Authentification, limites de débit et détails pratiques

L'auth est bearer token : `Authorization: Bearer cot_live_<32 hex>`. Vous générez un token à /account/api après souscription — les tokens sont hashés SHA-256 dans la base, jamais stockés en clair, et révocables depuis la même page si une clé fuit.

Les limites du palier d'entrée sont 60 requêtes par minute et 500 requêtes par jour, par token. C'est confortablement plus que ce dont a besoin le workflow typique "récupérer la dernière semaine pour 30 marchés chaque vendredi". Nous exposons le quota restant dans les headers `X-RateLimit-Remaining` sur chaque réponse.

Les erreurs reviennent comme une enveloppe stable : `{ "error": "<code_machine>", "message": "<texte_humain>" }` avec un statut HTTP significatif. Le code machine est ce sur quoi vous devriez brancher (`unknown_token`, `rate_limited`, `no_data`, etc.) ; le message humain est pour les logs.

Un exemple minimal, en trois langages

Tirer la dernière semaine pour EUR FX (code CFTC 099741) prend à peu près autant de code qu'on s'y attend :

**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 vit à `/api/v1/openapi.json` si vous voulez générer des clients dans votre langage automatiquement.

En quoi c'est différent de scraper l'archive CFTC vous-même

Vous pourriez tout à fait scraper l'archive CFTC SODA directement — elle est publique, gratuite et bien documentée. Nous faisons exactement cela nous-mêmes en back end. Alors pourquoi payer 9,99 $/mois pour ce qui équivaut à une couche normalisée sur la même source ?

Quelques raisons pour lesquelles les gens décident que ça vaut le coup :

**Noms de colonnes.** La CFTC livre ses données avec des noms de champs stables mais désordonnés. Notre API retourne des noms propres et prévisibles : `noncomm_long`, `noncomm_short`, `comm_long`, `comm_short`.

**Cohérence inter-familles.** La CFTC publie Legacy, Disaggregated, TFF et Supplemental comme quatre jeux de données séparés avec quatre conventions de colonnes séparées. L'API normalise les quatre à la même forme.

**COT Index intégré.** Le percentile 0-100 Briese est un endpoint en une ligne au lieu d'une requête fenêtre que vous maintenez vous-même.

**Livraison limitée en débit.** Quand vous appelez notre endpoint, vous lisez depuis notre cache, pas depuis les serveurs CFTC. CFTC SODA limite agressivement sous charge — votre scraper peut échouer juste quand vous en avez le plus besoin.

**Maintenance.** Quand la CFTC change un nom de colonne (et ils le font, toutes les quelques années), le bris arrive de notre côté. Votre code continue de fonctionner.

Comment ça s'intègre à côté du tableur et du Data Dump

Nous vendons trois produits de données et ils couvrent trois workflows différents :

**Le COT Report Spreadsheet (39 $ unique)** — pour le trader qui vit dans Excel. Ouvrez le fichier, voyez la dernière semaine.

**La COT Data API (9,99 $/mois)** — pour le trader qui code. Utilisez n'importe quel langage, framework, plateforme.

**Le COT Data Dump (49 $ unique)** — pour le cas où vous avez besoin de toute l'archive historique d'un coup. Chaque marché, chaque famille, 1986 à aujourd'hui, dans un seul ZIP.

Ils sont intentionnellement des produits différents avec des points de prix différents parce qu'ils servent des cas d'usage différents. La plupart des lecteurs n'ont besoin que d'un seul. Quelques power users en achètent deux. Ce qui correspond.

Souscrivez à l'API à /api sur le site principal, générez votre premier token à /account/api, et l'endpoint demo validera votre setup avant que vous n'écriviez une seule ligne de code de production. Annulez quand vous voulez.

Fin de l'article

Merci d'avoir lu. Si cela vous a été utile, le canal Telegram et la newsletter hebdomadaire sont les moyens les plus simples de ne pas rater le prochain.

Partager :
Retour à tous les articles

Continuer la lecture

Deux autres notes des éditeurs.

Restez près des données

Vendredi après-midi, dans votre boîte mail.

Chaque vendredi à 15h30 heure de l'Est, la nouvelle publication CFTC arrive et nous postons le résumé hebdomadaire complet sur le canal Telegram. Rejoignez les 12 000+ traders qui suivent déjà — ou utilisez la newsletter pour une lecture plus approfondie.

Rejoindre le canal

Digest COT hebdomadaire

Un court e-mail chaque vendredi avec la nouvelle publication CFTC, les principaux mouvements de marché et le calendrier de la semaine suivante. Pas de spam, désinscription à tout moment.

Chaque vendrediDonnées CFTCMouvements de marchéGratuit

En vous abonnant, vous acceptez nos Conditions & Politique de confidentialité.