Zum Hauptinhalt springen
COT-Reports
COT-Reports.com
COT-Reports
COT-Reports
KOSTENLOS · REST-API-REFERENZ

COT Data API

Bearer-Auth · 60 Req/Min · 500 Req/Tag

REST-API für den gesamten CFTC-Commitments-of-Traders-Datensatz. Verfügbare Endpoints, Authentifizierung, Rate-Limits und Fehlercodes — alles, was du für die Integration brauchst.

Die COT Data API stellt denselben Datensatz bereit wie cot-reports.com: jeden CFTC-Markt, jede Report-Familie (Legacy, Disaggregiert, TFF, Ergänzend), normalisierte Spalten, wöchentliche Historie. Abonniere, generiere ein Token, sende Bearer-Auth bei jeder Anfrage; Rate-Limits unten.

Diese Referenz ist nur in Englisch — der Rest der Seite ist in 6 Sprachen lokalisiert, aber die API-Oberfläche (Endpoint-Namen, Parameter-Syntax, Fehlercodes) ist sprachübergreifend einheitlich. Beispiele in curl; die JavaScript-Snippets laufen in Node 18+ und jedem modernen Browser.

Authentifizierung

Jede Anfrage außer /api/v1/demo erfordert ein Bearer-Token. Abonniere unter cot-reports.com/api, generiere ein Token unter /account/api und füge es im Header Authorization ein.

curl -H "Authorization: Bearer cot_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  https://cot-reports.com/api/v1/markets

Token sind insgesamt 36 Zeichen lang (cot_live_-Präfix + 32 Hex-Zeichen). Das vollständige Token wird genau einmal bei der Erstellung angezeigt; wir speichern nur einen SHA-256-Hash. Verlorene Token können nicht wiederhergestellt werden — widerrufe das alte und generiere ein neues.

Rate-Limits

StufePro MinutePro TagHinweise
Entry (9.99 $/Monat)60500Standardstufe bei Abonnement.
Demo (ohne Auth)510Pro IP. Statische synthetische Antwort.

Jede Antwort enthält X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset für das engere der beiden Fenster, plus Pro-Fenster-Schlüssel (-Minute / -Day) für umfassendere Telemetrie. Bei 429 gibt Retry-After die Wartezeit in Sekunden an.

Endpoints

GET/api/v1/marketsBearer-Auth

Listet jeden CFTC-Markt im Datensatz mit Metadaten und Report-Familien-Zugehörigkeit.

ParameterInTypBeschreibung
categoryquerystringExakter Match auf das Metadaten-Feld category.
trackedquerybooleanFilter auf die kuratierte Auswahl "beliebter" Märkte.
familyquerystringEines aus legacy, disagg, tff, supp.
searchquerystringSubstring-Suche auf market_name (case-insensitive).
limitqueryinteger (1..2000)Standard 500.
offsetqueryintegerPaginierungs-Offset, Standard 0.
curl -H "Authorization: Bearer $COT_API_TOKEN" \
  "https://cot-reports.com/api/v1/markets?family=legacy&tracked=true&limit=10"
GET/api/v1/cot/{cftc_code}Bearer-Auth

Wöchentliche Historie für einen Markt. Standardmäßig die letzten 520 Wochen (10 Jahre).

ParameterInTypBeschreibung
cftc_code *pathstringCFTC-Contract-Market-Code, z. B. 099741 für EURO FX.
familyquerystringStandard legacy. Eines aus legacy, disagg, tff, supp.
fromqueryYYYY-MM-DDInklusive Untergrenze für report_date.
toqueryYYYY-MM-DDInklusive Obergrenze für report_date.
limitqueryinteger (1..5000)Standard 520.
curl -H "Authorization: Bearer $COT_API_TOKEN" \
  "https://cot-reports.com/api/v1/cot/099741?from=2024-01-01"
GET/api/v1/cot/{cftc_code}/latestBearer-Auth

Aktuellster Report für einen Markt.

