Aller au contenu principal
COT-Reports
COT-Reports.com
COT-Reports
COT-Reports
PAYANT · API REST · AUTH BEARER

Récupérez chaque marché CFTC — par programme.

Auth bearer · JSON · 60 req/min · 500 req/jour

+380 marchés sur les quatre familles de rapports CFTC, colonnes normalisées, historique hebdomadaire, endpoints REST. $9.99/mois — annulez à tout moment.

COT Data API est une API REST à $9.99/mois qui expose le même jeu de données CFTC Commitments of Traders qui alimente cot-reports.com. Authentification bearer, réponses JSON, quatre endpoints (liste des marchés, historique, dernière semaine, COT Index) plus une démo statique gratuite pour valider le format. Les données CFTC sous-jacentes sont du domaine public fédéral américain (17 USC §105) ; la valeur de ce produit réside dans la curation des colonnes normalisées, la livraison avec rate-limiting et la spécification OpenAPI 3.0.

$9.99 / moisAnnulez à tout moment. Accès jusqu’à la fin de la période payée.
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)"
  }
}
Format réel du palier d'entrée. Réponse identique en production et sur l'endpoint démo gratuit.

Quatre endpoints, plus une démo gratuite

GET /api/v1/markets

Liste tous les marchés CFTC avec catégorie, bourse et appartenance aux familles de rapports. Filtre par catégorie, famille, marchés suivis uniquement, ou recherche par sous-chaîne.

GET /api/v1/cot/{cftc_code}

Historique hebdomadaire pour un marché unique. Retourne par défaut les 520 dernières semaines ; from / to / family / limit sont des paramètres optionnels.

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

Rapport le plus récent pour un marché. Pré-calculé pour le pattern de polling typique du vendredi après publication.

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

COT Index style Briese (centile 0–100) pour le dernier rapport par rapport à la fenêtre de lookback. 52 semaines par défaut.

Plus un endpoint GET /api/v1/demo gratuit, sans authentification, qui retourne une réponse synthétique statique — utilisez-le pour valider votre parseur avant l’abonnement. 10 req/jour par IP.

Limites de débit

  • 60 requêtes par minute
  • 500 requêtes par jour
  • En-têtes standard X-RateLimit-* sur chaque réponse
  • En cas de 429, l’en-tête Retry-After indique le nombre de secondes à attendre

Construit sécurisé

Les tokens sont des chaînes bearer de 36 caractères (cot_live_<32 hex>). Nous hachons en SHA-256 et stockons uniquement le hash ; le token brut vous est affiché exactement une fois à la création. Comparaison à temps constant à la validation. Logging par token ET par IP-hash pour la détection d’abus. L’annulation respecte la période payée — le token reste actif jusqu’à la fin de la période en cours, puis est révoqué automatiquement. Révocation manuelle immédiate en un clic sur /account/api.

Livrez une intégration COT cet après-midi.

Pas de pagination SODA. Pas de typos de noms de colonnes CFTC. Pas de cron hebdomadaire à surveiller. Cinq endpoints, un token bearer, prêt à consommer.

Annulable à tout moment. Auth bearer. Réponses JSON. Endpoint démo gratuit pour validation.

Lire la référence API

Questions fréquentes

Que couvre le palier d’entrée ?

Chaque endpoint, chaque marché, chaque famille de rapports. La seule différence entre Entry, Pro et Business sont les limites de requêtes par minute et par jour — Pro et Business arrivent plus tard.

Puis-je partager le token entre machines ?

Un token par abonnement. Le partage entre systèmes est une violation des Conditions ; nous loggons par token ET par hash d’IP, et révoquons les tokens dont le pattern d’usage indique une distribution. Utilisez la clé API dans votre CI / serveur de production, gardez-la hors des clients.

Comment fonctionne l’annulation ?

Annulez à tout moment dans le portail client Stripe. L’annulation par défaut maintient votre accès API actif jusqu’à la fin de la période facturée — vous avez payé pour cette période, vous l’utilisez. À la fin de la période, le token est révoqué automatiquement. Si vous devez révoquer immédiatement (token compromis, rotation CI, etc.), utilisez le bouton Revoke sur /account/api — effet immédiat dès la prochaine requête.

Qu’est-ce que l’endpoint démo ?

/api/v1/demo retourne une réponse JSON synthétique fixe avec un flag sample:true et un message "This is a sample response." Aucune donnée CFTC réelle, pas d’authentification, 10 req/jour par IP. Utilisez-le pour valider votre parseur ; n’essayez pas de l’utiliser comme source gratuite — chaque réponse est identique.

Que se passe-t-il si le schéma change ?

Nous ajoutons des colonnes sans casser — votre parseur continue de fonctionner. Les renommages, suppressions ou réorganisations entraînent un changement de version majeure du schéma et sont annoncés 30 jours à l'avance sur le changelog à https://cot-reports.com/api plus une notice dans le tableau de bord /account/api pour les abonnés actifs. Fixez votre code sur les champs que vous utilisez réellement, ajoutez un test unitaire qui échoue sur des null inattendus, et faites confiance au contrat.

Comment m'authentifier ?

Chaque requête nécessite un en-tête `Authorization: Bearer <token>`. Les tokens sont au format `cot_live_<32 caractères hex>` (ou `cot_test_…` en preview/dev), 36 caractères au total avec le préfixe. Récupérez le vôtre depuis /account/api après votre abonnement — il s'affiche une seule fois, sauvegardez-le immédiatement. Exemple : `curl -H 'Authorization: Bearer cot_live_abc123…' https://cot-reports.com/api/v1/markets`. Pas d'OAuth, pas de requêtes signées, pas de client IDs — juste le bearer token.

Quels langages de programmation et bibliothèques puis-je utiliser ?

Tout ce qui fait des requêtes HTTPS. L'API est du REST + JSON simple, donc Python (`requests`, `httpx`), Node.js (`fetch`, `axios`), Go (`net/http`), Rust (`reqwest`), R (`httr`), curl et Postman fonctionnent immédiatement. La spécification OpenAPI 3.0 à /api/v1/openapi.json permet de générer des clients typés avec `openapi-generator-cli` pour tous les langages ci-dessus plus C#, Java, Swift, Kotlin, PHP, Ruby. Aucun SDK requis — garder l'API plain REST est un choix délibéré.

Quelle est la fraîcheur des données — et comment l'API reste-t-elle à jour ?

Même fraîcheur que la publication CFTC elle-même. Notre watcher automatique interroge CFTC SODA chaque heure dans une fenêtre de 4 heures autour de la publication du vendredi 15:30 ET, couvrant l'Eastern Daylight et Standard Time plus les publications retardées lors des semaines fériées US. Dès l'arrivée de nouvelles données, `/api/v1/cot/<code>/latest` et `/api/v1/cot/<code>/index` retournent la nouvelle semaine en quelques minutes. L'endpoint historique `/api/v1/cot/<code>` retourne toujours la série complète jusqu'à la dernière semaine publiée.

Y a-t-il un niveau gratuit ou un essai ?

Pas pour les données réelles. L'usage gratuit est limité à `/api/v1/demo` — un endpoint sans authentification qui retourne une réponse JSON synthétique fixe avec `sample: true` pour la validation du parseur. 10 requêtes/jour par IP. Les vraies données CFTC nécessitent l'abonnement payant. Nous n'avons pas de freemium parce que la publication CFTC ne nous coûte rien ; ce que vous payez, c'est la normalisation, la livraison rate-limited, la spec OpenAPI, le cycle de vie du bearer token, et la disponibilité 24/7 autour de la fenêtre de publication du vendredi.