# Fantasy football transfer planner and comparison bench

> Compare up to four players side by side, check their next five fixtures and injury status, and build a shortlist you can share with your mini league.

- Workflow type: app
- Services: API-Sports, Google Sheets
- Categories: Personal Productivity
- Published: 2026-08-14

## What it does

- Search players by league, club, or position and load their season numbers: appearances, minutes, goals, assists, average rating, and cards.
- Pin up to four players into a side by side comparison so you can see who is actually in better form before you spend a transfer.
- See each player's next five matches with a difficulty score built from the opponent's league position and goals conceded, with every input shown so you can judge it yourself.
- Flag anyone injured or suspended, keep a shortlist with your own notes and a buy, hold, or avoid verdict, and send it to a spreadsheet to share with your mini league.

## What you'll need

- An API-Sports account. The permanent free plan works, and it allows 100 requests a day.
- A Google account with a spreadsheet you can write to, for sharing your shortlist.
- The leagues you follow and the season you are planning for.
- Optional: a tab in your spreadsheet listing your current squad, so the bench can mark the players you already own.

## Prompt

Build me a transfer planning bench for my fantasy football team. It is an app I open before every transfer deadline to work out who to buy, hold, or avoid. All football data comes from API-Sports, and Google Sheets is how I share my shortlist and read back my existing squad.

At the top of the app I pick a league and a season, and every view below follows that selection. Populate the league picker with List Leagues and Cups and keep the result for the session so I am not paying for that lookup twice.

The main view is a player search. I filter by team or position, or type a player name. Search results come from Get Players and Statistics, which is paginated at 20 players per page, so paginate properly and give me a next page control instead of silently dropping players. When I search by surname alone, resolve the name to a player id with List Player Profiles first, then load that player's season numbers with Get Players and Statistics. When I filter by club, let me browse that club's roster with Get Team Squads before loading full statistics. Each result row shows club, position, appearances, minutes, goals, assists, average rating, and yellow and red cards.

I can pin up to four players into a side by side comparison bench that sits next to the search. The bench shows one column per player with minutes, goals, assists, average rating, and cards, and highlights the best value in each row so the comparison reads at a glance. Trying to pin a fifth player asks me to unpin someone first. Pins stay put while I am working in the app.

Under each pinned player, show their club's next five matches, pulled with List Fixtures using the team id and a next five filter. Next to every fixture, show a difficulty score the app works out itself: take the opponent's current league position from Get Standings and the opponent's goals conceded per game from Get Team Statistics, note whether my player's club is home or away, and combine those into a single number on a 1 to 5 scale where 5 is hardest. The score has to be explainable, so display the inputs beside it: opponent name, their league position, their goals conceded per game, and home or away. Include a short line stating the formula in plain words so nobody has to guess. Show the five match run as a colour coded strip too, so an easy patch of fixtures is obvious at a glance, and show the average difficulty across those five matches.

Availability matters more than anything else here. For every player on the bench and on my watchlist, check Get Injuries for the selected league and season and Get Sidelined for that player, then show a clear status badge: available, injured, or suspended, with the reason and expected return when the data includes it. A player who is out must be visibly marked everywhere they appear so I never plan a transfer around someone who cannot play.

Add a form picks tab for the deadlines where I do not know who to look at. Seed it from Get Top Scorers and Get Top Assists for the selected league and season, showing top scorers and top assist providers side by side with goals, assists, minutes, and average rating, and let me pin any of them straight onto the comparison bench.

A watchlist holds the players I have shortlisted. Each entry keeps player name, club, position, my own free text note, and a verdict of buy, hold, or avoid that I set from a small control on the row. The watchlist persists between sessions and is private to me. I can edit the note and the verdict inline, and remove a player from the list.

One button pushes the current watchlist to a Google Sheets tab with Append Values, one row per player carrying player name, club, position, minutes, goals, assists, average rating, availability status, average difficulty of the next five fixtures, my verdict, my note, and the export date. I choose the spreadsheet and the tab. Separately, I can point the app at a tab in my own squad spreadsheet and it reads that tab with Get Values to learn which players I already own, then marks those players as owned everywhere they appear so I can tell a transfer target apart from someone already in my team.

The API-Sports free plan allows only 100 requests a day, so be deliberate about requests. Cache each league's standings and each team's fixture and statistics lookups for the session and reuse them across every player instead of refetching per player. Show a small counter of how many API-Sports requests the session has used, keep search and refresh as explicit actions so nothing fires calls in the background, and give me a way to clear the cache when I want fresh numbers.

Two rules for the copy. The difficulty score is a planning aid built from public league statistics, so present it that way and never as betting advice or a match prediction. And keep the visible text free of em dashes.

## How to customize

- Change which leagues and season the search covers, and how many upcoming matches the fixture strip shows.
- Adjust how the difficulty score weighs league position against goals conceded, or add your own home and away adjustment.
- Point the shortlist export at a different spreadsheet or tab, and change which columns it writes.

## FAQ

### Does this work on the free API-Sports plan?

Yes. The free plan is capped at 100 requests a day, so the bench caches each league's table and fixture lookups for your session and reuses them across every player instead of refetching for each one. It also shows a counter of how many requests the session has used.

### Which leagues does it cover?

Any league included in your API-Sports plan. You pick the league and season at the top of the app, and the search, form picks, and difficulty scores all follow that selection.

### How is the fixture difficulty score worked out?

It combines the opponent's current league position with how many goals they concede per game, and notes whether the match is home or away. The app shows those inputs next to every score, so nothing is hidden behind a black box.

### Is this betting advice?

No. It is a planning tool for fantasy football squads. It shows public match and player statistics and a difficulty aid you can check for yourself, with no predictions or betting recommendations.

### Do I have to connect Google Sheets?

No. The comparison bench and watchlist work on their own. The spreadsheet connection is there so you can push your shortlist to a tab your mini league can read, and so the app can read your existing squad tab to mark players you already own.

Use this prompt in General Input: https://www.generalinput.com/prompts/fantasy-football-transfer-planner-and-comparison-bench