Referencia

Referencia de la API

Los resultados de cada mesa de ruleta y juego crash de tu plan, en JSON y por HTTPS. URL base: https://api.gamedata365.com. Cinco endpoints, todos GET.

Tu clave

Envía tu clave en la cabecera X-API-Key en cada llamada (también sirve Authorization: Bearer). Está en tu cuenta, en API, con una solicitud lista para copiar. ¿Aún no tienes clave? Arma un plan u obtén una clave gratis para hasta 3 juegos.

curl

curl -H "X-API-Key: YOUR_KEY" \
  "https://api.gamedata365.com/v1/live"

JavaScript (Node 18+, browser)

fetch("https://api.gamedata365.com/v1/live", {
  headers: { "X-API-Key": "YOUR_KEY" },
})
  .then((r) => r.json())
  .then(console.log);

Python (requests)

import requests

r = requests.get(
    "https://api.gamedata365.com/v1/live",
    headers={"X-API-Key": "YOUR_KEY"},
)
print(r.json())

¿Te suscribiste por RapidAPI? Envía X-RapidAPI-Key a través del gateway de RapidAPI. Todo lo demás de esta página es igual.

Solicitudes e historial

GET /v1/live

La ronda más reciente, por mesa.

La ronda más reciente de cada mesa de ruleta de tu plan, en una llamada. Añade ?table= con un table_id para una sola mesa. Cada mesa trae un bloque latest: round_id, number, color, parity, dozen, column, half, timestamp (UTC), backfilled. Un round_id nuevo significa una ronda nueva.

GETapi.gamedata365.com/v1/live
{
  "status": "ok",
  "provider": "custom",
  "tables_count": 1,
  "server_time": "2026-10-26T15:51:30Z",
  "tables": [
    {
      "table_id": "lightning_roulette",
      "table_name": "Lightning Roulette",
      "provider": "evolution",
      "latest": {
        "round_id": "1793029849685535",
        "number": 23,
        "color": "red",
        "parity": "odd",
        "dozen": 2,
        "column": 2,
        "half": "high",
        "timestamp": "2026-10-26T15:50:49Z",
        "backfilled": false
      }
    }
  ]
}

El cero llega con color "green" y parity, dozen, column y half en null: no existen en el cero.

GET /v1/history

Rondas pasadas, la más nueva primero.

Parámetros: table (obligatorio), limit (rondas por página), cursor (el next_cursor de la página anterior), from (opcional, hora ISO: solo rondas desde ese momento).

GETapi.gamedata365.com/v1/history?table=lightning_roulette&limit=2
{
  "status": "ok",
  "table_id": "lightning_roulette",
  "limit": 2,
  "count": 2,
  "next_cursor": "eyJ0cyI6ICIyMDI2LTEwLTI2IDE1OjUz…",
  "rounds": [
    { "type": "round", "round_id": "1793030043142588", "number": 3, "color": "red",
      "parity": "odd", "dozen": 1, "column": 3, "half": "low",
      "timestamp": "2026-10-26T15:54:03Z", "backfilled": false },
    { "type": "gap", "from": "2026-10-26T15:52:20Z", "to": "2026-10-26T15:53:16Z",
      "estimated_missing": 1, "recovered": false, "closure": false },
    { "type": "round", "round_id": "1793029996403575", "number": 0, "color": "green",
      "parity": null, "dozen": null, "column": null, "half": null,
      "timestamp": "2026-10-26T15:52:20Z", "backfilled": false }
  ],
  "history_spins": 500
}

count cuenta rondas, no elementos del array: los marcadores de hueco no cuentan.

GET /v1/crash/live

La ronda más reciente, por juego crash.

La ronda más reciente de cada juego crash de tu plan. multiplier es donde se estrelló la ronda. stale: true significa que el juego no produjo rondas últimamente (age_seconds dice hace cuánto).

GETapi.gamedata365.com/v1/crash/live
{
  "status": "ok",
  "games_count": 1,
  "server_time": "2026-10-26T15:51:30Z",
  "games": [
    {
      "game_id": "lucky_jet",
      "game_name": "Lucky Jet",
      "provider": "1win_games",
      "stale": false,
      "age_seconds": 70.2,
      "latest": {
        "round_id": "luckyjet-1793029820-7070",
        "multiplier": 1.67,
        "timestamp": "2026-10-26T15:50:20Z"
      }
    }
  ]
}

GET /v1/crash/history

Las rondas pasadas de un juego crash, la más nueva primero.

Parámetros: game (un game_id; puede omitirse si tu plan tiene un solo juego crash), limit, cursor. La paginación funciona como en /v1/history.

GETapi.gamedata365.com/v1/crash/history?game=lucky_jet&limit=2
{
  "status": "ok",
  "game_id": "lucky_jet",
  "limit": 2,
  "count": 2,
  "next_cursor": "eyJ0cyI6ICIyMDI2LTEwLTI2IDE1OjUw…",
  "rounds": [
    { "round_id": "luckyjet-1793029820-7070", "multiplier": 1.67, "timestamp": "2026-10-26T15:50:20Z" },
    { "round_id": "luckyjet-1793029804-7069", "multiplier": 33.45, "timestamp": "2026-10-26T15:50:04Z" }
  ],
  "history_spins": 500
}

GET /v1/meta

Tu plan, tu uso, tus mesas.

Las solicitudes y el historial de tu plan, cuándo termina, cuántas solicitudes usaste en este periodo y cada una de tus mesas con cuántos días de historial tenemos.

GETapi.gamedata365.com/v1/meta
{
  "status": "ok",
  "plan": {
    "name": "CUSTOM",
    "requests_per_month": 10000,
    "history_spins": 500,
    "ends_at": "2026-11-25T15:51:30Z"
  },
  "usage": { "requests": 1284, "period": "p:2026-10-26T15:51:30.049Z" },
  "tables": [
    { "table_id": "lightning_roulette", "table_name": "Lightning Roulette",
      "provider": "evolution", "history_days": 98 }
  ]
}

Errores

Cada rechazo dice por qué y qué hacer.

Un error llega como {"status": "error", "error": …, "message": …}. El mensaje indica la solución, con un enlace a tu cuenta cuando sirve. Las llamadas rechazadas no cuentan.

403 invalid_keySin clave, o una que no conocemos. Envía la clave completa en X-API-Key; si dudas, cópiala de nuevo desde tu cuenta.
403 key_replacedCreaste una clave nueva y esta llamada todavía envía la anterior. Copia la clave nueva de tu cuenta en tu app: el mensaje dice cuándo se reemplazó.
403 table_not_entitled · game_not_entitledEsa mesa o juego no está en tu plan. El mensaje lista los que sí están. Añade juegos en tu cuenta.
403 history_not_includedTu plan es solo de resultados en vivo. Añade el historial de giros en tu cuenta.
403 plan_endedLos 30 días de tu plan terminaron. Renuévalo en tu cuenta: la misma clave vuelve a funcionar.
402 window_exceededPediste rondas más antiguas que el historial de tu plan. Pide más recientes o amplía el historial en tu cuenta.
429 quota_exceededLas solicitudes de este periodo se agotaron. Renueva o cambia el plan en tu cuenta (la respuesta trae el enlace en renew).
503 data_staleNuestro feed lleva un rato sin rondas nuevas. Nunca servimos un número viejo como actual; inténtalo en un minuto.

Planes

Elige tus juegos y mira el precio.

Elige los juegos, las solicitudes al mes y cuánto historial. Planes desde $5 al mes, pagados en USDT, o una clave gratis para hasta 3 juegos.