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.
Competition codes to read, for example GB1 (Premier League), ES1 (LaLiga), IT1 (Serie A), L1 (Bundesliga), FR1 (Ligue 1), NL1, PO1, TR1, SA1, GB2. Supported leagues: GB1 Premier League England; GB2 Championship England; ES1 LaLiga Spain; ES2 LaLiga2 Spain; IT1 Serie A Italy; IT2 Serie B Italy; L1 Bundesliga Germany; L2 2. Bundesliga Germany; FR1 Ligue 1 France; FR2 Ligue 2 France; NL1 Eredivisie Netherlands; PO1 Liga Portugal Portugal; TR1 Super Lig Turkiye; BE1 Jupiler Pro League Belgium; SC1 Scottish Premiership Scotland; RU1 Premier Liga Russia; UKR1 Premier Liga Ukraine; GR1 Super League 1 Greece; DK1 Superliga Denmark; A1 Bundesliga Austria; C1 Super League Switzerland; TS1 Chance Liga Czechia; PL1 Ekstraklasa Poland; RO1 SuperLiga Romania; KR1 HNL Croatia; SER1 Super liga Srbije Serbia; BU1 efbet Liga Bulgaria; UNG1 Nemzeti Bajnoksag Hungary; SLO1 Nike Liga Slovakia; ZYP1 Cyprus League Cyprus; SA1 Saudi Pro League Saudi Arabia; QSL Qatar Stars League Qatar; UAE1 UAE Pro League United Arab Emirates; EGY1 Egyptian Premier League Egypt; JAP1 J1 League Japan; AUS1 A-League Men Australia; ISR1 Ligat ha'Al Israel. Each league and calendar year in the expiry window costs about 3 to 7 page requests. Enter ALL to read every league in the list; with a long window this takes many minutes, so raise Maximum run time. For a league that is not in the list, put its Transfermarkt code in "Other competition codes".
Type:string[]
Default:
[
"GB1",
"ES1",
"IT1",
"L1",
"FR1"
]
Other competition codes
customCompetitionCodes
Optional
Optional. Extra Transfermarkt competition codes, for example BRA1 for the Brazilian Serie A or MLS1 for Major League Soccer. The code is the last part of the competition page URL (transfermarkt.com/premier-league/startseite/wettbewerb/GB1 means GB1). Codes Transfermarkt does not recognise are skipped and listed in the run status.
Type:array
Default:
[]
Contract ends within (months from today)
expiringWithinMonths
Optional
Expiry window counted from today: 6 lists players whose contract ends in the next six months, 12 within a year. Used for the end of the window when "Contract ends until" is empty.
Type:integer
Minimum:1
Maximum:60
Default:12
Contract ends from (date)
expiresFrom
Optional
Optional. Earliest contract end date, YYYY-MM-DD. Replaces the start of the window (today). A date in the past returns players whose end date has already passed. When set in the future without "Contract ends until", the window runs the months value from that date.
Type:string
Default:
Contract ends until (date)
expiresTo
Optional
Optional. Latest contract end date, YYYY-MM-DD. Replaces the end of the window.
Type:string
Default:
Include end dates already passed this year
includePastDates
Optional
Transfermarkt keeps players on the list after their end date until the club updates the profile. Turn on to include them from 1 January of this year (marked endDateInPast=true); off starts the window today.
Type:boolean
Default:false
Position groups
positionGroups
Optional
Optional. Keep only these groups: Goalkeeper, Defender, Midfielder, Attacker (case-insensitive; any other value fails the run). Players whose detailed position does not map to a group are dropped when any group is chosen.
Type:string[]
Default:
[]
Nationalities
nationalities
Optional
Optional. English country names as Transfermarkt writes them, for example Spain or Brazil. A player passes when any of their listed nationalities matches (case-insensitive).
Type:array
Default:
[]
Minimum market value (EUR)
minMarketValueEur
Optional
Skip players with a market value below this amount. Players without a listed market value are skipped as soon as a minimum above 0 is set. 0 keeps everyone.
Type:integer
Minimum:0
Default:0
Minimum age
minAge
Optional
Age today in whole years. 0 means no lower limit.
Type:integer
Minimum:0
Maximum:60
Default:0
Maximum age
maxAge
Optional
Age today in whole years, for example 23 for young talents. 0 means no upper limit.
Type:integer
Minimum:0
Maximum:60
Default:0
Extension option
extensionOption
Optional
any keeps all players; withOption keeps players whose contract lists an extension option (a club can extend, so the contract may not really end); withoutOption keeps players with no option listed.
Type:string
Default:any
Options:
anywithOptionwithoutOption
Only players not delivered before
onlyNewSinceLastRun
Optional
Skip players delivered by an earlier run with the same competitions, window and filters (Maximum results, sort order and run time do not count as filters). A player comes back when the end date on Transfermarkt changes. Only players you actually received are remembered.
Type:boolean
Default:false
Sort and cut by
sortBy
Optional
expiryDate returns the nearest end dates first, marketValue the most valuable players first. Maximum results cuts the sorted list, so the order decides which players you keep.
Type:string
Default:expiryDate
Options:
expiryDatemarketValue
Maximum results
maxItems
Optional
Stop after this many players in total. Each player is one billed result.
Type:integer
Minimum:1
Maximum:100000
Default:100
Maximum run time (seconds)
maxRunSeconds
Optional
Hard time budget for reading Transfermarkt (about 0.7 seconds per page request). When reached, the Actor keeps everything read so far and says how many lists it covered in the run status. 0 removes the limit.
Type:integer
Minimum:0
Maximum:86400
Default:600
Proxy configuration
proxyConfiguration
Optional
Optional proxy. Leave disabled unless Transfermarkt blocks datacenter traffic from your run; residential proxy raises the platform cost of the run.