SportiveWorld
← Profesional y Media

API y datos

Rankings e índices propios servidos por clave, y rankings de la NBA en CSV por acuerdo. Cada respuesta declara su licencia, su cupo y su fuente. No hay alta automática: la clave se concede una a una.

Qué puedes obtener

5 datasets por clave. Cada uno envuelve el mismo cálculo que ya sirve la web: una sola fuente de verdad.

  1. Power rankings NBA

    GET/api/v1/power-rankings

    Parámetros · ?year=

    Los 30 equipos ordenados por el modelo propio (diferencial, forma, % de victorias, recorrido), con el porqué de cada puesto y el movimiento respecto a la foto anterior.

    Cobertura · NBA · una temporada por llamada (year = año de inicio; 2025 = 2025-26) · calculado sobre nuestras actas de temporada regular.

    Frescura · Se recalcula con las actas ingeridas (temporada en curso: a diario); la respuesta se cachea 1 hora y declara last_game.

    Llamada · /api/v1/power-rankings?year=2025

  2. Cambio de moneda entre ligas

    GET/api/v1/cambio

    Parámetros · ?de= ?a=

    Cuánto vale la producción de un jugador al cambiar de competición: factor, muestra y rango por estadística (puntos, rebotes, asistencias, minutos), a partir de jugadores que hicieron ese viaje de verdad.

    Cobertura · NBA · Liga Endesa · EuroLiga · EuroCup · NCAA · G League · solo se publican los viajes con al menos 12 jugadores que los hicieron (15 partidos y 8 minutos por partido en cada temporada).

    Frescura · Factores recalculados por lote sobre las temporadas cerradas (no en tiempo real); la respuesta se cachea 1 hora.

    Llamada · /api/v1/cambio?de=acb&a=nba

  3. On/off por jugador

    GET/api/v1/onoff

    Parámetros · ?id=

    El net rating del equipo con el jugador en pista y sin él, con los minutos de cada lado, calculado desde los quintetos reales de su última temporada con datos.

    Cobertura · NBA · un jugador por llamada (id = identificador de jugador de SportiveWorld, el de su ficha) · temporada regular.

    Frescura · Cálculo en cada llamada sobre los quintetos ingeridos; sin caché.

    Llamada · /api/v1/onoff?id=<id-de-jugador>

  4. Líderes WNBA

    GET/api/v1/wnba-leaders

    Parámetros · ?season=

    Las líderes de una temporada en puntos, rebotes y asistencias por partido (con partidos jugados y equipo) y, aparte, las jugadoras españolas.

    Cobertura · WNBA · una temporada por llamada (season = año) · sobre los partidos jugados de nuestras actas.

    Frescura · Actas ingeridas por el cron de la casa durante la temporada; la respuesta se cachea 1 hora.

    Llamada · /api/v1/wnba-leaders?season=2026

  5. Líderes G League

    GET/api/v1/gleague-leaders

    Parámetros · ?season=

    Los líderes de una temporada de la NBA G League en puntos, rebotes y asistencias por partido y, aparte, los jugadores españoles.

    Cobertura · NBA G League · una temporada por llamada (season = año) · sobre los partidos jugados de nuestras actas.

    Frescura · Actas ingeridas por el cron de la casa durante la temporada; la respuesta se cachea 1 hora.

    Llamada · /api/v1/gleague-leaders?season=2025

Exportación en CSV

4 conjuntos de rankings históricos de la NBA (máximos anotadores de la historia, más puntos en un partido, mejores promedios, más triples en una temporada) en CSV. No se descargan solos: se activan por acuerdo o licencia profesional, cuenta por cuenta. La página dice qué hay dentro.

Ver los conjuntos exportables

Ejemplo real

Así se pide y así responde. El sobre es siempre el mismo: dataset, fuente, licencia, cupo consumido y el dato.

Petición

curl -H "Authorization: Bearer TU_CLAVE" \
  https://www.sportiveworld.com/api/v1/power-rankings?year=2025

