CuberL/fifa-data-skill

Claude Code skill: query FIFA national team data — standings, points, history, and match results

★ 0Forks 0GitHub ↗Compare

README

fifa-data-skill

A Claude Code skill that queries the public FIFA FDCP API to retrieve national team data — current world standing, points, position movement, historical trends, and recent match results.

No API key or authentication required.


What It Does

Query type What you get
Current standing Position, points, movement vs. previous period, confederation
Historical trend All-time average, best/worst year, per-month breakdown
Recent matches Score, opponent, competition, venue, date — sorted newest first
Full table All countries for any published standing date

How to Install

claude skill add CuberL/fifa-data-skill

How to Use

Ask Claude about any national team using a country name or FIFA alpha-3 code:

What's France's current standing?
Show me Brazil's last 5 matches.
How has China's position changed over the years?
Who is ranked #1 in women's football right now?
Give me the full top 10 men's table.

Trigger keywords

The skill activates when your question mentions:

  • A country's FIFA standing / position / points
  • Position movement or trend
  • Recent match results or match history
  • Men's or Women's FIFA table

Supported Countries

Pass any ISO 3166-1 alpha-3 country code. FIFA uses a few non-standard codes — common ones are listed below.

Country Code Country Code
Argentina ARG Japan JPN
Brazil BRA South Korea KOR
China PR CHN Mexico MEX
England ENG Portugal POR
France FRA Spain ESP
Germany GER USA USA

FIFA uses ENG for England (not GBR) and GER for Germany. If a code returns empty results, try querying /rankings/byCountry/{code} directly — an empty Results array means the code is invalid.


API Reference

All requests hit the public FIFA FDCP API at https://api.fifa.com/api/v3. No auth required.

Endpoints Used

Endpoint Purpose
GET /rankings/byCountry/{code}?gender={1|2} Current standing for a country
GET /rankings/byCountry/{code}/aggregated?gender={1|2} Historical aggregated stats
GET /calendar/matches?idTeam={id}&from={date}&count={n} Match results
GET /rankingschedules/all?type=0&gender={1|2} List all published standing dates
GET /rankingsbyschedule?rankingScheduleId={id} Full table for a given date

Gender values: 1 = Men, 2 = Women

Key Fields

Standing response (Results[0]):

Field Description
Rank Current position
PrevRank Position in previous period
RankingMovement Change (positive = moved up)
DecimalTotalPoints Precise points value
PubDate Publication date of this standing
IdTeam Internal FIFA team ID (required for match queries)
ConfederationName e.g. UEFA, AFC, CONMEBOL

Match response (Results[]):

Field Description
Date Match datetime (UTC)
CompetitionName[0].Description Competition name
Home.TeamName[0].Description Home team
Away.TeamName[0].Description Away team
HomeTeamScore / AwayTeamScore Final score
Winner IdTeam of winner (null if draw)
Stadium.Name[0].Description Venue

Example curl Commands

# Current Men's standing for France
curl -s "https://api.fifa.com/api/v3/rankings/byCountry/FRA?gender=1&language=en" | jq '.Results[0]'

# Women's standing for USA
curl -s "https://api.fifa.com/api/v3/rankings/byCountry/USA?gender=2&language=en" | jq '.Results[0]'

# Historical stats for Brazil
curl -s "https://api.fifa.com/api/v3/rankings/byCountry/BRA/aggregated?gender=1&language=en" | jq .

# Last 5 matches for Argentina (IdTeam must be fetched first)
TEAM_ID=$(curl -s "https://api.fifa.com/api/v3/rankings/byCountry/ARG?gender=1&language=en" | jq -r '.Results[0].IdTeam')
curl -s "https://api.fifa.com/api/v3/calendar/matches?idTeam=${TEAM_ID}&language=en&count=20&from=2024-01-01T00:00:00Z" \
  | jq '[.Results | sort_by(.Date) | reverse | .[0:5][] | {date: .Date[:10], home: .Home.TeamName[0].Description, score: "\(.HomeTeamScore)-\(.AwayTeamScore)", away: .Away.TeamName[0].Description}]'

License

MIT

Contributors

CuberL

Issues