Partidas ao vivo na prática

Publicado em , atualizado em .

Domingo à tarde, cinco jogos ao mesmo tempo e uma tabela que muda a cada gol. Veja como acompanhar todas as partidas em andamento num endpoint só — e no ritmo certo.

A rodada acontece em paralelo

O futebol brasileiro tem uma característica que muda tudo para quem constrói produto: os jogos são simultâneos.

Numa rodada de Brasileirão, vários jogos começam no mesmo horário. E na reta final do campeonato, quando a briga por título ou contra o rebaixamento aperta, a simultaneidade vira regra oficial — porque um clube não pode entrar em campo sabendo o resultado do concorrente.

Isso cria a cena mais reconhecível do torcedor brasileiro: a televisão num jogo, o celular em outro, e o olho na tabela que muda de posição a cada gol em qualquer um dos gramados. A rodada não é uma sequência de partidas. É um evento único acontecendo em vários lugares ao mesmo tempo.

O que isso exige de quem constrói

Um app de placar não pode tratar “jogo ao vivo” como uma consulta por partida. Se você tem cinco jogos rolando e busca cada um separadamente, são cinco requisições a cada ciclo — e a cota acaba antes do intervalo.

Some a isso o outro problema do tempo real: o gol chega antes da notificação. O torcedor ouve o grito do vizinho, vê o print no grupo do WhatsApp, e só depois seu app avisa. Poucos segundos de atraso são a diferença entre um produto que parece vivo e um que parece quebrado.

O endpoint de partidas ao vivo resolve os dois: uma chamada devolve tudo que está em andamento na base, de qualquer campeonato coberto.

Uma chamada, a rodada inteira

curl https://api.dadosfutebol.com.br/v1/partidas/ao-vivo \
  -H "Authorization: Bearer SUA_CHAVE_AQUI"

Cada partida vem com o essencial para montar um placar em tempo real:

{
  "data": [
    {
      "id": 2895,
      "rodada_numero": 19,
      "time_mandante": { "id": 25, "nome": "Chapecoense", "sigla": "CHA" },
      "time_visitante": { "id": 1, "nome": "Flamengo", "sigla": "FLA" },
      "placar_mandante": 0,
      "placar_visitante": 4,
      "data_hora_realizacao": "2026-07-22T21:30:00-03:00",
      "estadio": "Arena Condá"
    }
  ],
  "meta": { "total": 1 }
}

Os campos placar_mandante e placar_visitante mudam ao longo do jogo; quando a partida termina, ela sai da lista e o status dela vira encerrado nos demais endpoints.

O ritmo certo de polling

A resposta desse endpoint tem cache de 15 segundos no servidor. Consultar a cada 5 segundos não te dá dados mais frescos — só gasta cota. O ritmo ótimo é simples:

  • A cada 15s durante janelas de jogo
  • Pare de consultar quando data vier vazio — não há jogo em andamento
const resposta = await fetch('https://api.dadosfutebol.com.br/v1/partidas/ao-vivo', {
  headers: { Authorization: `Bearer ${chave}` },
});
const { data } = await resposta.json();
const intervalo = data.length > 0 ? 15_000 : 5 * 60_000;

Repare que isso já cobre a rodada de domingo inteira: cinco jogos simultâneos custam o mesmo que um.

De onde vêm os dados

Por trás do endpoint há um monitor de tempo real conectado à nossa fonte primária, que detecta mudança de placar em segundos e ainda grava os lances (gols, cartões, substituições) durante a partida — não só no fim. Ou seja: quando o placar muda aqui, os eventos da partida já contam quem fez o gol.

Se o seu caso de uso é reagir a gol em vez de exibir placar, pare o polling e use webhooks — a API te avisa.