FootIndex.
HomeSearchPlayersRankingsCompareCompetitionsPredictStatsNewsAbout
Vote

FootIndex.

FootIndex is a football player search engine — career stats, comparisons, rankings, trophies, and season-by-season data for every player in our database.

  • Search
  • Rankings
  • About
  • Privacy
  • Terms
  • API
  • Contact

© 2026 FootIndex. Stats powered by API-Football. Not affiliated with FIFA, UEFA, or any club.

Developers

API

JSON Route Handlers under /api/*. Pages never call API-Football from the browser — only /api/sync does, with CRON_SECRET.

Endpoints

Auth session routes use Supabase cookies from magic link or Google sign-in.

  • GET/api/health

    Auth: None

    Service health, phase, Supabase/API-Football flags, and sync hints.

  • GET | POST/api/sync?job=players|fixtures|all

    Auth: Bearer CRON_SECRET

    Server-only API-Football → Supabase sync for every player with api_football_id (profiles/seasons or club fixtures).

  • GET | POST/api/players/world?region=all&maxTeams=10

    Auth: Bearer CRON_SECRET

    Bulk-import squads from 45+ clubs worldwide (1 API call/team). Add sync=true for per-player stats (uses many API calls).

  • GET | POST/api/players/catalog

    Auth: Bearer CRON_SECRET

    Seed marquee players from starter catalog (Messi, Ronaldo, Kane, etc.) and sync each.

  • POST/api/players/import

    Auth: Bearer CRON_SECRET

    Body `{ apiFootballId, slug? }` — import one player from API-Football and sync.

  • GET/api/players

    Auth: None

    Database player count + featured comparison summary.

  • GET/api/search?q=&limit=

    Auth: None

    Player search autocomplete — Supabase full-text search (min 2 chars, never Football API).

  • GET/api/stats

    Auth: None

    Career + season stats for both players.

  • GET/api/matches

    Auth: None

    Recent player appearances (up to 5 each) and live-score cards.

  • GET/api/votes

    Auth: None (public tallies)

    Community vote tallies; signed-in users also see their vote.

  • POST/api/votes

    Auth: Session cookie

    Body `{ choice: 'haaland' | 'mbappe' }` — upsert one vote.

  • GET/api/predictions

    Auth: None (summaries)

    Upcoming match prediction summaries.

  • POST/api/predictions

    Auth: Session cookie

    Upsert scoreline + optional first-scorer prediction.

  • GET/api/comments?entityType=&entityId=

    Auth: None

    List comments for player | compare | news | prediction entities.

  • POST/api/comments

    Auth: Session cookie

    Create a comment (`entityType`, `entityId`, `body`).

  • DELETE/api/comments

    Auth: Session cookie

    Delete your own comment.

  • POST/api/likes

    Auth: Session cookie

    Toggle like on a comment (`commentId` UUID).