Skip to main content

Partidas

Os endpoints de partidas permitem listar jogos de um campeonato e consultar placares, com suporte a filtros por rodada, status, time e intervalo de datas.

Endpoints disponíveis

O endpoint de listagem por campeonato também está documentado na seção Campeonatos, pois faz parte da hierarquia campeonato → partida.

Status das partidas

Todas as partidas retornam um campo status com um dos seguintes valores:

Cache e atualização


Filtros de partidas por campeonato

O endpoint /v1/campeonatos/:id/partidas aceita os seguintes parâmetros:

Exemplo — partidas encerradas do Flamengo no Brasileirão


GET /v1/partidas/ao-vivo

Retorna todas as partidas que estão acontecendo no momento em qualquer campeonato. Cache de 15 segundos.
Rodada ou fase, nunca as duas. Partidas de pontos corridos vêm com rodada_id/rodada_numero/rodada_nome preenchidos e fase nula. Partidas de mata-mata vêm com os campos de rodada nulos e fase preenchida — o segundo item do exemplo acima. O bloco campeonato é resolvido pelos dois caminhos e nunca falta.

GET /v1/partidas/:id/eventos

Retorna os eventos da partida — gols, gols contra, pênaltis, cartões e substituições — ordenados por minuto, coletados via SofaScore. Cache de 15s (ao vivo) ou 60s.
Valores possíveis de tipo: gol, gol_contra, penalti, cartao_amarelo, cartao_vermelho e substituicao. Em substituições, jogador é quem entrou em campo.

GET /v1/partidas/:id/estatisticas

Retorna as estatísticas da partida por lado (mandante e visitante). São preenchidas a partir do início do jogo e atualizadas ao vivo. Cache de 15s (ao vivo) ou 60s.
Campo null significa não informado pela fonte — o que é diferente de zero. O endpoint responde 404 quando ainda não há nenhuma estatística para a partida.

Estatísticas avançadas

Além dos 17 campos básicos acima, o endpoint traz mais 38 campos vindos do SofaScore. Em partidas cuja fonte é a Globo eles saem null.
Pares _certos / _total. Seis métricas vêm como fração na fonte — cruzamentos_certos: 4 e cruzamentos_total: 13 significam “4 de 13 cruzamentos certos”. O percentual não é devolvido: derive de certos / total. O caso especial é desarmes_certos, cujo denominador é o campo desarmes, e não um desarmes_total.
gols_evitados pode ser negativo. É a métrica goals prevented do goleiro: positivo quer dizer que ele evitou mais gols do que o esperado; negativo, que sofreu mais do que devia. Valores como -0.14 são normais — não trate o campo como contador sem sinal.

GET /v1/partidas/:id/escalacao

Retorna a escalação de cada lado: formação, técnico, titulares e reservas. Fica disponível a partir do pré-jogo, assim que a fonte confirma a escalação. Cache de 15s (ao vivo) ou 60s.
O campo confirmada indica se a fonte já confirmou a escalação. Em titulares que saíram, substituido_por traz o nome de quem entrou, capturando as substituições. Responde 404 quando ainda não há escalação para a partida.