Football Contract Expiry Radar - Transfermarkt avatar

Football Contract Expiry Radar - Transfermarkt

Pricing

Pay per event

Go to Apify Store
Football Contract Expiry Radar - Transfermarkt

Football Contract Expiry Radar - Transfermarkt

Football players whose contracts end soon, per league and expiry window, with market value, trend, agent and extension options from Transfermarkt end-of-contract lists.

Pricing

Pay per event

Rating

0.0

(0)

Developer

datagrit

datagrit

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours ago

Last modified

Categories

Share

What does Football Contract Expiry Radar - Transfermarkt do?

Football Contract Expiry Radar lists the players whose contracts end soon, league by league, from the Transfermarkt end-of-contract lists. You choose leagues and an expiry window (for example the next six months, or a date range) and get one flat row per player: club, position, age, nationality, contract end date, days until expiry, market value with its latest trend, extension option, fee paid and agency. Export the data as JSON, CSV or Excel, call it through the Apify API, or plug it into n8n, Make and AI agents through MCP.

It is built for scouts, agents, transfer-market analysts, football-manager communities, betting and fantasy researchers who want the free-agent and renewal pipeline of a league without opening hundreds of player profiles.

What can I use the expiring contracts list for?

  • Build a free-agent shortlist for the summer window: goalkeepers under 25 with a market value above 2 million euros whose contract ends within 12 months.
  • Track renewal risk of a squad: players with no extension option whose contract ends in under six months, sorted by market value.
  • Feed a transfer-rumour or betting model with a weekly list of new expiring contracts per league (only-new mode delivers each player once).
  • Find young talent in smaller leagues: maximum age 21, any of 37 leagues, sorted by market value.
  • Compare agencies: the agency of every expiring player is a flat field you can group by.

Example output

playerNameclubNamepositionagecontractEndDatedaysUntilExpirymarketValueEurmarketValueTrendextensionOptionType
Lisandro MartínezManchester UnitedCentre-Back282027-06-3027245000000upunspecified
{
"playerId": "480762",
"playerName": "Lisandro Martínez",
"position": "Centre-Back",
"positionGroup": "Defender",
"age": 28,
"ageAtExpiry": 29,
"nationality": "Argentina",
"clubName": "Manchester United",
"competitionCode": "GB1",
"competitionName": "Premier League (England)",
"contractEndDate": "2027-06-30",
"daysUntilExpiry": 272,
"monthsUntilExpiry": 8.9,
"expiresWithin6Months": false,
"contractOption": "Option for a further year",
"extensionOptionType": "unspecified",
"extensionYears": 1,
"marketValueEur": 45000000,
"previousMarketValueEur": 40000000,
"marketValueTrend": "up",
"feePaidEur": 57370000,
"feeType": "fee",
"agentName": "Score Futbol",
"found": true
}

When nothing matches your window and filters, the dataset holds a single status row with found: false, and the run status says why.

How much does it cost?

You pay per player row returned, with no separate charge for status rows or for players skipped as duplicates. The Maximum results field caps both the dataset and your bill, and the Actor stops at your spending limit. A league and calendar year takes about three to seven page requests, so a typical run for the five biggest leagues finishes in well under a minute. Platform compute for a run like that is a few cents at most.

Input

  • Competitions: Transfermarkt codes such as GB1 (Premier League), ES1 (LaLiga), IT1 (Serie A), L1 (Bundesliga), FR1 (Ligue 1) or ALL for the 37 leagues in the supported list. Other leagues go into Other competition codes.
  • Contract ends within (months) or exact from and until dates.
  • Position groups, nationalities, minimum market value, minimum and maximum age, extension option narrow the list.
  • Include end dates already passed this year adds players whose date has passed but who are still listed.
  • Only players not delivered before returns each player once per filter set.
  • Sort and cut by expiry date or market value, then Maximum results.

FAQ

Where does the data come from?

From the public Transfermarkt end-of-contract lists, the same pages you see in a browser without logging in. The Actor reads them politely, at most two requests at a time with a pause between requests, and retries with backoff.

How fresh is it?

As fresh as Transfermarkt. Contract dates and market values change when the community updates a profile; schedule the Actor daily or weekly and use only-new mode to see changes.

What does extensionOptionType mean?

It is derived from the contract option text: club, both, performance, unspecified or other, and none when the list shows no option. A club option means the contract may run longer than the end date shown.

Why is a player missing?

Only players listed with an end date in the chosen calendar years appear. Loans and players without a published end date are not on those lists, and a player who is dropped by your filters is counted in the run status, not in the dataset.

The Actor collects only publicly visible football data and does not log in or bypass any protection. You are responsible for how you use the data and for complying with the source's terms.

See other data Actors from the same publisher on the Store profile.