There is a limit on foreign players, though due to US Labor Law that dictates a green card holders has the same employment rights as an American citizen, players rarely stay "foreign" for all that long. Reality is that the international player cap and the salary cap usually end up in the same place. That said, despite expansion -- and in some cases, because of expansion -- salaries in MLS have grown steadily over the last few years as the league has infused more money into payroll and more aggressive owners have come into the league. In 2016, there were 20 teams and average payroll was $8.7M. In 2019, there were 24 teams, and average payroll was $12.0M. That wasn't all the new teams; it was pretty common in 2016 was team payrolls to be as low as $5M. Nine teams had payrolls under $6M. In 2019, the lowest payroll was $8.6M for the Rapids, and only 7 teams came in under $10M. Add in the academy boom -- where a ton of homegrown Americans are actually coming through -- and the league is likely at its most talented despite having 2.5x teams it had not too long ago.