A REST API built with FastAPI that provides structured data about players and teams from Inazuma Eleven: Victory Road and all previous games in the series.
Data is automatically scraped and updated monthly from zukan.inazuma.jp and the official player spreadsheet .
🌐 Live API: https://inazumaeleven-api.onrender.com
- 5000+ players across all Inazuma Eleven games
- Player images sourced automatically from the official zukan
- Team emblems for all teams
- Search and filter by name, nickname, ID, game, team, archetype, position, element, gender, role, and age group
- Individual stat endpoints (Power, Control, Technique, Pressure, Physical, Agility, Intelligence, Total)
- Data auto-updates on the 1st of every month via GitHub Actions
InazumaElevenVR_API/
├── main.py # Entry point, registers routers
├── update.py # Run to refresh data manually
├── utils.py
├── data/
│ ├── players.csv # Auto-generated by update.py
│ └── teams.csv # Auto-generated by update.py
└── app/
├── data.py # Loads dataframes
├── scraper.py # Scraping + translation logic
└── routers/
├── players.py
├── teams.py
└── filters.py
| Method | Endpoint | Description |
|---|---|---|
| GET | /players |
All player names |
| GET | /players/{name} |
Player by name |
| GET | /players/nickname/{nickname} |
Player by nickname |
| GET | /players/id/{id} |
Player by ID |
| GET | /players/id/{id}/{stat} |
Single stat by ID |
| GET | /players/{name}/{stat} |
Single stat by name |
| Method | Endpoint | Description |
|---|---|---|
| GET | /teams/ |
All teams |
| GET | /teams/{team_name} |
Team info + players |
| GET | /teams/{team_name}/images |
Team emblem image |
| Method | Endpoint | Description |
|---|---|---|
| GET | /elements/ |
All elements |
| GET | /positions/ |
All positions |
| GET | /positions/{position} |
Players by position |
| GET | /games/ |
All games |
| GET | /ages/ |
All age groups |
| GET | /ages/{age_group} |
Players by age group |
| GET | /genders/ |
All genders |
| GET | /genders/{gender} |
Players by gender |
| GET | /roles/ |
All roles |
| GET | /roles/{role} |
Players by role |
| GET | /archetypes/ |
All archetypes |
| GET | /archetypes/{archetype} |
Players by archetype |
| Method | Endpoint | Description |
|---|---|---|
| GET | / |
API status |
| GET | /all |
All player data |
| POST | /players |
Add a player |
| POST | /teams |
Add a team |
[
{
"ID": 1,
"Image": "https://dxi4wb638ujep.cloudfront.net/1/k/d/w/dwho-wi8ruk.png",
"Name": "Mark Evans",
"Nickname": "Evans",
"Game": "Inazuma Eleven",
"Archetype": "Justice",
"Position": "GK",
"Element": "Mountain",
"Team": "Raimon",
"Power": 126,
"Control": 135,
"Technique": 127,
"Pressure": 137,
"Physical": 147,
"Agility": 155,
"Intelligence": 135,
"Total": 962,
"Age group": "Middle School",
"School year": "Grade 8",
"Gender": "Male",
"Role": "Player"
}
]To manually refresh all player and team data:
uv run python update.pyThis will scrape the latest data from zukan.inazuma.jp, translate all values to English, match player images and team emblems, and save to data/players.csv and data/teams.csv.
Data also updates automatically on the 1st of every month via GitHub Actions.
docker compose build
docker compose upuv sync
uv run uvicorn main:app --reloadAPI will be available at http://localhost:8000.
- FastAPI
- Python 3.14
- Pandas
- BeautifulSoup4 — scraping
- uv — package management
- Docker
- Render — hosting
- GitHub Actions — automated monthly updates
