Saltar al contenido principal
COT-Reports
COT-Reports.com
COT-Reports
COT-Reports
DE PAGO · API REST · AUTH BEARER

Trae cada mercado CFTC — programáticamente.

Auth bearer · JSON · 60 req/min · 500 req/día

+380 mercados en las cuatro familias de informes CFTC, columnas normalizadas, historial semanal, endpoints REST. $9.99/mes — cancela en cualquier momento.

COT Data API es una API REST de $9.99/mes que expone el mismo dataset CFTC Commitments of Traders que alimenta cot-reports.com. Autenticación bearer, respuestas JSON, cuatro endpoints (lista de mercados, historial, última semana, COT Index) más un endpoint demo estático gratuito para validar el formato. Los datos CFTC subyacentes son de dominio público federal de EE. UU. (17 USC §105); el valor de este producto reside en la curaduría de columnas normalizadas, la entrega con rate-limiting y la especificación OpenAPI 3.0.

$9.99 / mesCancela en cualquier momento. Acceso hasta el final del periodo pagado.
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 real del nivel entry. Misma respuesta en producción y en el endpoint demo gratuito.

Cuatro endpoints, más un demo gratuito

GET /api/v1/markets

Lista cada mercado CFTC con categoría, bolsa y pertenencia a familias de informes. Filtra por categoría, familia, solo tracked o búsqueda por subcadena.

GET /api/v1/cot/{cftc_code}

Historial semanal para un único mercado. Devuelve por defecto las últimas 520 semanas; from / to / family / limit son parámetros de query opcionales.

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

Informe más reciente para un mercado. Pre-calculado para el patrón típico de polling de viernes tras la publicación.

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

COT Index estilo Briese (percentil 0–100) para el informe más reciente respecto a la ventana de lookback. Por defecto 52 semanas.

Más un endpoint gratuito sin auth GET /api/v1/demo que devuelve una respuesta sintética estática — úsalo para validar tu parser antes de suscribirte. 10 req/día por IP.

Límites de tasa

  • 60 solicitudes por minuto
  • 500 solicitudes por día
  • Cabeceras estándar X-RateLimit-* en cada respuesta
  • En 429, la cabecera Retry-After indica los segundos a esperar

Construido seguro

Los tokens son cadenas bearer de 36 caracteres (cot_live_<32 hex>). Hasheamos con SHA-256 y almacenamos solo el hash; el token en bruto se te muestra exactamente una vez al crearlo. Comparación en tiempo constante en validación. Logging por token Y por hash de IP para detección de abusos. La cancelación respeta el periodo pagado — el token sigue activo hasta el final del periodo de facturación actual, luego revocación automática. Revocación manual inmediata con un clic en /account/api.

Despacha una integración COT esta tarde.

Sin paginación SODA. Sin typos de nombres de columnas CFTC. Sin cron semanal que cuidar. Cinco endpoints, un token bearer, listo para consumir.

Cancela cuando quieras. Auth bearer. Respuestas JSON. Endpoint demo gratuito para validación.

Leer la referencia de la API

Preguntas frecuentes

¿Qué cubre el nivel entry?

Cada endpoint, cada mercado, cada familia de informes. La única diferencia entre Entry, Pro y Business son los límites por minuto y por día — Pro y Business llegarán más adelante.

¿Puedo compartir el token entre máquinas?

Un token por suscripción. Compartirlo entre sistemas es una violación de los Términos; logueamos por token Y por hash de IP, y revocamos tokens cuyo patrón de uso indica distribución. Usa la clave API en CI / servidor de producción, mantenla fuera de los clientes.

¿Cómo funciona la cancelación?

Cancela en cualquier momento desde el Customer Portal de Stripe. La cancelación por defecto mantiene tu acceso API activo hasta el final del periodo de facturación actual — pagaste por ese periodo, lo usas. Al final del periodo el token se revoca automáticamente. Si necesitas revocar inmediatamente (token filtrado, rotación CI), usa el botón Revoke en /account/api — efecto en la siguiente solicitud.

¿Qué es el endpoint demo?

/api/v1/demo devuelve una respuesta JSON sintética fija con flag sample:true y mensaje "This is a sample response." Sin datos CFTC reales, sin auth, 10 req/día por IP. Úsalo para validar tu parser; no intentes usarlo como fuente gratuita — cada respuesta es idéntica.

¿Qué pasa si el esquema cambia?

Añadimos columnas sin romper nada — tu parser sigue funcionando. Renombrar, eliminar o reordenar columnas sube la versión mayor del esquema y se anuncia 30 días antes en el changelog en https://cot-reports.com/api más un aviso en el panel /account/api para suscriptores activos. Fija tu código a los campos que realmente uses, añade un test unitario que falle ante nulls inesperados, y confía en el contrato.

¿Cómo me autentico?

Cada petición necesita una cabecera `Authorization: Bearer <token>`. Los tokens tienen el formato `cot_live_<32 caracteres hex>` (o `cot_test_…` en preview/dev), 36 caracteres en total incluyendo el prefijo. Obtén el tuyo desde /account/api tras suscribirte — se muestra una sola vez, así que guárdalo inmediatamente. Ejemplo: `curl -H 'Authorization: Bearer cot_live_abc123…' https://cot-reports.com/api/v1/markets`. Sin OAuth, sin peticiones firmadas, sin client IDs — solo el bearer token.

¿Qué lenguajes de programación y bibliotecas puedo usar?

Cualquier cosa que haga peticiones HTTPS. La API es REST + JSON simple, así que Python (`requests`, `httpx`), Node.js (`fetch`, `axios`), Go (`net/http`), Rust (`reqwest`), R (`httr`), curl y Postman funcionan de inmediato. La especificación OpenAPI 3.0 en /api/v1/openapi.json permite generar clientes tipados con `openapi-generator-cli` para todos los lenguajes anteriores más C#, Java, Swift, Kotlin, PHP, Ruby. No se requiere SDK — mantener la API plain REST es una elección deliberada.

¿Qué tan frescos son los datos — y cómo se mantiene la API actualizada?

La misma frescura que la publicación CFTC en sí. Nuestro watcher automático consulta CFTC SODA cada hora en una ventana de 4 horas alrededor de la publicación del viernes 15:30 ET, cubriendo tanto Eastern Daylight como Standard Time más publicaciones retrasadas en semanas con festivos en EE.UU. Tan pronto como aterrizan datos nuevos, `/api/v1/cot/<code>/latest` y `/api/v1/cot/<code>/index` devuelven la nueva semana en pocos minutos. El endpoint histórico `/api/v1/cot/<code>` devuelve siempre la serie completa hasta la última semana publicada.

¿Hay un nivel gratuito o una prueba?

No para datos reales. El uso gratuito está limitado a `/api/v1/demo` — un endpoint sin autenticación que devuelve una respuesta JSON sintética fija con `sample: true` para la validación del parser. 10 peticiones/día por IP. Los datos CFTC reales requieren la suscripción de pago. No tenemos freemium porque la publicación CFTC no nos cuesta nada; lo que pagas es la normalización, la entrega rate-limited, la spec OpenAPI, el ciclo de vida del bearer token, y la disponibilidad 24/7 alrededor de la ventana de release del viernes.