API REST

Resumen

Una petición, una respuesta ya agregada. Todas las rutas comparten la misma forma, el mismo sobre y los mismos parámetros transversales: lo que vale para una familia vale para las demás.

#La forma de una petición

Forma
GET https://api.bytnode.com/v1/<family>/<metric>
  ?symbol=BTCUSDT       # required on per-asset routes
  &timeframe=1h         # on bucketed routes
  &limit=100            # on /history routes
  &fields=timestamp,rate

X-API-KEY: your_key

La ruta indica la familia y la métrica. Los parámetros indican el activo, la temporalidad y la profundidad. La cabecera lleva la clave. No hace falta saber nada más para llamar a cualquier ruta.

Un solo endpoint escapa a esta forma: POST /v1/indicators, que recibe un cuerpo JSON porque describe un cálculo, no una lectura.

#Último valor o historial

La mayoría de las métricas existen en dos versiones. La ruta sin sufijo devuelve el último valor: un objeto o null. El sufijo /history devuelve una lista, de la más reciente a la más antigua.

curl
# The latest value
GET /v1/basis?symbol=BTCUSDT

# The last 200, from newest to oldest
GET /v1/basis/history?symbol=BTCUSDT&limit=200

# A dated window, in milliseconds
GET /v1/basis/history?symbol=BTCUSDT&since_ms=1756425600000&until_ms=1756512000000

#Parámetros comunes

ParámetroTipoPor defectoDescripción
symbolstringobligatorioEl activo, en el formato del catálogo (BTCUSDT). Ausente: 422. Desconocido: 400 con la lista. Las rutas de todo el mercado no lo aceptan.
timeframestringobligatorioEn las rutas por intervalos: 1m, 5m, 15m, 30m, 1h, 4h, 1d. Fuera de la lista: 422.
limitinteger100En las rutas /history. Límite de 1000 en general, 500 en el ratio largo/corto y los diferenciales entre mercados.
since_ms / until_msinteger—Ventana de tiempo en milisegundos Unix, donde la ruta lo acepta. El filtro se aplica antes que limit.
livebooleanfalseEn las rutas de último valor por intervalos: expone el periodo en curso, marcado is_closed: false.
fieldsstring—Proyección CSV de data, notación con puntos para los campos anidados. Campo desconocido: 422 con una sugerencia.

Lo que no existe

El parámetro exchange no existe en ninguna ruta: las respuestas están agregadas y no nombran su mercado, con la única excepción de los diferenciales entre mercados. Pasarlo devuelve 422.

#Las familias

AutenticaciónUna clave de API para los tres canales. Dónde ponerla, cómo protegerla, cómo rotarla.Respuestas y erroresEl sobre común, la proyección ?fields=, los códigos de error y lo que significan.Límites de usoVelocidad, conexiones simultáneas, profundidad del historial y qué hacer ante un 429.ConvencionesSímbolos, temporalidades, agregación multimercado, velas cerradas y cobertura de las fuentes.API RESTLa forma de una petición REST, las familias disponibles y la elección latest / history.Sistema y metadatosSalud, frescura de las fuentes, catálogo de símbolos e informe de capacidades.SnapshotSesenta y un campos en una sola petición, con las claves unavailable y coverage.Precio y volumenVelas, operaciones agregadas, ticks individuales, grandes órdenes y variación de precio.DerivadosFunding, interés abierto, liquidaciones, ratio largo/corto, base y diferenciales entre mercados.Flujo y microestructuraCVD, libro de órdenes agregado, VWAP, ratio compra/venta, tamaño medio y heatmap.Indicadores técnicosVeinte indicadores calculados bajo demanda, calibrados con TradingView.OpcionesInterés abierto, volumen, put/call, max pain, volatilidad implícita y griegas de BTC y ETH.On-chain y redLa red de Bitcoin, la valoración on-chain de BTC y las ocho familias de Ethereum.Macro, ETF y sentimientoSeries macro oficiales, velas macro intradía, fundamentales de ETF, tokenomics y Fear & Greed.Flujo WebSocketCuatro canales consolidados, autenticación por mensaje, secuencias y códigos de cierre.

Todas las rutas caben en una página en el catálogo de endpoints.