Respuesta

{
  "dataset": "power-rankings",
  "source": "SportiveWorld",
  "license": "Datos de SportiveWorld. Uso bajo licencia; cita la fuente. Rankings e índices son cálculo propio.",
  "quota": { "used": 1, "limit": 1000, "plan": "media" },
  "data": {
    "season": { "year": 2025, "label": "2025-26", "live": false, "compared_to": "2024-25", "last_game": "2026-04-12" },
    "method": "closed",
    "teams": [
      { "rank": 1, "prev_rank": 1, "move": 0, "abbr": "OKC", "name": "Thunder", "conference": "West",
        "wins": 64, "losses": 18, "win_pct": 0.78, "mov": 11.2, "net": 11.1, "off": 117.6, "def": 106.5,
        "score": 1.762, "why": [{ "k": "pr_mov", "v": "+11.2" }, { "k": "pr_def", "v": "1" }] },
      "… 29 equipos más"
    ]
  }
}

Respuesta recortada; el cuerpo «data» es el que sirvió producción el 2026-09-19. El dato vivo se obtiene con la clave.

Autenticación

La clave viaja de una de estas tres formas. Sin clave válida no se sirve ningún dato: ante la duda, la API se cierra.

  • Cabecera Authorization: Bearer TU_CLAVE
  • Cabecera X-Api-Key: TU_CLAVE
  • Parámetro ?key=TU_CLAVE
  • 200Dato + quota (usado, límite, plan) y cabeceras X-RateLimit-Limit / X-RateLimit-Remaining.
  • 401Falta la clave. La respuesta dice dónde solicitarla.
  • 403Clave no válida o revocada.
  • 404Dataset inexistente; la respuesta lista los que existen.
  • 429Límite diario alcanzado; vuelve mañana o pide ampliación.
  • 502El origen del dato no respondió: no se sirve un dato a medias.

El catálogo (GET /api/v1) es público y no gasta clave.

Qué incluye cada clave

  • Cada clave tiene dueño, plan y límite diario, fijados al concederla. No hay planes que se compren en la web: no existe alta automática.
  • Una misma clave sirve todos los datasets del catálogo. Se puede revocar; una clave revocada recibe 403.
  • La licencia va en cada respuesta: uso bajo licencia, cita de la fuente, y los rankings e índices son cálculo propio.
  • El volumen, los cruces a medida y los datos propios de un club se acuerdan por escrito, no son un plan.

Límites

  • Cupo diario por clave: 1000 llamadas correctas al día por defecto (día UTC); se fija por clave y se puede ampliar.
  • Cada llamada correcta consume una unidad del cupo y devuelve el cupo restante en la cabecera y en el sobre.
  • Las llamadas denegadas con clave (403, 429) quedan registradas con su código: hay telemetría de los intentos, no solo de los aciertos.
  • Las respuestas con dato no se cachean del lado del servidor (no-store); el catálogo público sí (1 hora).

Qué no está cubierto

Lo decimos antes de que lo pidas.

  • No hay alta automática ni clave de prueba pública: cada clave se concede a mano.
  • No se sirve play-by-play crudo, tracking, Scout ni el feed de Broadcast por esta API.
  • No hay datos en directo: los datasets se calculan sobre actas ingeridas y llevan su caché declarada.
  • Ninguna competición fuera de las declaradas en cada dataset (NBA, WNBA, G League y las seis ligas del cambio).
  • La exportación CSV no se abre con ningún plan de la app: solo por acuerdo, cuenta por cuenta.

Cómo se obtiene acceso

Escríbenos y te respondemos por correo, sin llamada obligatoria. Cuéntanos:

  • quién eres (medio, club, agencia, desarrollador);
  • qué datasets quieres y con qué volumen aproximado;
  • para qué uso (publicación, análisis interno, integración).

Solicitar no compromete a nada. Si lo que buscas es Broadcast, Studio o Scout, la puerta es la página Profesional y Media.