API Dados FutebolComeçar grátis
Menu da documentação

Documentação

Conceitos

Formato das respostas, ids, temporadas, fuso horário, paginação, status e erros.

Formato das respostas

Toda resposta de sucesso usa o mesmo envelope:

Campo Conteúdo
data O recurso ou a lista de recursos
paging Em listas paginadas: next_cursor e limit
meta Quando o seu plano esconde campos: restricted_fields

Ids

Todos os ids são textos opacos com um prefixo de tipo:

Prefixo Tipo
cp_ Competição
mt_ Partida
tm_ Time
pl_ Jogador
vn_ Estádio

Os ids são estáveis. Guarde-os como texto.

Temporadas

As temporadas são identificadas pelo rótulo no parâmetro season, por exemplo season=2025/2026. Sem o parâmetro, a API usa a temporada atual. A lista de temporadas de uma competição está em GET /v1/competitions/{competition_id}/seasons.

Datas e fuso horário

Todas as datas seguem o formato ISO 8601 e vêm em UTC. Envie timezone com um fuso IANA, como America/Sao_Paulo, para receber as datas no seu horário. Os filtros date, from e to também são lidos nesse fuso.

GET /v1/matches?date=2026-11-07&timezone=America/Sao_Paulo

Paginação

As listas aceitam limit (de 1 a 100, padrão 50). Quando existem mais itens, paging.next_cursor vem preenchido: envie esse valor em cursor para buscar a próxima página. Cursor null indica a última página.

GET /v1/competitions/cp_4k6Pew8vntAF/matches?limit=20
GET /v1/competitions/cp_4k6Pew8vntAF/matches?limit=20&cursor=bzoyMA

Status da partida

Status Significado
scheduled Agendada
live Em andamento
finished Encerrada
cancelled Cancelada

Campos restritos pelo plano

Alguns endpoints do PRO têm campos que só são preenchidos a partir do ULTRA, como xG e rating. Nos planos abaixo, esses campos voltam como null e são listados em meta.restricted_fields:

{
  "data": [{ "player": { "id": "pl_...", "name": "..." }, "goals": 12, "xg": null, "avg_rating": null }],
  "paging": { "next_cursor": null, "limit": 50 },
  "meta": { "restricted_fields": ["xg", "avg_rating", "rated_matches"] }
}

Erros

Os erros sempre têm o formato {"error": {"code", "message"}}:

HTTP Código Quando acontece
401 UNAUTHORIZED Credenciais ausentes ou inválidas
403 PLAN_UPGRADE_REQUIRED O endpoint ou a opção exige um plano superior
404 NOT_FOUND Id inexistente, ou previsão e confronto direto não calculados para a partida
422 INVALID_PARAMETER Parâmetro inválido; a mensagem indica qual
429 RATE_LIMITED Muitas requisições por minuto
500 INTERNAL_ERROR Erro inesperado; tente novamente mais tarde
{ "error": { "code": "PLAN_UPGRADE_REQUIRED", "message": "This endpoint requires the PRO plan or higher" } }