ParameterInTypBeschreibung
cftc_code *pathstringCFTC-Contract-Market-Code.
familyquerystringStandard legacy.
curl -H "Authorization: Bearer $COT_API_TOKEN" \
  "https://cot-reports.com/api/v1/cot/099741/latest"
GET/api/v1/cot/{cftc_code}/indexBearer-Auth

COT-Index nach Briese (0–100 Perzentil) für den aktuellen Report gegen das Lookback-Fenster.

ParameterInTypBeschreibung
cftc_code *pathstringCFTC-Contract-Market-Code.
lookbackqueryinteger (4..520)Fenster in Wochen. Standard 52.
curl -H "Authorization: Bearer $COT_API_TOKEN" \
  "https://cot-reports.com/api/v1/cot/099741/index?lookback=156"
GET/api/v1/demoKeine Auth

Statische synthetische Beispielantwort. Keine Auth. 10 Req/Tag pro IP. Zur Format-Validierung vor dem Abo.

curl https://cot-reports.com/api/v1/demo

Fehlercodes

codeHTTPWann
missing_header401Authorization-Header wurde nicht gesendet.
malformed_header401Authorization-Header ist nicht Bearer + cot_live_<32 Hex>.
unknown_token401Token entspricht keiner aktiven Zeile. Möglicherweise widerrufen oder nie generiert.
revoked403Token existiert, wurde aber widerrufen (Abo gekündigt, manueller Widerruf).
rate_limited429Pro-Minute- oder Pro-Tag-Limit überschritten. Retry-After-Header gibt die Wartezeit in Sekunden an.
invalid_code400cftc_code im Pfad hat die alphanumerische Validierung nicht bestanden.
invalid_family400family-Parameter nicht in legacy, disagg, tff, supp.
invalid_from400from-Parameter ist kein gültiges YYYY-MM-DD-Datum.
invalid_to400to-Parameter ist kein gültiges YYYY-MM-DD-Datum.
no_data404Keine Historie für den angefragten Markt in der angefragten Familie.
db_error500Interner Datenbankfehler. Einmal wiederholen; falls anhaltend, Support kontaktieren.
internal500Unerwarteter Serverfehler. Einmal wiederholen; falls anhaltend, Support kontaktieren.
demo_rate_limited429/api/v1/demo IP-Hash-Limit (10/Tag) erreicht.

JavaScript-Beispiel

const r = await fetch('https://cot-reports.com/api/v1/cot/099741/index?lookback=52', {
  headers: { Authorization: `Bearer ${process.env.COT_API_TOKEN}` },
})
if (!r.ok) {
  const { error, message } = await r.json()
  throw new Error(`COT API ${r.status} ${error}: ${message}`)
}
const { cot_index, latest_report_date } = await r.json()
console.log(`COT Index for EURO FX as of ${latest_report_date}: ${cot_index}`)

OpenAPI 3.0 Spec

Maschinenlesbare Beschreibung jedes Endpoints oben. In Postman, Insomnia, OpenAPI Generator usw. importierbar.

openapi.json herunterladen

Nutzungsbedingungen

  • Ein Token pro Abonnent. Token-Sharing über Nutzer oder Systeme hinaus, die dein Abo abdeckt, verstößt gegen die AGB; wir widerrufen Token mit verteilten IP-Mustern.
  • Die CFTC-Daten selbst sind Public Domain (17 USC §105). Du kannst kostenpflichtige Produkte darauf aufbauen, Abfrageergebnisse weiterverteilen oder beliebige Modelle damit füttern. Wir schränken die Datensemantik nicht ein.
  • Massen-Scraping zur kostenlosen Rekonstruktion des Data Dumps ist untersagt — kaufe das Data Dump, falls das dein Ziel ist; einmalig 49 $ und du sparst dir den Rate-Limit-Tanz.
  • Rate-Limit-Umgehung (rotierende IPs, parallele Token zum selben Endpoint) verstößt gegen die AGB. Wir loggen pro Token + pro IP-Hash genau dafür.

Volle AGB: /terms.