Para developers

API pública

Endpoints REST gratuitos com os dados do site em JSON. Sem autenticação. Cache de 5-10 minutos do lado do servidor — usa com moderação. CORS aberto. Atribuição apreciada (link para este site).

GET/api/v1/seasons

Lista de épocas registadas.

{
  "seasons": [
    { "id": "uuid", "name": "2025/26", "startDate": "2025-08-08", "endDate": "2026-05-24", "isCurrent": true }
  ]
}
GET/api/v1/standings/{seasonId}

Tabela classificativa calculada a partir dos jogos terminados.

{
  "seasonId": "uuid",
  "standings": [
    { "position": 1, "team": { "slug": "benfica", "shortName": "Benfica", ... },
      "played": 1, "wins": 1, "draws": 0, "losses": 0,
      "goalsFor": 2, "goalsAgainst": 1, "goalDifference": 1, "points": 3 }
  ]
}
GET/api/v1/match/{matchId}

Detalhe completo de um jogo: equipas, árbitro, incidentes ordenados por minuto e reviews dos especialistas.

{
  "id": "uuid",
  "kickoffAt": "2025-08-09T19:00:00.000Z",
  "homeScore": 2, "awayScore": 1,
  "homeTeam": { "slug": "benfica", "shortName": "Benfica", ... },
  "incidents": [ { "minute": 23, "type": "penalty", "reviews": [...] } ]
}
GET/api/v1/club/{slug}/stats

Saldo arbitral agregado de um clube. Aceita ?season={id}; sem param usa a época em curso.

{
  "team": { "slug": "benfica", "name": "Sport Lisboa e Benfica", ... },
  "season": { "id": "uuid", "name": "2025/26" },
  "stats": { "favorable": 4, "unfavorable": 2, "balanced": 1, "total": 7, "balance": 2 }
}
GET/feed.xml

RSS feed com as últimas 50 reviews registadas.

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Olho no Lance · Reviews recentes</title>
    <item>...</item>
  </channel>
</rss>

Notas