Referência

Referência da API

Os resultados de cada mesa de roleta e jogo de crash do seu plano, em JSON e por HTTPS. URL base: https://api.gamedata365.com. Cinco endpoints, todos GET.

Sua chave

Envie sua chave no cabeçalho X-API-Key em cada chamada (Authorization: Bearer também funciona). Ela está na sua conta, em API, com uma requisição pronta para copiar. Ainda não tem chave? Monte um plano ou pegue uma chave grátis para até 3 jogos.

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())

Assinou pela RapidAPI? Envie X-RapidAPI-Key pelo gateway da RapidAPI. Todo o resto desta página é igual.

Requisições e histórico

GET /v1/live

A rodada mais recente, por mesa.

A rodada mais recente de cada mesa de roleta do seu plano, em uma chamada. Adicione ?table= com um table_id para uma mesa só. Cada mesa traz um bloco latest: round_id, number, color, parity, dozen, column, half, timestamp (UTC), backfilled. Um round_id novo significa uma rodada nova.

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
      }
    }
  ]
}

O zero vem com color "green" e parity, dozen, column e half em null: eles não existem no zero.

GET /v1/history

Rodadas anteriores, a mais nova primeiro.

Parâmetros: table (obrigatório), limit (rodadas por página), cursor (o next_cursor da página anterior), from (opcional, hora ISO: só rodadas a partir dela).

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 conta rodadas, não itens do array: marcadores de lacuna não contam.

GET /v1/crash/live

A rodada mais recente, por jogo de crash.

A rodada mais recente de cada jogo de crash do seu plano. multiplier é onde a rodada caiu. stale: true significa que o jogo não produziu rodadas recentemente (age_seconds diz há quanto tempo).

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

As rodadas anteriores de um jogo de crash, a mais nova primeiro.

Parâmetros: game (um game_id; pode ficar de fora se o seu plano tem um só jogo de crash), limit, cursor. A paginação funciona como em /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

Seu plano, seu uso, suas mesas.

As requisições e o histórico do seu plano, quando ele termina, quantas requisições você usou neste período e cada uma das suas mesas com quantos dias de histórico temos.

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 }
  ]
}

Erros

Cada recusa diz por quê e o que fazer.

Um erro vem como {"status": "error", "error": …, "message": …}. A mensagem indica a solução, com um link para a sua conta quando ajuda. Chamadas recusadas não contam.

403 invalid_keySem chave, ou uma que não conhecemos. Envie a chave inteira em X-API-Key; na dúvida, copie de novo da sua conta.
403 key_replacedVocê criou uma chave nova e esta chamada ainda envia a antiga. Copie a chave nova da sua conta no seu app: a mensagem diz quando a chave foi trocada.
403 table_not_entitled · game_not_entitledEssa mesa ou jogo não está no seu plano. A mensagem lista os que estão. Adicione jogos na sua conta.
403 history_not_includedSeu plano é só de resultados ao vivo. Adicione o histórico de giros na sua conta.
403 plan_endedOs 30 dias do seu plano terminaram. Renove na sua conta: a mesma chave volta a funcionar.
402 window_exceededVocê pediu rodadas mais antigas que o histórico do seu plano. Peça mais recentes ou aumente o histórico na sua conta.
429 quota_exceededAs requisições deste período acabaram. Renove ou mude o plano na sua conta (a resposta traz o link em renew).
503 data_staleNosso feed está há um tempo sem rodadas novas. Nunca servimos um número antigo como atual; tente de novo em um minuto.

Planos

Escolha seus jogos e veja o preço.

Escolha os jogos, as requisições por mês e quanto histórico. Planos a partir de US$ 5 por mês, pagos em USDT, ou uma chave grátis para até 3 jogos.